У меня есть 2 файла, один из которых содержит определенные ключевые слова, а другой содержит список путей. Я хочу найти ключевые слова из первого списка файлов в списке путей к файлам, и, если они найдены, скопировать файлы из указанного пути к определенной целевой папке.
Содержание первого файла
Keyword1
Keyword2
Keyword3
Keyword4
Содержание второго файла
\\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
Для этого я должен написать пакетный скрипт Windows.
================================================== ==========
Извините @ pimp-juice-it, я не уверен, как вставить скриншот. Следовательно, скопируйте вывод ниже -
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> ВЫЗОВ: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 - Копировать (2) .txt "% G IN (55 *) DO ECHO" 55 "d:\Temp_Script\Script> CALL:FileExist" 55 "" D:\Temp_Script\Source\55 - Copy.txt "
Как вы можете видеть, ключевое слово "55" существует в UNC, но условие не проверяется на значение True в цикле FOR, и оно напрямую переходит к следующему UNC. Ниже приведен код -
:FileExist FOR /R "% ~ 2" %% G IN (% ~ 1 *) DO ECHO "% ~ 1"