Это кажется легкой задачей, но я не могу решить ее.
У меня есть файл LIST.TXT со следующим:
123456
555789
8888988898
12125
У меня есть большой объем файлов с этими номерами в начале их имен файлов:
123456_wedding1.jpg
123456_wedding2.doc
123456_wedding3.xls
555789_henrysales_horse.jpg
555789_goodtimes.mov
8888988898_33.avi
12125_some long description here.asx
12125_shor desc.asx
12125_shor desc2.xlsx
Я объявляю об отказе: theList, the Source & theDestination и просто хочу скопировать файлы в папку Destination (мне даже не нужны подпапки).
Ниже приведен код, который я пытался адаптировать от других добрых людей:
REM @ECHO OFF
REM **************************************************
REM Adjust location of list
SET "theList=C:\2. List\List.txt"
REM Source dir
SET "theSource=C:\2. Files\"
REM Target dir
SET "theDestination=C:\2. Found\"
REM **************************************************
FOR /F "tokens=1,* delims=|" %%A IN (%theList%) DO (
ECHO.
ECHO %%A - %%B
CALL :copy "%%A - %%B"
)
ECHO.
ECHO Done^!
PAUSE
EXIT
:copy
FOR /R "%theSource%" %%F IN (*) DO (
ECHO "%%~nF" | FINDSTR /C:%1 >nul && COPY "%%~fF" "%theDestination%\%%~nxF" && EXIT /B
)
pause
EXIT /B
Тем не менее, я все еще получаю эту ошибку:
Система не может найти файл C:\2 ..
Похоже, что-то связано с пробелами в файлах или папках, но я не могу это исправить.
Ваша помощь будет высоко ценится