批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程
[批处理文件精品]批处理版照片整理器[批处理文件精品]纯批处理备份&还原驱动在线第三方下载
返回列表 发帖

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

本帖最后由 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\)

更多子文件夹...

本帖最后由 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. }
复制代码
提供bat代写,为你省时省力省事,支付宝扫码头像支付
微信: unique2random

TOP

回复 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\

TOP

回复 3# linfeng_321


   好像 没有问题

TOP

回复 2# zaqmlp


    支付宝已支付

TOP

返回列表