Board logo

标题: [文件操作] 批处理怎样在多个文件夹里指定文件移动到一个文件夹? [打印本页]

作者: miaojiahong    时间: 2019-6-18 20:51     标题: 批处理怎样在多个文件夹里指定文件移动到一个文件夹?

请教下大神们,我电脑上有个目录存放了多个文件夹,现在的需求是用批处理把1,2,3,4这四个文件夹下面的xlsx文件移动到《归类》里面,跪求批处理,谢谢!
作者: Batcher    时间: 2019-6-18 21:04

test.bat 放在【文件同步工具】文件夹下执行
  1. @echo off
  2. pushd "%~dp0"
  3. for /f "delims=" %%i in ('dir /b /ad') do (
  4.     if "%%i" neq "归类" (
  5.         move /y "%%i" "归类\"
  6.     )
  7. )
复制代码

作者: zaqmlp    时间: 2019-6-18 21:07

  1. @echo off
  2. set info=互助互利,支付宝扫码头像,感谢赞助
  3. rem 有问题,可加QQ956535081及时沟通
  4. title %info%
  5. cd /d "%~dp0"
  6. powershell -NoProfile -ExecutionPolicy bypass ^
  7.     $fd='归类';^
  8.     [void](md $fd -force);^
  9.     $folders=@(dir^|?{($_.Name -ne $fd) -and ($_ -is [System.IO.DirectoryInfo])});^
  10.     for($i=0;$i -lt $folders.length;$i++){^
  11.         $file=@(dir -liter $folders[$i].FullName -r^|?{@('.xlsx' -contains $_.Extension) -and ($_ -is [System.IO.FileInfo])});^
  12.         for($j=0;$j -lt $file.length;$j++){^
  13.             $n=1;^
  14.             $newname=$file[$j].Name;^
  15.             $newfile=$fd+'\'+$newname;^
  16.             while(test-path -liter $newfile){^
  17.                 $newname=$file[$j].BaseName+'('+$n.toString()+')'+$file[$j].Extension;^
  18.                 $newfile=$fd+'\'+$newname;^
  19.                 $n++;^
  20.             };^
  21.             write-host ($file[$j].FullName+' --^> '+$newfile);^
  22.             mv -liter $file[$j].FullName $newfile;^
  23.         };^
  24.     }
  25. echo;%info%
  26. pause
复制代码

作者: miaojiahong    时间: 2019-6-19 14:41

回复 2# Batcher


    您好!我执行了这个批处理之后,会把1,2,3,4这几个文件夹都移动到《归类》文件夹,实际我只需要把这4个文件夹内后缀名为.xlsx文件移动过去就好了,请指教。
作者: Batcher    时间: 2019-6-19 15:35

回复 4# miaojiahong
  1. @echo off
  2. pushd "%~dp0"
  3. for /f "delims=" %%i in ('dir /b /ad') do (
  4.     if "%%i" neq "归类" (
  5.         move /y "%%i\*.xlsx" "归类\"
  6.     )
  7. )
复制代码

作者: miaojiahong    时间: 2019-6-19 18:02

回复 5# Batcher


    好了,没有问题了,谢谢大神!




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2