我正在寻找一种编写重复删除任务脚本的方法。我们有一个标准的目录模板,重复使用顶级重命名。我想在所有这些目录中定位一个命名文件夹来删除文件,例如
wxyz\TemporaryFiles
acbd\TemporaryFiles
等。我尝试过以下方法:
for /d %%i in (X:\Company\Projects\*) do cd TemporaryFiles && del /f /s /q %%i\*.*
我的语法必须错误,并希望得到一些帮助 - 谢谢。
答案 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
部分在内的这样的消息。