【问题标题】:Delete a file inside subfolder using bat使用bat删除子文件夹内的文件
【发布时间】:2014-01-20 15:09:30
【问题描述】:

我知道要删除的文件所在的子文件夹的名称。子文件夹的名称是“我的子文件夹”,我要在子文件夹中删除的文件是“The-Bad File.txt”。我在“D”驱动器。 “我的子文件夹”位于“Folder-2”“Folder-4”“Folder-54”和“Folder-543”内。我只想搜索这些文件夹以使用“我的子文件夹”中的 .bat 文件删除“Bad File.txt”。

【问题讨论】:

    标签: search batch-file command-line command command-prompt


    【解决方案1】:

    这将删除当前文件夹下所有位置的“Bad File.txt”。

    @echo off
    del /s "Bad File.txt"
    

    【讨论】:

    • 这将从所有文件夹中删除文件。 OP 只想从名为“我的子文件夹”的文件夹中删除
    • 将当前目录设置为“我的子文件夹”,然后调用 del /s "Bad File.txt"。
    • @mihai_mandis "我的子文件夹"位于内部 "Folder-2" "Folder-4" "Folder-54" 和 "Folder-543"。
    • cd "Folder-2\Folder-4\Folder-54\Folder-543\我的子文件夹"
    • 我其实没有“我的子文件夹”的父文件夹。如果我按照您的建议进行操作,它将在整个驱动器中搜索 "Bad File.txt" 。这需要很长时间。
    【解决方案2】:
    for %%a in (2 4 54 543) do echo del "D:\Folder-%%a\My Subfolder\The-Bad File.txt"
    

    如果应该可以删除echo

    €dit:
    如果批处理的起始文件夹位于“我的子文件夹”文件夹之一中,这应该可以:

     for /d %%a in (..\*) do echo del "%%~a\My Subfolder\The-Bad File.txt"
    

    【讨论】:

    • +1,是的,对问题的非常字面解释。我认为 OP 不一定知道“我的子文件夹”的所有位置 - 但经过进一步审查,我意识到这个问题实际上并没有这么说。
    • 看,我不知道“我的子文件夹”的父文件夹。 Folder-2、Folder-4 等是任意示例。
    • 我问的方式不对。因此,欢迎任何更好的编辑。 @dbenham 在他的回答中给出了我的问题的解决方案。感谢其他回复。
    • @Endoro 这也很有帮助。
    【解决方案3】:

    我假设您现在并不总是准确地找到“我的子文件夹”所在的所有位置,并且您想从所有这些位置删除文件。

    for /f "delims=" %%F in ('dir /b /ad /s "d:\My Subfolder"') do del "%%F\The-Bad File.txt"
    

    要从“我的子文件夹”下的所有文件夹中删除文件,您只需在 DEL 命令中添加/S 选项即可。

    for /f "delims=" %%F in ('dir /b /ad /s "d:\My Subfolder"') do del /s "%%F\The-Bad File.txt"
    

    【讨论】:

    • 我想这就是我一直在寻找的答案。请多做一点? “Bad File.txt”不在D:\Folder-x\My Subfolder` in all the cases. Its can be in D:\Folder-x\My Subfolder\xxxx\"` 中,或者可能在D:\Folder-x\My Subfolder\xxxx\yyyyy\" 中,无论如何,应该删除“Bad File.txt”。请帮助;这个答案太接近了..
    • 是的,我已经这样做了。现在它说'访问被拒绝'。以管理员身份运行仍然拒绝访问。
    • @Deb - ???您是否将命令放在批处理脚本中?如果没有,那么您需要在从命令提示符运行时将所有%% 更改为%。如果它试图访问机器上存在的其他用户文件夹,则可能会出现拒绝访问消息。您可以尝试将2>nul 添加到 DIR 命令以抑制错误消息。我不确定如何访问您无权访问的文件夹。这对 SuperUser 来说可能是个好问题。
    • 其实我是把bat编译成exe。然后以管理员身份运行。您的回答确实有帮助,并将期待有关 bat 脚本的进一步帮助。谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-11
    • 2013-12-05
    • 2013-05-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多