Я не смог использовать второй параметр (%%b
) в первом цикле for для сравнения (if !count! GTR %%b
) во втором цикле for, надеясь, что эксперты помогут, извините за мой английский нехорошо.
Файл text1.txt
# #
#Employee*.PDF,3
School*.PDF,4
Family*.PDF,5
Папка c:\user\text
xxxxxxxxx.pdf
Employee1.pdf
Employee3.pdf
Employee2.pdf
Employee4.pdf
Employee5.pdf
Employee6.pdf
Employee7.pdf
School1.pdf
School3.pdf
School2.pdf
School4.pdf
School5.pdf
School6.pdf
School7.pdf
Общий код:
@Echo off
@SETLOCAL ENABLEDELAYEDEXPANSION
for /f "delims=, tokens=1,2 eol=#" %%a in ('Type text1.txt') do (
set /a count=0
for /f %%x in ('dir C:\user\text\%%a /b') do (
set /a count+=1
if !count! GTR %%b (
del "C:\user\text\%%x"
)
)
)
Я не могу использовать %%b
во втором цикле for.
вывод после прогона All files are deleted
.
но я просто хочу удалить:
Employee4.pdf
Employee5.pdf
Employee6.pdf
Employee7.pdf
School5.pdf
School6.pdf
School7.pdf
Помогите мне, пожалуйста!
Я пытался ... добавить set /a flag=%%b
и изменить сравнительные условия = if !count! GTR !flag!
for /f "delims=, tokens=1,2 eol=#" %%a in ('Type text1.txt') do (
set /a count=0
set /a flag=%%b
for /f %%x in ('dir C:\user\text\%%a /b') do (
set /a count+=1
if !count! GTR !flag! (
del "C:\user\text\%%x"
)
)
)
но вывод !flag! = 5
,
равна его окончательному значению Family*.PDF,5
.