2015-07-23 5 views

ответ

0

Основная команда должна быть чем-то вроде

dir /s /b /a-d *.csv | findstr /v /i /e /c:"\\combinedold.csv" /c:"\\combined.csv" 

Теперь, чтобы включить его в команду for /f, необходимо, чтобы избежать не котируемые специальных символов (например, трубы в данном случае), поэтому она становится

for /f "delims=" %%i in (' 
    dir /s /b /a-d *.csv ^| findstr /v /i /e /c:"\\combinedold.csv" /c:"\\combined.csv" 
') do echo %%i 
+0

Привет, спасибо за быструю помощь :) поэтому поставьте код в мою летучую мышь, но у него все еще есть проблемы ... для конкретной проблемы я могу показать остальную часть кода 'for/f "tokens = *" %% i IN ('dir/b/s * .csv') do ( if! Cnt! == 1 ( more "%% i" >> combined.csv ) else if "%% i" NEQ combined.csv ( больше +1 "%% i" >> combination.csv set/a cnt + = 1' Итак, я хочу объединить все csvs в один csv, который называется comb.csv. При повторном запуске bat-файла он должен игнорировать комбинированный.csv и mixedold.csv, потому что, когда я запускаю битку во второй раз, он перемещает comb.csv в объединенный файл .csv – n1no91

+0

@ n1no91, кажется, что у вас больше всего процесса кодирования. В чем проблема? Вписывается ли он в исходный вопрос? Если нет, пожалуйста, начните новый вопрос по новой проблеме. Комментарии слишком ограничены. –