Skocz do zawartości

Komenda w cmd na wyszukiwanie tekstu w zawartości pliku .txt


Rekomendowane odpowiedzi

Pomoc jest darmowa, ale proszę rozważ przekazanie dotacji na utrzymanie serwisu: klik.

Jeżeli nie ma żadnych założeń dodatkowych to najprościej:

 

@for /F "tokens=*" %%G in ('dir /a-d /b /s /w d:\katalog\') DO (call :do_set "%%G")
@goto :eof

:do_set
@find /c "text1" %1 && ( ren %1  n1.txt )
@find /c "text2" %1 && ( ren %1  n2.txt )
@find /c "text3" %1 && ( ren %1  n3.txt )

@goto :eof
ale tak forma nie przewiduje powtórzeń ani wewnątrz pliku ani wielu plików, bardziej skomplikowane wyszukiwanie lepiej zrobić skryptem vbs czy podobnym.

 

z kopiowaniem to by było jakoś tak:

@for /F "tokens=*" %%G in ('dir /a-d /b /s /w d:\katalog\') DO (call :do_set "%%G")
@goto :eof

:do_set
@find /c "text1" %1 && ( copy /y %1  d:\n1\%~n1_t1.txt )
@find /c "text2" %1 && ( copy /y %1  d:\n2\%~n1_t2.txt )
@find /c "text3" %1 && ( copy /y %1  d:\n3\%~n1_t3.txt )

@goto :eof
pliki są przenoszone do odpowiedniego katalogu, przy czym plik może się znaleźć w kilku katalogach jeżeli zawiera kilka pasujących ciągów (chyba takie jest założenie?), nazwa nowego pliku jest troszkę bardziej złożona niż w zapytaniu aby uniknąć nadpisania jeżeli więcej niż jeden plik pasuje do wzorca.

 

pzdr

Odnośnik do komentarza

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...