小编Joh*_*ott的帖子

批处理文件和DEL errorlevel 0问题

批处理必须从特定位置删除文件和目录,并将成功或stdout/stderr消息输出到新的.txt文件.我创建了大部分脚本,它完全按预期执行,除非删除成功,它会向前移动到下一行,而不是在日志上回显"成功"消息.

echo Basic Deletion Batch Script > results.txt
@echo off
call :filelog >> results.txt 2>&1
notepad results.txt
exit /b

:filelog

call :delete new.txt
call :delete newer.txt
call :delete newest.txt
call :remove c:\NoSuchDirectory

GOTO :EOF

:delete
echo deleting %1
del /f /q c:\Users\newuser\Desktop\%1 
if errorlevel 0 echo succesful

GOTO :EOF

:remove
echo deleting directory %1
rmdir /q /s %1

GOTO :EOF
Run Code Online (Sandbox Code Playgroud)

由于某种原因,我无法找到if del success echo'success'的语法.在上面的示例中,如果我删除该行

if errorlevel 0 echo successful
Run Code Online (Sandbox Code Playgroud)

一切正常,但没有成功的消息.留下这条线就可以说明每一条线的成功.

batch-file echo errorlevel delete-file delete-directory

2
推荐指数
2
解决办法
1万
查看次数