首页 > 解决方案 > 为编辑工具编写批处理脚本程序?

问题描述

我的任务是创建一个编辑工具,在编辑之前保存。我需要做的是让用户输入文件名。如果该文件存在于目录中,则应使用扩展名 .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

标签: windowsbatch-filecmd

解决方案


您有 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 /?

推荐阅读