找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 23515|回复: 5

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

[复制链接]
发表于 2017-8-10 15:59:57 | 显示全部楼层 |阅读模式
 楼主| 发表于 2017-8-10 16:03:49 | 显示全部楼层
就像一楼图里那样,我想把文件名前四位一样的文件放到用前四位命名的文件夹里,比如00010001,00010002,00010003······00010aaa这些文件都放到0001的文件夹里,但是我看到很多要的文件名都是中间有标记的,我这种没有的怎么写?
 楼主| 发表于 2017-8-10 17:35:24 | 显示全部楼层
@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:47 | 显示全部楼层
  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:54 | 显示全部楼层
回复 4# 再世情緣


    谢谢大佬,还有个问题就是,这个命令放到上层文件夹下运行的时候新建的文件夹都跑到原来的文件夹外面了,因为我这个文件夹是分好几层保存的,所以我想能不能改动一下,命令放在顶层文件夹下运行,但生成的文件夹还是在原来保存文件的文件夹内。
发表于 2017-8-17 18:00:58 | 显示全部楼层
这个问题在前面的帖子里面有,我曾经发帖求助过,楼主搜索可取。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-19 23:34 , Processed in 0.017304 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表