标题: [文件操作] 批处理怎样删除子目录同名文件? [打印本页]
作者: iii888iii 时间: 2022-4-15 09:44 标题: 批处理怎样删除子目录同名文件?
指定一个文件夹
该文件夹,根目录有一个xlsx文件
1,获取名称
5-1案例4(注)_中文_2011年04月18日01时45分_中文_中文_663793_180403_298[忽略].xlsx
注:文件名称不确定
获取得到的名称: 5-1案例4(注)_中文_2011年04月18日01时45分_中文_中文_663793_180403_298[忽略].xlsx
2,查找多个子目录是否有相同的文件,如果有,仅删除"子目录"的相同文件. 注:子目录文件名称不确定
保留:根目录文件
补充说明了一下.
有朋友会弄吗
作者: 5i365 时间: 2022-4-15 10:35
回复 1# iii888iii
另存为ANSI编码的BAT文件,
放到要处理的文件夹的同一文件夹执行(不要放到目录里)
- #@&cls&powershell "gc '%~f0'|out-string|iex"&pause&exit
-
- $Folder = "B" #指定文件夹名
- $File = "5-1案例4(注)_中文_2011年04月18日01时45分_中文_中文_663793_180403_298[忽略].xlsx" #指定Xlsx文件名
-
- cd ".\$Folder"
- gci -Filter $File -rec | ? { $_.DirectoryName -ne $PWD } | del
复制代码
作者: iii888iii 时间: 2022-4-15 10:43
回复 2# 5i365
文件名是这个,可以删除,时间10多秒.
不过, 文件名,是不确定的,要获取... 文件夹名称也要获取. 是我没说清,
还是要说感谢.
作者: 5i365 时间: 2022-4-15 10:48
本帖最后由 5i365 于 2022-4-15 10:49 编辑
回复 3# iii888iii
只有一个xlsx文件? 如果只有一个, 可以用下面的代码
作者: 5i365 时间: 2022-4-15 10:48
回复 3# iii888iii
- #@&cls&powershell "gc '%~f0'|out-string|iex"&pause&exit
-
- $Folder = "B" #指定文件夹名
- cd ".\$Folder"
- $File = (gi *.xlsx).Name
- gci -Filter $File -rec | ? { $_.DirectoryName -ne $PWD } | del
复制代码
作者: 5i365 时间: 2022-4-15 10:53
本帖最后由 5i365 于 2022-4-15 11:19 编辑
回复 3# iii888iii
文件夹如果也需要获取, 也获取xlsx, 把这个BAT放到要处理的文件夹里执行
- #@&cls&powershell "gc '%~f0'|out-string|iex"&pause&exit
-
- (gci '*.xlsx').name |
- %{
- gci -Filter $_ -rec | ? { $_.DirectoryName -ne $PWD } | del
- }
复制代码
作者: qixiaobin0715 时间: 2022-4-15 10:59
- @echo off
- cd "指定文件夹"
- for %%a in (*.xlsx) do (
- for /d %%i in (*) do (
- pushd "%%i"
- for /f "delims=" %%j in ('dir /s /b /a-d "%%a"') do del "%%j"
- popd
- )
- )
- pause
复制代码
作者: iii888iii 时间: 2022-4-15 11:11
感谢大家 2个代码都可以实现. qixaobin0715 效率高,
作者: Batcher 时间: 2022-4-15 13:28
回复 7# qixiaobin0715 - @echo off
- cd /d "%~dp0"
- for %%a in (*.xlsx) do (
- for /d %%i in (*) do (
- del /s /f /q "%%i\%%a"
- )
- )
复制代码
作者: qixiaobin0715 时间: 2022-4-15 13:54
回复 9# Batcher
del /s /f /q "%%i\%%a"
原来非完整路径也行啊!!!学到了。
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |