从批处理文件中删除文件给出错误

时间:2009-10-06 11:38:15

标签: batch-file

当我尝试使用批处理文件删除文件时,我遇到错误。 例如,我想要删除的文件是“C:\ test \ a.dll”

我从注册表中获取文件夹“c:\ test”然后我尝试使用以下命令附加文件名并将其删除

del / s%WPINSTDIR%\ a.dll

我从注册表中获取WPINSTDIR,它将是“C:\ test”

然而,当我尝试运行批处理文件时,我收到错误,说明找到了网络路径 这是执行的命令。 del / s“c:\ test”\ a.dll

通过设置环境路径变量,我发现问题在于“c:\ test”和引号中的2个斜杠。无论如何要解决这个问题。

由于

3 个答案:

答案 0 :(得分:3)

尝试使用

pushd %WPINSTDIR%
del /s a.dll
popd

这将恢复以前的目录。

答案 1 :(得分:0)

这可能会:

set current=%CD%
CD /d %WPINSTDIR%
DEL /s a.dll
CD /d %current%

修改
编辑使用CD /d和“%CD% - 技巧”。

答案 2 :(得分:0)

您可以使用以下内容删除环境变量周围的引号:

%WPINSTDIR:"=%

所以以下内容可能有效:

del %WPINSTDIR:"=%\a.dll

但是,如果路径包含空格,则会失败。

您还可以使用以下内容:

call :del_file %WPINSTDIR% a.dll
goto :eof
:del_file
del "%~1\%~2"
goto :eof

即使包含空格的路径也应该有效。 ~中的%~1会删除周围的引号。