舌怪 发表于 2023-9-19 20:49

有个批量删除文件的需求,请教下有什么工具或方法吗?

有001~00n这样一系列文件夹,每个文件夹内的结构都是相同的:
子文件夹A,
子文件夹B(内含子文件夹B1、B2),
子文件夹C,
a.txt ,
b.txt


我的需求是,删除001~00n这些文件夹内所有其他文件及文件夹,只剩下B1。这个在windows平台上有什么工具可以做到吗?










sourpotato 发表于 2023-9-19 21:03

写个python 脚本?

舌怪 发表于 2023-9-19 21:06

sourpotato 发表于 2023-9-19 21:03
写个python 脚本?

脚本肯定可以,但我不会……

404489039 发表于 2023-9-19 21:07

不会用ChatGPT 百度的文心一言都能用吧

sourpotato 发表于 2023-9-19 21:11

类似于这样。
import os

def delete_files_in_directory(directory):
    for filename in os.listdir(directory):
      file_path = os.path.join(directory, filename)
      if os.path.isfile(file_path):
            os.remove(file_path)

# 使用示例
delete_files_in_directory('/path/to/directory')

sourpotato 发表于 2023-9-19 21:12

bard.google.com 或者 bing.com/chat 都可以试试看

舌怪 发表于 2023-9-19 21:13

404489039 发表于 2023-9-19 21:07
不会用ChatGPT 百度的文心一言都能用吧

让chatgpt写了好几版,都用不了

schneehertz 发表于 2023-9-19 21:20

本帖最后由 schneehertz 于 2023-9-19 21:27 编辑

xyplorerFree
查找B1,复制,连同路径粘贴到其他文件夹

—— 来自 Xiaomi M2105K81AC, Android 13上的 S1Next-鹅版 v2.5.2-play

袄_偶滴小乔 发表于 2023-9-19 21:41

我怎么觉得按照你的需求,把b1到付复制出来,然后全部删了就行

幻肢痛 发表于 2023-9-19 21:48

bash

gintama426 发表于 2023-9-19 21:51

Everything?把B文件名排除就行了,然后全选删除

极北天琴 发表于 2023-9-19 21:57

换个思路,先把B1剪切走,再删除?

EraserKing 发表于 2023-9-19 23:02

本帖最后由 EraserKing 于 2023-9-19 23:07 编辑

不想另装就PowerShell

Get-ChildItem -Path C:\Temp\* -Exclude B2 -Recursive | Remove-Item

不保证对…

— from Xiaomi MIX 2S, Android 10 of S1 Next Goose v2.5.2-play

a9okalypse 发表于 2023-9-20 00:44

不会用powershell,但是用cygwin或者WSL1写个bash script把所有的b1文件夹复制出来然后删掉剩下的应该很简单

for dir in */; do
    cp -R {$dir}/B/B1 $target_dir
done
页: [1]
查看完整版本: 有个批量删除文件的需求,请教下有什么工具或方法吗?