Количество файлов, удаленных из пакетного файла - PullRequest
1 голос
/ 23 марта 2009
REM Detect how many files are on the C: drive
dir /s /b C:\ |find /c "\" > NUMfiles.###
set /p count1=<NUMfiles.###

##### TEMP FILES DELETED HERE, RUN CCLEANER, RUN MBAM, ETC #####

REM Calculate Total Files Deleted
dir /s /b C:\ |find /c "\" > NUMfiles.###
set /p count2=<NUMfiles.###
set /a count3=%count1% - %count2%
echo Number of files removed: %count3%

Кажется, это не дает мне точного прочтения. Кто-нибудь может помочь? Я делаю ручную проверку через командную строку, используя 'dir / s / b C: \ | find / c "\"' перед скриптом и в конце. И вывод из '% count3% не точен из моего вычитания из ручных проверок. Надеюсь, вы понимаете мой вопрос.

Ответы [ 2 ]

1 голос
/ 18 августа 2009

Да, как показал snemarch, тот факт, что вы перечисляете все и временные файлы, также может быть добавлен / удален другим процессом, в то же время аннулирует все усилия.

В дополнение к этому добавление "/ ad" к команде "dir" приведет к удалению каталогов из списка, поэтому не нужно добавлять в процесс VonC "find / v" ", если вы настаиваете только на проверке файлов.

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

Мое предложение.

0 голосов
/ 23 марта 2009

Если вам необходимо выполнить итерацию для всего содержимого, эта командная строка может быть более точной, чтобы указать количество файлов (файлов, а не каталогов):

dir /a /s /OG C:\ |find /v "<DIR>" | find /c "M "

Конечно, это предполагает, что dir отображает 'AM' или 'PM'.

Если это не так, следующее должно работать лучше:

dir /a /s /OG C:\ |find /v "<DIR>" | find /c "/"
...