Если вы откроете cmd.exe и наберете xcopy /?
, вы увидите все действительные ключи, я не уверен, какие команды xcopy вы пробовали, но это должно работать без сомнения:
xcopy /Y "E:\folder paths\file.pdf" "E:\Placetostay"
Мне, однако, интересно, зачем вам нужно добавлять каждую строку в файл, который вы хотите скопировать?Это много ручной работы, настолько, что было бы проще просто скопировать ее вручную.Так почему бы не автоматизировать это?
Вот несколько идей.Этот скрипт выполнит рекурсивный поиск на вашем диске E:\
, если какой-либо файл соответствует имени hotel
, он скопирует его в соответствующий пункт назначения, если только искомый файл не находится в месте назначения, просто потому, что мы не хотимскопируйте файл по его собственному пути снова. Очевидно, что второй вариант сделает это и для restaurants
:
Отели:
@echo off
for /f %%i in ('dir /s /b /a-d *.pdf ^| findstr /i hotel') do (
if not "%%~dpi"=="E:\Placestostay\" xcopy "%%~fi" "E:\Placestostay"
)
Рестораны:
@echo off
for /f %%i in ('dir /s /b /a-d *.pdf ^| findstr /i restaurant') do (
if not "%%~dpi"=="E:\Placestostay\" xcopy /Y "%%~fi" "E:\Placestoeat"
)
Очевидно, что и вышесказанное можно комбинировать.
Затем мы можем сделать то же самое, но позволить вам выбрать, что искать, предложив пользователю критерии поиска:
@echo off
set /p "search=Select search type (hotel, restaurant etc.): "
set /p "destination=Enter the destination to copy to (E:\placestoeat\ etc.): "
for /f %%i in ('dir /s /b /a-d *.pdf ^| findstr /i %search%') do (
if not "%%~dpi"=="%destination%" xcopy /Y "%%~fi" "%destination%"
)
Илианалогично, предварительно определите папку назначения на основе поиска:
@echo off
set /p "search=Select search type (hotel, restaurant etc.): "
if /i "%search%"=="hotel" set "destination=E:\placestostay\"
if /i "%search%"=="restaurant" set "destination=E:\placestoeat\"
for /f %%i in ('dir /s /b /a-d *.pdf ^| findstr /i %search%') do (
if not "%%~dpi"=="%destination%" xcopy /Y "%%~fi" "%destination%"
)