Как добавить существующее имя файла в пакетную команду в цикле for - PullRequest
1 голос
/ 03 апреля 2019

Я пытаюсь создать пакетный файл для проекта, который считывает файлы в каталоге и запускает команду для каждого файла, который каким-либо образом манипулирует файлом (из другой программы).Во время работы программы она сохраняет каждый обработанный файл в выходную папку с расширением «_updated».Как я могу сделать это в моей команде, используя командный файл без расширения файла, становящегося частью имени файла?например, o / p переходит от "Videoa.bin" к "Videoa.bin_updated.bin".Как я могу это исправить?Код ниже!

@ECHO ON

cd [filename]
SET v=output_folder
mkdir %v%

for %%a in ([path to files]*\.bin) do [command, which takes in the following args: 
                                       output file name (the one with the _updated ext),
                                       and input folder(+more)]

PAUSE

1 Ответ

0 голосов
/ 03 апреля 2019

Полагаю, вы смотрите на что-то вроде этого, следующее будет только повторять новое измененное имя файла.

@echo off
set "input=D:\input_folder\"
SET "output=C:\output_folder\"
mkdir %output% > nul 2>&1
for %%a in ("%input%*.bin") do echo "%%~na_update.%%~xa"

Таким образом, исходное имя файла будет %%a имя файла будет только %%~na и расширение будет только %%~xa

Более подробно об этом, я предлагаю вам запустить справку, чтобы увидеть подробности о расширении переменной.

  • for /?

Что касается других частей команды, о которых вы упомянули, я ничего не знаю об этом, поскольку вы не указали никаких подробностей об этом, поэтому вам необходимо выяснить, как он будет соответствовать приведенному выше коду, или отредактировать ваш вопрос.и покажите немного подробнее о том, как вы вручную запускаете команду, чтобы получить помощь по ее автоматизации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...