2013-07-16 2 views
3
@Echo Off 
    for /R directory %%F IN (*.js) DO ( 
     // delete the string 'Success' if written in the file ??? 
     echo %%~nF >> Output.txt 
     echo Success >> Output.txt 
    ) 

См. В строке 3: Как удалить строку «Успех» в том же файле, если найден.Как удалить или заменить строку в текстовом файле

Строка 5: она всегда записывает success в конце файла.

BTW Я могу добиться того же, записав «успех» в файл только из цикла, но у меня есть такой сценарий, где я должен применить эту логику.

+0

Если это поможет, я могу помочь вам сделать это в C# ... –

+0

Пакет - ужасный язык для этого. Вы можете выбрать другой язык? Что касается строки 5: вы должны переместить эту строку за пределы цикла, если вы хотите это сообщение только в конце 'Output.txt'. –

+1

@ AnsgarWiechers Line 5 еще более сложна из-за обработки нескольких файлов. Вне цикла это не решение ... – foxidrive

ответ

1

вы можете использовать findstr слово, чтобы сделать это. попробовать

findstr /v "Success" infile.txt > outfile.txt 

две вещи:

  • "> outfile.txt" будет передавать результаты в файл outfile.txt вместо печати их на консоль. (Обратите внимание, что он будет перезаписывать файл, если он существует. Вместо этого используйте «>> outfile.txt», если вы хотите добавить.)
  • Возможно, вы также захотите добавить переключатель/i для совпадения без учета регистра.
Смежные вопросы