删除C:\上的所有acad.lsp实例除外

时间:2011-08-17 07:54:24

标签: exception batch-file

我正在使用以下代码删除在我的C:\驱动器上找到的所有Acad.lsp实例,但我想提出一个例外,即C:\ Autocad 2010 \ Support。

我怎样才能做到这一点?

del "C:\ICT\acad.lsp" /q /a /s 

1 个答案:

答案 0 :(得分:1)

从命令行,您可以使用批处理文件for命令(我假设您在此处使用Windows命令提示符或类似命令)。这是一个强大的命令,可以让你循环一组“事物” - 使用正确的选项,这些“东西”可能是文件。

以下命令在C:\ICT目录中运行时,应该执行您想要的操作:

for /F "usebackq" %a in (`dir /s /b acad.lsp ^| find /v "C:\Autocad 2010\Support"`) do @echo %a

请注意,我在此处使用@echo,以便您可以在将@echo更改为del之前测试结果是否符合预期。

如果您想将其放入批处理文件中,则应将%a更改为%%a

对正在发生的事情做一点解释:

for /F "usebackq" %a in (...)运行后引号之间的命令,并在每个结果项上运行do之后的命令。上面示例中的命令对文件dir执行递归acad.lsp,并通过find命令将其删除以删除要保留的文件。其余文件是您要删除的文件。