У меня есть папка, ежедневно получающая файлы вычислений. Иногда приходит несколько файлов. Я хочу выполнить пакетный скрипт для всех из них в цикле. Файлы могут иметь разные имена, но могут содержать только три расширения: .ta, .tb, .tc.
Я пытаюсь запустить пакетный сценарий для всех них, переименовать файлы, чтобы они содержали метку времени, и перейти в папку архива. Я пробовал несколько комбинаций из нижеприведенного, но не могу понять:
cd C:\test\files
FOR %%x IN (*.ta, *.tb, *.tca) DO (
call C:\test\batches\combine.bat
move %%x "C:\test\archive\calculations.txt-%date:/=-%_%time::=-%"
)
. В вышеупомянутом случае объединение .bat не выполняется должным образом, и файл не перемещается. Тем не менее, когда я запускаю его следующим образом, он запускает объединение .bat и перемещает файл. Но если у меня есть два файла, объединение .bat выполняется на обоих, а второй не перемещается в папку архива:
FOR /R C:\test\files %%x IN (*.ta, *.tb, *.tca) DO (
call C:\test\batches\combine.bat
move %%x "C:\test\archive\calculations.txt-%date:/=-%_%time::=-%"
)
Проблема в том, что в C: \ test \ files и других папках есть другиеЯ хочу, чтобы файл Combine.bat запускался только для этого конкретного пути, а не для каких-либо подпапок. Не удается ли это, потому что я изменил каталог в начале на C: \ test \ files, а затем цикл вызывает другой каталог?
Благодарим вас за помощь.