Nam*_* VU 32 windows-7 command-line batch-file
我需要删除PC 上某个文件夹中的所有bin
&obj
文件夹。所以,我正在考虑一个批处理文件来做到这一点,但我不熟悉 Windows 中的批处理文件。请帮忙。
[编辑]
与用户讨论后DMA57361
,我得到了当前的解决方案(尽管仍有问题,请参阅我们的评论):
创建一个 .bat 文件,并粘贴以下命令:
start for /d /r . %%d in (bin,obj) do @if exist "%%d" rd /s/q "%%d"
Run Code Online (Sandbox Code Playgroud)
或者
start for /d /r . %%d in (bin,obj) do @if exist "%%d" rd /s "%%d"
Run Code Online (Sandbox Code Playgroud)
@DMA57361:当我运行您的脚本时,出现以下错误。任何的想法?
DMA*_*361 43
之前已经在 Stack Overflow上回答了这个问题,这是我从这里得到这个答案的主要内容的地方。
尝试以下命令,您可以从内部运行它cmd
:
for /d /r . %d in (bin,obj) do @if exist "%d" rd /s/q "%d"
Run Code Online (Sandbox Code Playgroud)
如果您需要更改其他文件夹,则只需将新项目添加到(bin,obj)
命令中间的集合中。
这将在没有警告的情况下删除所有匹配的内容,并且不使用回收站- 因此,如果您想要一点额外的安全,/q
请rd
在最后删除调用,系统应该在每次删除之前询问您。
for /d /r . %d in (bin,obj) do @if exist "%d" rd /s "%d"
Run Code Online (Sandbox Code Playgroud)
如果您打算从一个内部运行命令批处理文件,则需要更换变量的每个实例%d
有%%d
,就像这样:
for /d /r . %%d in (bin,obj) do @if exist "%%d" rd /s/q "%%d"
OR
for /d /r . %%d in (bin,obj) do @if exist "%%d" rd /s "%%d"
Run Code Online (Sandbox Code Playgroud)
如果命令拒绝在批处理文件中运行(无法在此处复制),请尝试在命令前加上start
. 虽然这将启动与批处理文件同时运行的进程,这可能会导致其他问题,但它似乎更有可能正常工作。
此外,如果您有已命名的文件obj
或bin
在命令正在处理的文件夹树中,那么您将收到针对遇到的每个具有匹配名称的文件的错误消息。这些匹配的文件不会被删除,也不应该妨碍命令删除它应该删除的内容。换句话说,它们可以被安全地忽略。
归档时间: |
|
查看次数: |
25899 次 |
最近记录: |