Я хочу обработать несколько файлов журнала .csv, которые находятся в следующем каталоге
C: \ MYFILES
Этот каталог может также содержать подкаталоги с файлами под ними. Мне нужно перечислить полный путь всех файлов .csv, которые в настоящее время не записываются.
У меня проблема в том, что я не знаю, как определить, используются ли файлы (чтобы я мог избежать их обработки).
Я могу без проблем перечислить файлы, используя приведенную ниже команду, но, к сожалению, я не могу найти механизм, позволяющий избежать вывода списка файлов, которые используются / заблокированы.
dir "C: \ Myfiles * .csv" / s / b> C: \ Output \ files_to_process.txt
Эта команда ищет все подкаталоги и печатает полный путь всех файлов .csv.
До сих пор я использовал robocopy с флагом резервного копирования / B (в режиме администратора) для временного перемещения файлов во временный каталог
ROBOCOPY C: \ Myfiles \ C: \ Output \ temp / mov / S / B * .csv
Команда robocopy, приведенная выше, игнорирует используемые файлы. После этого я могу успешно запустить команду dir, чтобы получить полный путь к файлам, которые мне нужно обработать
dir "C: \ Output \ temp * .csv" / s / b> C: \ Output \ files_to_process.txt
Процесс, как вы видите, утомителен. Я предлагаю более простой способ перечислить полные пути файлов, которые не используются, без их копирования. Возможно ли это в Windows?