Я хочу написать партию, которая находит все документы менее 50 мб в c:\
и копирует их в папку , но игнорирует системный каталог документов. Я предпочитаю, чтобы он даже не искал в системном каталоге.команда forfiles игнорировать каталог
Вот моя партия, которая находит и копирует все файлы менее 50 мб в правый каталог, но я не могу заставить его игнорировать систему из поиска или C:\Windows
.
@ECHO off
:: variables
SET odrive=%odrive:~0,2%
SET backupcmd=xcopy /s /c /d /e /h /i /r /y
MKDIR "C:\Users\Documents\USBBackups\DOC\C"
forfiles /P C:\ /M *.DOC* /S /C "cmd /c if @fsize leq 50000000 echo @PATH " > "C:\Users\Documents\USBBackups\DOCC.txt"
FOR /F "tokens=*" %%a in (C:\Users\Documents\USBBackups\DOCC.txt) do xcopy %%a "C:\Users\Documents\USBBackups\DOC\C" /c /h /i /r /y
@ECHO off
Большое спасибо за вашу помощь. у вас есть подсказка для повышения производительности и скорости кода. –
Добро пожаловать!Я не могу улучшить производительность подхода, используя вложенные петли 'for'; однако, чтобы сделать это быстрее, вы могли бы исключить больше папок (например, 'C: \ Program Files'); или другая идея состоит в том, чтобы не исключать (а) определенные папки, но включать только выделенные папки, потому что это также может уменьшить общее количество папок ... – aschipfl
спасибо за подсказку, кстати, как я могу сохранить результат ваш однострочный код (для/D ...) в файл .txt, такой как файл в моем коде forfiles. я действительно пытался, но он перезаписывал блокнот в каждом цикле. –