我一直在尝试运行这个愚蠢的 BAT 文件并遇到问题:我想将其传递给目录的路径并删除其中的所有内容(文件夹/文件(。但是,bat文件只会删除当前所在的所有内容。我相信问题在于参数未设置,但我不明白我哪里出错了。
命令:
delete.bat "C:deleteme"
尝试通过以下方式设置参数:
SET deletePath = %~1
SET deletePath = "%~1"
SET deletePath = %1
SET deletePath = "%1"
回显参数永远不会打印传递的值。
if "%~1"=="" goto BLANK
if NOT "%~1"=="" goto DELETE
:BLANK
ECHO Need delete path passed as parameter
TIMEOUT 10
END
Exit
:DELETE
SET deletePath = %~1
echo %deletePath%
pause
del %deletePath%. /F /Q
rmdir /s .q %deletePath%
END
exit
批处理
对SET
语句中的空格很敏感。 SET FLAG = N
将名为"FLAG Space"的变量设置为">SpaceN"的值
所以 - 删除错误的空格