使用参数路径删除文件

时间:2017-03-30 14:25:28

标签: batch-file

我一直试图让这个愚蠢的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 

1 个答案:

答案 0 :(得分:2)

批处理对SET语句中的空格敏感。 SET FLAG = N将名为“FLAG Space ”的变量设置为值“ Space N”

所以 - 删除错误的空格