@echo off
rem in the FOR loop %%~Pa is the directory name and %%~Na the file name
for /R %%a in (*.ac) do (
if not exist %%~Pa%%~NaMS.cvw (
copy \fixed\path\%%~NaMS.cvw %%~Pa
echo %%~Pa>> textfile.txt
)
)
ADDENDUM
Простите;возможно, я неправильно понял какой-то момент.Исходя из вашего первого описания, мой код выполняет следующие действия:
FOR для каждого пути \ файла с расширением .ac (например, «foobar.ac»): скопируйте файл с таким же именем плюс «MS»и расширение .cvw (например, «foobarMS.cvw») к тому же пути И сохраните этот путь в текстовом файле, но только если этот файл не существует.
Я вывел последнюю часть («только»если этот файл не существует ") из ваших требований:" Когда я снова запускаю скрипт, было бы неплохо ... не копировать их снова. Или ... просто не копировать команду копирования").
В вашем объяснении четко сказано:" Когда файлы копируются, они должны иметь то же имя, что и файл * .ac без расширения ... ", и" Как только копирование завершеносохранить этот путь в текстовом файле ".Итак, я не понимаю, откуда взялись несколько имен вашего второго примера.
Возможно, ваше первое описание неясно и должно быть:
- Поисккаталог и его подкаталоги для определенного файла с расширением .ac.
- Проверьте этот путь на наличие серии файлов с фиксированными именами с расширением .cvw;каждое имя начинается с того же имени файла .ac, за которым следует одна из следующих строк: cb ia ... mw.Если один из файлов не существует, скопируйте файл. \ Jzitfix.cvw по этому пути и имени.
Если это так, то я не знаю, когда "сохранить этот путьв текстовом файле ": когда копируется каждый файл (повторяется один и тот же путь для каждого отсутствующего файла)?Или только один раз для каждого пути?Или только если хотя бы один из файлов был скопирован?
Пакетный файл ниже является модифицированной версией в соответствии с предыдущим описанием:
@echo off
rem in the FOR loop %%~Pa is the directory name and %%~Na the file name
for /R %%a in (*.ac) do (
for %%b in (cb ia etc mw) do (
if not exist %%~Pa%%~Na%%b.cvw (
copy .\jzitfix.cvw %%~Pa%%~Na%%b.cvw > nul
)
)
)
Если это все еще не то, что вы хотите,тогда, пожалуйста, объясните более подробно и с примерами, что вы хотите!