Mam 2 pliki, z których 1 zawiera określone słowa kluczowe, a drugi zawiera listę ścieżek. Chcę wyszukać słowa kluczowe z pierwszej listy plików na liście ścieżek plików, a jeśli zostaną znalezione, skopiuj pliki z określonej ścieżki do określonego folderu docelowego.
Zawartość pierwszego pliku
Keyword1
Keyword2
Keyword3
Keyword4
Druga zawartość pliku
\\server\path...\Keyword1.txt
\\server\path...\Keyword1_0_1.txt
\\server\path...\Keyword2_0_1.txt
\\server\path...\Keyword2_1_9.txt
\\server\path...\Keyword3_1_0_1.txt
W tym celu muszę napisać skrypt wsadowy systemu Windows.
================================================== ==========
Niestety @ pimp-juice-it Nie jestem pewien, jak wkleić zrzut ekranu. Dlatego skopiuj i wklej wyniki poniżej -
d: \ Temp_Script \ Script> FOR / R "D: \ Temp_Script \ Source \ 33.txt"% G IN (55 *) DO ECHO "55" d: \ Temp_Script \ Script> CALL: FileExist "55" "D: \ Temp_Script \ Source \ 44.txt "d: \ Temp_Script \ Script> FOR / R" D: \ Temp_Script \ Source \ 44.txt "% G IN (55 *) DO ECHO" 55 "d: \ Temp_Script \ Script> WEZWANIE: FileExist „55” „D: \ Temp_Script \ Source \ 55.txt” d: \ Temp_Script \ Script> FOR / R „D: \ Temp_Script \ Source \ 55.txt”% G IN (55 *) DO ECHO ” 55 "d: \ Temp_Script \ Script> CALL: FileExist" 55 "" D: \ Temp_Script \ Source \ 55 - Copy (2) .txt "d: \ Temp_Script \ Script> FOR / R" D: \ Temp_Script \ Source \ 55 - Kopiuj (2) .txt "% G IN (55 *) DO ECHO" 55 "d: \ Temp_Script \ Script> CALL: FileExist" 55 "" D: \ Temp_Script \ Source \ 55 - Copy.txt "
jak widać słowo kluczowe „55” istnieje w UNC, ale nadal warunek nie sprawdza się w True w pętli FOR i przechodzi bezpośrednio do następnego UNC. Poniżej znajduje się kod -
: FileExist FOR / R "% ~ 2" %% G IN (% ~ 1 *) DO ECHO "% ~ 1"