Ищите файл и меняйте на другой - PullRequest
0 голосов
/ 06 сентября 2018

Мне нужна помощь, я создал этот код, он ищет файл "filename.txt и, если он находит копию другим", filemame2.txt, но я хочу, чтобы он спросил меня, на каком диске c: \ или d: \ Я хочу найти и изменить файл, который вы нашли. ты можешь мне помочь?

@echo off
echo search...
if exist "filename.txt" (
echo file filename.txt found.
xcopy c:\filename.txt /y filename2.txt
) else (
echo file filemame.txt does not found.
)
echo finished.
echo press any key to exit...
pause >nul

1 Ответ

0 голосов
/ 06 сентября 2018

Есть много разных способов сделать это, используя choice или set /p

Один из способов - просто использовать goto, основываясь на уровне ошибки, установленном choice в выбранном случае, мыпросто используйте буквы C и D, и ввод не требуется, если вы нажмете C или D на клавиатуре, вы выполните команду выбора.

@echo off
echo select the drive where the file should exist..
choice /C CD
if %errorlevel%==2 call goto :ddrive
if %errorlevel%==1 call goto :cdrive
:cdrive
if exist "c:\filename.txt" (xcopy /y "c:\filename.txt" /y "c:\filename2.txt") else (echo C:\filename.txt does not exist)
goto :EOF
:ddrive
if exist "d:\filename.txt" (xcopy /y "d:\filename.txt" "d:\filename2.txt") else (echo D:\filename.txt does not exist)
echo finished.
pause

Видя, как выесть только 2 варианта, второй, если можно исключить, но я оставил его, потому что вы можете добавить больше дисков.

Чтобы получить справку по каждому из них, откройте cmd.exe и ru choice /?, set /? и, если хотите, if /?

На основе вашего комментария, если вы хотите включитьполный путь в вашем приглашении, то есть в приглашении вы должны ввести букву диска и путь, по которому, как вы думаете, существует файл.т.е. c:\some dir:

@echo off
set /p "source=Please enter path to search file :"
set /p "dest=Please enter path to copy file to :" 
if exist "%source%\filename.txt" (xcopy /y "%source%\filename.txt" /y "%dest%\filename2.txt") else (echo C:\filename.txt does not exist)
echo finished.
pause

, если вы хотите найти файл, вам нужно будет использовать dir /a-d /b /s filename.txt и установить его в качестве переменной.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...