【问题标题】:What does the code mean? (Deleting files and sub folders in a folder with a batch file)代码是什么意思? (用批处理文件删除文件夹中的文件和子文件夹)
【发布时间】:2016-04-13 08:48:52
【问题描述】:
del /s /q "C\:test\*.*"
for /d %%p in (C:\test\*.*) do rmdir "%%p" /s /q

这是我删除文件夹中的文件和子文件夹的代码。它有效,但我不明白每个命令的工作原理。所以我的问题是,第二行是什么意思?比如,%%p 部分是什么,rmdir "%%p" 部分是什么?

这是一个批处理文件。

【问题讨论】:

    标签: batch-file


    【解决方案1】:

    for /d 用于迭代目录。%%p 是用于 for 循环的一种特殊类型的变量 - 在这种情况下,它会将其值更改为 c:\tests 中的每个目录名称。 do 之后的部分意味着对%%p 的每个值执行rmdir(删除目录)。更多信息here

    【讨论】:

      【解决方案2】:

      如有疑问,您应该输入YourCommand /? 来查看每个命令的帮助:

      Del /?

      RD /? or rmdir /?

      For /?

      我添加了一个echo 以查看执行批处理文件时会发生什么:

      @echo off
      Echo This command to delete all files located on your "C\:test\" folder
      Echo del /s /q "C\:test\*.*"
      pause
      echo this command is for looping thru your directory "C\:test\" to remove any subfolders on there
      for /d %%p in (C:\test\*.*) do echo rmdir "%%p" /s /q
      pause
      

      【讨论】:

        猜你喜欢
        • 2012-11-11
        • 2013-10-19
        • 1970-01-01
        • 2018-02-24
        • 1970-01-01
        • 2011-02-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多