【问题标题】:Add Path to File Name in Batch Delete File在批量删除文件中添加文件名路径
【发布时间】:2014-05-13 17:52:20
【问题描述】:

我正在尝试编写一个批处理脚本来删除文本文件中列出的文件。我让它工作正常(从未编写过批处理脚本)。问题是,我似乎无法弄清楚如何使用相对路径编写它,以便它可以在根目录之外的不同计算机上运行。

我的批处理脚本是:

for /f "delims=" %%f in (List_of_Files.txt) do del "%%f" 

文件列表的结构如下:

payroll_page\cf2_2.gif
payroll_page\chart_e.gif
payroll_page\dollar-06.gif
payroll_page\calendar_files\image001.png

我想要做的是能够从文件夹结构的根目录运行此批处理文件并删除列出的子目录中的文件。在这方面的任何帮助都会很棒,因为我已经用头撞了好几个小时了。

  • 卢多维克

【问题讨论】:

    标签: batch-file batch-processing batch-rename


    【解决方案1】:

    在最简单的情况下:由于您的文本文件行具有相对路径,因此必须从相关文件夹执行批处理文件。

    如果您的文本文件具有完全限定的路径名​​,那么它可以从任何地方启动。

    【讨论】:

    • 我已经尝试过了,但没有成功。我有一个带有 \Test1\Test2\Test.txt 的文本文件,并从 Test1 上面的目录启动它,但它似乎不起作用。
    • 我不知道你尝试了什么。 del "\test1\test2\test.txt" 只会从当前驱动器中删除该确切的 \path\file,如果它存在,并且可以从驱动器上的任何位置启动。你收到Access Denied 错误吗?
    • 不是我看到的,不是。比如我们拿: Bat File Directory C:\Test Text File Content \Test1\Test.txt File to Delete C:\Test\Test1\Test.txt
    • 这是一个愚蠢的问题,但我的 .bat 文件只是运行而不显示任何输出。我必须添加一行以获得输出吗?另外,你自己试过吗?它应该只需要一秒钟。
    • 在底部放置 pause 命令,或打开 CMD 窗口并启动批处理文件。
    【解决方案2】:

    如果您尝试从某个驱动器中删除某些内容,但不像系统文件那样删除,您必须创建一个完全有效的路径。除非文件已经在包含文件的文件夹中,否则您也可以这样做,否则,您可能必须以管理员模式运行文件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-08-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-06
      • 1970-01-01
      • 2014-02-04
      • 2013-11-20
      相关资源
      最近更新 更多