CMD或批处理文件;删除与当前工作文件夹

时间:2016-11-28 08:35:50

标签: batch-file cmd

我有一个工作目录,例如; \ ABC123 \ WIP \ ABC_0123456789 * .XML。 在一个过程中,ABC_0123456789的内容在当前工作目录之外是ZIPPED;所以在WIP文件夹中的这个例子中;

目录现在看起来像;

  1. \ ABC123 \ WIP \ ABC_0123456789 \
  2. \ ABC123 \ WIP \ ABC_0123456789.zip
  3. 是否可以使用命令获取文件夹名称" ABC_0123456789" (或当前工作目录)和"如果存在"删除ZIP" ABC_0123456789.zip"在根目录(上面的目录)?

2 个答案:

答案 0 :(得分:0)

编辑

根据您的评论,您需要的是:

del "%CD%.zip" 2> nul

如果zip文件存在并且与当前工作目录同名,它将删除它。如果它不存在,2> nul将重定向错误消息,您将看不到它。您仍然可以使用ERRORLEVEL来检查zip是否真的存在(如果存在则为0,如果不存在则为1)。

如果您首先检查是否存在,则可以使用

IF EXIST "%CD%.zip" del "%CD%.zip"

这只会在zip存在的情况下执行删除

EDIT2 @LotPings让我注意到我忘记添加的内容。当变量表示路径的一部分时,用"包围它是非常重要的,以防它可能包含空格。

答案 1 :(得分:0)

在WIP \子文件夹内的命令行中:

for %A in ("%CD%") do If exist "..\%~nA.zip" Del "..\%~nA.zip"

在批处理中,您必须将for var的百分号加倍:

for %%A in ("%CD%") do If exist "..\%%~nA.zip" Del "..\%%~nA.zip"

root指的是驱动器的根\,你的意思是父目录 修改如果路径中有空格,请更好地引用("%CD%")