[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

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

[attach]10810[/attach]

就像一楼图里那样,我想把文件名前四位一样的文件放到用前四位命名的文件夹里,比如00010001,00010002,00010003······00010aaa这些文件都放到0001的文件夹里,但是我看到很多要的文件名都是中间有标记的,我这种没有的怎么写?

TOP

@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的,不知道怎么改一下。

TOP

  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.
复制代码

TOP

回复 4# 再世情緣


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

TOP

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

TOP

返回列表