Я использую скрипт из этой темы accepted answer from Mofi. Сценарий копирует папки и сохраняет их в текстовом файле, чтобы исключить однократно скопированные папки при следующем запуске.Batch - найти строку в текстовом файле и удалить полную строку
Иногда у меня есть папки под названием [incomplete]-different.names
, и я не хочу копировать эти папки. Я хочу, чтобы все папки со строкой [incomplete]-
и имя позади были пропущены или даже не записаны в текстовый файл %CurrentList%
для дальнейшей обработки.
Это мои предыдущие попытки, но до сих пор я не мог встать и работать со сценарием сверху. Помощь будет приятной, и спасибо заранее.
Попробуйте 1:
for /f "delims=" [incomplete]-%%D in ("%CurrentList%") do ( set str=%%D set str=!str: =! set str=!str: %%D =! echo !str!
Попробуйте 2:
findstr /v /b /c:"[incomplete]-"%%D" "%CurrentList%" del "%%D"
'findstr' использует регулярные выражения и' ['и'] 'являются символами регулярного выражения. Не видя примеров того, что вы пытаетесь отфильтровать, мы не знаем, какие символы нужно обрабатывать. Кроме того, 'find.exe' - более простой фильтр. Но без точной информации вы часто не получите хороший совет. – foxidrive