Windows 批处理文件因没有明显原因而崩溃
我正在制作一个简单的批处理文件,将我的文件夹备份到一个外部硬盘,我遇到了一些麻烦。我以前做过这些类型的脚本,但显然那是很久以前的事了,因为我不知道为什么下面的脚本总是崩溃。我想这和IF语句有关,但我看不出有什么错。如果你能帮我,那就太好了。请原谅所有额外的回声和东西,我只是喜欢我的脚本看起来不错Windows 批处理文件因没有明显原因而崩溃,windows,batch-file,Windows,Batch File,我正在制作一个简单的批处理文件,将我的文件夹备份到一个外部硬盘,我遇到了一些麻烦。我以前做过这些类型的脚本,但显然那是很久以前的事了,因为我不知道为什么下面的脚本总是崩溃。我想这和IF语句有关,但我看不出有什么错。如果你能帮我,那就太好了。请原谅所有额外的回声和东西,我只是喜欢我的脚本看起来不错 @echo off title System Backup cls echo. echo System Backup echo. set c= set /P c=Are you sure you wan
@echo off
title System Backup
cls
echo.
echo System Backup
echo.
set c=
set /P c=Are you sure you want to back up? [Y/N]
echo %c%
pause
if /I "%c%" EQU "Y" (
echo.
echo Copying Documents...
ROBOCOPY "D:\Ryan\Documents" "F:\Ryan\Documents" /mir
echo.
echo Copying complete.
echo.
pause
exit
} else (
echo.
echo Cancelling backup...
echo.
pause
exit
}
请尝试以下版本:
@echo off
title System Backup
cls
echo.
echo System Backup
echo.
set /P c=Are you sure you want to back up? [Y/N]
echo %c%
if /I "%c%"=="Y" (
echo.
echo Copying Documents...
ROBOCOPY "D:\Ryan\Documents" "F:\Ryan\Documents" /mir
echo.
echo Copying complete.
echo.
pause
exit
) else (
echo.
echo Cancelling backup...
echo.
pause
exit
)
我只是用
)
更改了2结尾的}
,如果删除第一行,您应该会看到它在哪里崩溃。如果从命令行运行脚本而不是双击它,则可以读取任何错误消息。请做这两件事,让我们知道你看到了什么,以便我们能给你更好的帮助。我忘了说我已经尝试了你提到的两个建议,但都没有产生任何结果。当我以@echo off
在CMD中运行时,它只会返回到C:\Users\Ryan\Desktop提示符。@Rrrrry123看到下面我的答案。您更改了什么?你的看起来和我的一样,哈哈。@Rrrrry123我的荣幸。你总是忽略了一些小的语法问题。如果您的语句看起来很好,那么您的变量将被检出,请查看括号、括号及其位置等。)