Переименовать расширение пакетного файла после выполнения

Мне было интересно, есть ли способ изменить расширение файла пакетного файла (.bat) после его выполнения. Так, например, я хочу выполнить abc.bat. После того, как пакетный файл сделает то, что должен, он переименует себя, изменив .bat на .txt. Возможно ли это??


person user715578    schedule 20.04.2011    source источник
comment
Какое это имеет отношение к C++, Python или C?   -  person jonsca    schedule 20.04.2011
comment
@mu Спасибо. Я просто не знал, есть ли какой-то скрытый аспект в вопросе, который не поднял ОП.   -  person jonsca    schedule 20.04.2011


Ответы (1)


Я только что попробовал. Это довольно просто. В конце пакетного файла добавьте:

ren %~dp0\abc.bat abc.txt

Здесь %~dp0 указывает путь к вашему пакетному файлу, как я уже упоминал здесь.

Обратите внимание, что это должен быть самый последний шаг выполнения командного файла.

person joce    schedule 20.04.2011
comment
В итоге я нашел другой метод. ржунимагу. спасибо! Большая признательность! - person user715578; 20.04.2011
comment
Хотите поделиться этим другим методом? - person joce; 20.04.2011
comment
Вы можете просто переименовать %~dpnx0 вместо кодирования имени командного файла. И поместите его в кавычки, чтобы защитить от пробелов в пути. - person Joey; 20.04.2011
comment
Я использую аналогичный скрипт для удаления BAT-файла после операции. Для архивирования я использую (goto) 2>nul & ren "%~dpnx0" *.bak в качестве последней строки. - person James Moberg; 15.06.2017