Board logo

标题: [文件操作] 根据文件名的前四位字符建立文件夹然后将前四位相同的文件移动到这个文件夹中 [打印本页]

作者: 紫林阁主    时间: 2017-8-10 15:59     标题: 根据文件名的前四位字符建立文件夹然后将前四位相同的文件移动到这个文件夹中

[attach]10810[/attach]
作者: 紫林阁主    时间: 2017-8-10 16:03

就像一楼图里那样,我想把文件名前四位一样的文件放到用前四位命名的文件夹里,比如00010001,00010002,00010003······00010aaa这些文件都放到0001的文件夹里,但是我看到很多要的文件名都是中间有标记的,我这种没有的怎么写?
作者: 紫林阁主    时间: 2017-8-10 17:35

@echo off&setlocal enableDelayedExpansion
2>nul (for %%a in (*) do if "%%~xa"=="" set a=%%a&md !a:~0,4!&move "%%a" !a:~0,4!)
我看以前版主帮别人写过一个,但是那个是没有文件扩展名的,我这个是.jpg的,不知道怎么改一下。
作者: 再世情緣    时间: 2017-8-10 18:32

  1. @echo off&setlocal enableDelayedExpansion
  2. for /f "delims=" %%a in ('dir /b /a -d /s "*.jpg" 2^>nul') do (
  3. set "a=%%~na"
  4. md "!a:~0,4!" >nul 2>nul
  5. move "%%~fa" "!a:~0,4!"
  6. )
  7. pause.
复制代码

作者: 紫林阁主    时间: 2017-8-17 17:02

回复 4# 再世情緣


    谢谢大佬,还有个问题就是,这个命令放到上层文件夹下运行的时候新建的文件夹都跑到原来的文件夹外面了,因为我这个文件夹是分好几层保存的,所以我想能不能改动一下,命令放在顶层文件夹下运行,但生成的文件夹还是在原来保存文件的文件夹内。
作者: 172043209    时间: 2017-8-17 18:00

这个问题在前面的帖子里面有,我曾经发帖求助过,楼主搜索可取。




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