找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 15692|回复: 4

【已解决】【50元红包】指定目录,查找最底层子文件夹,返回两层文件夹删除该文件夹

  [复制链接]
发表于 2022-6-24 10:32:40 | 显示全部楼层 |阅读模式
本帖最后由 linfeng_321 于 2022-6-24 12:43 编辑

指定目录,查找最底层子文件夹,返回两层文件夹删除该文件夹(包含该文件夹里所有文件和文件夹)
--------------------------------------

可以设置多个目录:
.\111\222
.\111\333

可以设置返回几层文件夹数字
2

该目录下多层子文件夹:
aaa\bbb\ccc\ddd\eee\(结果为:aaa\bbb\ccc\)
bbb\ccc\ddd\eee\fff\ggg\hhh\(结果为:bbb\ccc\ddd\eee\fff\)
444\555\6666\777777\88\9999\123222\567890\(结果为:444\555\6666\777777\88\9999\)

更多子文件夹...
发表于 2022-6-24 11:43:56 | 显示全部楼层
本帖最后由 zaqmlp 于 2022-6-24 11:45 编辑
  1. <# :
  2. cls&echo off&cd /d "%~dp0"&mode con lines=5000
  3. powershell -NoProfile -ExecutionPolicy bypass "Get-Content -literal '%~f0'|Out-String|Invoke-Expression"
  4. pause
  5. exit
  6. #>
  7. $level=2;

  8. $folders=@(
  9. ".\111\222",
  10. ".\111\333"
  11. );

  12. $reg='(\\[^\\]+){'+$level.ToString()+'}$';
  13. for($i=0;$i -lt $folders.length;$i++){
  14.     if(test-path -literal $folders[$i]){
  15.         $folders1=@(dir -literal $folders[$i] -recurse|?{$_ -is [System.IO.DirectoryInfo]});
  16.         for($j=0;$j -lt $folders1.length;$j++){
  17.             $folders2=@(dir -literal $folders1[$j].FullName|?{$_ -is [System.IO.DirectoryInfo]});
  18.             if($folders2.length -eq 0){
  19.                 $fd=$folders1[$j].FullName -replace $reg,'';
  20.                 if($fd -ne $folders1[$j].FullName){
  21.                     if(test-path -literal $fd){
  22.                         write-host $folders1[$j].FullName -NoNewline;
  23.                         write-host ' --> ' -NoNewline;
  24.                         write-host $fd -ForegroundColor yellow;
  25.                         remove-item -literal $fd -recurse -force -ErrorAction SilentlyContinue;
  26.                     }
  27.                 }
  28.             }
  29.         }
  30.     }else{write-host ('"'+$folders[$i]+'" not found');}
  31. }
复制代码
 楼主| 发表于 2022-6-24 12:33:57 | 显示全部楼层
回复 2# zaqmlp


    会把目录删除,请大佬修改下,我再试试

.\111\222\aaa\bbb\ccc\ddd\eee\(结果为:.\111\222\\aaa\bbb\ccc\)
.\111\222\bbb\ccc\ddd\eee\fff\ggg\hhh\(结果为:.\111\222\bbb\ccc\ddd\eee\fff\)
.\111\222\444\555\6666\777777\88\9999\123222\567890\(结果为:.\111\222\444\555\6666\777777\88\9999\)

上面的路径使用下面目录代替
.\111\222\
 楼主| 发表于 2022-6-24 12:42:39 | 显示全部楼层
回复 3# linfeng_321


   好像 没有问题
 楼主| 发表于 2022-6-24 12:43:15 | 显示全部楼层
回复 2# zaqmlp


    支付宝已支付
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 04:11 , Processed in 0.017252 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表