написание программы в пакетном скрипте для инструмента редактирования? - PullRequest
1 голос
/ 07 мая 2019

Мое задание - создать инструмент редактирования, который будет сохранен перед редактированием. Что мне нужно сделать, это заставить пользователя ввести имя файла. Если файл существует в каталоге, он должен сделать резервную копию с расширением .bak. в каталоге, а затем перейти к его редактированию. Если он не существует, то он не создаст резервную копию

Вот что я сделал, но я не уверен, что это правильно:

:: turn the echo off
@echo off
:: ask the user to enter a filename then store it in a variable FILE 
set /p FILE= What File Do You Wish to Edit? 
:: check if the FILE exists 
if EXIST %FILE (
:: back it up 
copy %A%A.bak) 
:: to open file use notepad 
notepad %A

1 Ответ

0 голосов
/ 07 мая 2019

У вас есть один из 2 вариантов.

@echo off
set /p "FILE=What File Do You Wish to Edit? "
if EXIST %FILE% (
        copy "%FILE%" "%FILE%.bak"
        notepad "%FILE%"
   ) else (
        echo Sorry, "%FILE%" does not exist.
)

Выше будет проверено, существует ли файл, затем создайте копию, добавив расширение bak после текущего расширения, т.е. file.txt.bak

В этом примере используется цикл for для создания имени файла с новым расширением.

@echo off
set /p "FILE=What File Do You Wish to Edit? "
for %%i in (%FILE%) do if exist %FILE% (
        copy "%%~ni" "%%~ni.bak"
        notepad "%FILE%"
   ) else (
        echo Sorry, "%FILE%" does not exist.
)

Чтобы узнать больше о том, что здесь сделано, откройте cmd и получите файлы справки для следующих команд:

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