Как удалить расширение .bat из имени файла в параметре?

2099
Ferit Uzun

Я сделал batфайл и во время исполнения он отображает заголовок в окне команд.

Название включает имя файла bat, и оно отображается полностью, включая .batрасширение.

Код, который я использую для этого, показан ниже (см. TitleКоманду в 5-й строке).

Имена, которые я использовал:

  • Имя файла: Facebook.bat
  • Заголовок (строка 5): Hacking %~nx1 Called Domainчто Hacking Facebook.bat Called Domainвыводится в строке заголовка.

Я хочу, чтобы заголовок был прочитан Hacking Facebook Called Domain.

Как мне это сделать?

Мой файл летучей мыши:

@echo off color 0d call :sub *.bat :sub Title Hacking %~nx1 Called Domain echo Test 1 timeout /t 2 echo Test 2 timeout /t 2 echo Completed timeout /t 2 exit 

enter image description here

4
Не ясно, чего вы пытаетесь достичь. В Windows расширение файла обычно используется для распознавания типа файла. Файл bat не будет работать, если вы удалите расширение. Если вы говорите о том, чтобы просто скрыть это, скрыть это где? Это единственное расширение, которое вы хотите скрыть? Скрыто только для этого файла? fixer1234 9 лет назад 0
Привет, добро пожаловать в SuperUser. Я отредактировал ваш вопрос, чтобы сделать его более понятным. Если что-то кажется неправильным, не стесняйтесь [редактировать] это. ᔕᖺᘎᕊ 9 лет назад 0
нет я не хочу удалить расширение bat я хочу удалить .bat из заголовка Ferit Uzun 9 лет назад 0
Кто-нибудь мне помочь? Ferit Uzun 9 лет назад 0
Я не понимаю заглавную часть. Какое название, где и как оно используется? fixer1234 9 лет назад 1
http://tinypic.com/view.php?pic=2akljwl&s=8 Ferit Uzun 9 лет назад 0
просто удалите часть .bat Ferit Uzun 9 лет назад 0

1 ответ на вопрос

10
ᔕᖺᘎᕊ

Скриншот сделал вопрос намного яснее.

Я вижу, вы используете, %~nx1чтобы показать имя файла в заголовке командной строки, которая отображается.

Чтобы использовать имя файла без расширения, вместо использования %~nx1используйте %~n0.

то есть:

@echo off color 0d call :sub *.bat :sub Title Hacking %~n0 Called Domain echo Test 1 timeout /t 2 echo Test 2 timeout /t 2 echo Completed timeout /t 2 exit 

Я получил %~n0от здесь .

Похожие вопросы