Я пытаюсь изменить имя выходного файла, fOut, в файле bat, но пока не повезло.Как изменить имя выходного файла в файле bat?
Я разрабатываю Windows 7 и развертываю код на сервере Windows 2003.
код выглядит следующим образом:
set fName=%1
set fExt=%fName:~-5,-1%
set fOut=%fName:~0,-5%_PAD%fName:~-5%
Примеры FOUT:
abcdc2evv_PAD.dat
abcdefgh33ij_3737_PAD.dat
Как я могу изменить FOUT, чтобы получить следующие имена файлов?
А. Добавление FMT_ в начале имени файла:
FMT_abcdc2evv_PAD.dat
FMT_abcdefgh33ij_3737_PAD.dat
B. Добавление FMT_ в начале имени файла и удалить _PAD до того .dat:
FMT_abcdc2evv.dat
FMT_abcdefgh33ij_3737.dat
Добавление: Только один аргумент передается файлу bat: путь + имя файла.
x.bat "C\test\xxx.dat"
В файле летучей мыши:
@echo ^-input file name = ^%1
set fName=%1
set fExt=%fName:~-5,-1%
set fOut==%fName:~0,-5%_PAD%fName:~-5%
Я пробовал код ниже, но получил сообщение об ошибке. set fOut = FMT_% fName: ~ 0, -5% _PAD% fName: ~ -5% "в ExecuteCommand. ErrorMessage: неверно имя файла, имя каталога или тома." – user2142250
В моей спешке я использовал пустой файл, который код исключает из обработки. После использования файла, имеющего одну строку данных, я обнаружил, что этот код, установленный fOut = FMT_% fName: ~ 0, -5% _PAD% fName: ~ -5%, работает. С другой стороны, этот код, set fOut =% FMT_% fName: ~ 0, -5% _PAD% fName: ~ -5%, не работает. Он создает пустой файл с именем fName. – user2142250