1

我有一个批处理文件,它删除 .jpg 文件的所有属性,然后删除该目录中的 jpg(s)。非常适合翻录音乐。我的MY MUSIC文件夹中有很多目录。我想把我DelHiddenJpg.bat的放在MY MUSIC目录中并运行它,让它在所有子目录中执行这些命令。这就是在DelHiddenJpg.bat

attrib -S -H *.jpg
Del *.jpg

有没有办法做到这一点而不必DelHiddenJpg.bat放入每个子目录?

4

1 回答 1

4

attrib /S递归地执行子目录。

del /S也递归地执行子目录。

因此,如果您想坐在“我的音乐”目录中并进行递归删除,您可以这样做

attrib /S -S -H *.jpg
del /S *.jpg

还有del /F- 强制删除 - 它可能允许您在不先更改属性的情况下删除。

还要检查del /Q- 安静模式 - 这会抑制删除 (Y/N) 问题。

顺便说一句,attrib -S(不同于attrib /S),删除系统属性 - 不知道为什么你的 jpg 会设置系统属性。

另一方面,如果我误解了您的问题并且您不想执行递归删除,但只想一次执行一个目录,但又不想在每个子目录中都有批处理文件的副本,那么这就是你可以做的。

  • 你的批处理文件应该有你原来的命令(没有/S
  • 将批处理文件保存在任何特定目录中(例如 . inc:\binc\batch)并将此目录添加到您的路径中 - 如果您希望它为打开的任何新命令窗口自动设置,您可以从控制面板->系统中执行此操作。
  • 无论您想在哪个目录中运行它,只需 cd 到该目录并运行DelHiddenJpg- 它将从路径中获取。
于 2013-05-10T20:54:26.913 回答