批处理从一个文件夹中的n个子文件夹里移动指定类型文件夹到第一级目录

2025-02-22 14:05:56
推荐回答(4个)
回答1:

  • 脚本放在分区根目录执行.

  • 只处理分区第4级子目录(全路径为5级目录,盘符是一级目录)指定类型(示例为TXT)文件.

  • 看得懂的,自己修改文件类型(第2行)和目录级数(第12行).

  • @set @n=0/*&echo off
    dir /a-d/s/b *.txt|cscript -nologo -E:jscript "%~f0"
    pause&exit */

    var fso=new ActiveXObject('scripting.FileSystemObject');
     
    while(!WSH.StdIn.AtEndOfStream)
    {
    path=WSH.StdIn.ReadLine();
    var count=0
    path.replace(/\\/g, function(){count++;});
    if(count!=5) continue;

    var NewPath=path.replace(/^(\w:\\[^\\]*).*\\([^\\]*)\\[^\\]*$/g,'$1\\$2\\')
    if(!fso.FolderExists(NewPath)) fso.CreateFolder(NewPath);
    fso.MoveFile(path, NewPath);
    }

回答2:

@echo off 
for /d %%a in ("d:\a\*") do (
for /d %%b in ("%%a\*") do (
for /d %%c in ("%%b\*") do (
move "%%c" "d:\a\"
)
)
)

回答3:

不了噗噗噗噗噗噗

回答4:

我有的,可以分享给你,,戳我的头像看