删除重复目录位置中包含的文件

时间:2017-04-02 16:04:41

标签: batch-file

我正在寻找一种编写重复删除任务脚本的方法。我们有一个标准的目录模板,重复使用顶级重命名。我想在所有这些目录中定位一个命名文件夹来删除文件,例如

wxyz\TemporaryFiles  
acbd\TemporaryFiles

等。我尝试过以下方法:

for /d %%i in (X:\Company\Projects\*) do cd TemporaryFiles && del /f /s /q %%i\*.* 

我的语法必须错误,并希望得到一些帮助 - 谢谢。

2 个答案:

答案 0 :(得分:2)

代码中的主要问题是,一旦 <servlet> <servlet-name>Jersey Web Application</servlet-name> <servletclass>org.glassfish.jersey.servlet.ServletContainer</servlet-class> <init-param> <param-name>jersey.config.server.provider.packages</param-name> <param-value>testing.jaxrs.Messages</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>Jersey Web Application</servlet-name> <url-pattern>/webapi/*</url-pattern> </servlet-mapping> 被执行,因为它未被还原,其余的cd操作将在错误的位置执行。

尝试

cd

也就是说,对于for /d %%i in ("X:\Company\Projects\*") do ( pushd "%%~fi\TemporaryFiles" && ( rmdir . /s /q popd ) ) 文件夹中的每个文件夹,将当前活动目录更改为找到的文件夹+子文件夹Projects并删除其中的任何内容。完成后,还原目录更改并继续下一个文件夹

答案 1 :(得分:1)

简单:

for /d %%i in ("X:\Company\Projects\*") do del /f /s /q "%%i\TemporaryFiles\*.*"

如果某些目录没有TemporaryFiles文件夹,则会显示错误消息。你可以在最后压制包括2>nul部分在内的这样的消息。