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

[文本处理] 批处理如何根据文件名的前几位字符将文件移动到以这些字符命名的文件夹?

[复制链接]
发表于 2010-10-21 11:49:48 | 显示全部楼层 |阅读模式
本帖最后由 pcl_test 于 2016-9-27 13:16 编辑

我看到有一篇类似的帖子是http://www.bathome.net/redirect.php?fid=5&tid=8551&goto=nextoldset
不过他的文件名有分隔符,而我的文件名就是字符串,例如

778891.jpg
778865a.gif
7789hjk.jpg
7790uijlj.jpg
......


我想做到根据前四位新建文件夹并移动文件,如778891.jpg和778865a.gif 移动到7788文件夹;
7789hjk.jpg 移动到7789;7790uijlj.jpg移动到7790


上面的帖子方法可以借鉴,我获取了半天文件名都不成功,因为是初学者,希望大家帮忙
发表于 2010-10-21 12:10:52 | 显示全部楼层
  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "delims=" %%a in ('dir /b /a-d') do (
  3.    set "x=%%~a"
  4.    set x=!x:~0,4!
  5.    if not exist !x! md !x!
  6.    move "%%~a" !x!\
  7.    )
  8. pause
复制代码
 楼主| 发表于 2010-10-21 13:02:17 | 显示全部楼层

回复 2楼 的帖子

好迅速啊,测试通过了,谢谢啦。
不过不太懂('dir /b /a-d')的意思。还有%%a 和%%~a的区别是什么啊?“!”是什么意思?
dos就会简单的打开运行,希望解释一下啊。
发表于 2010-10-21 13:40:21 | 显示全部楼层
学好基础自然就知道了,都是基础内容
 楼主| 发表于 2010-10-21 14:00:33 | 显示全部楼层

回复 4楼 的帖子

恩,好,谢谢啊~~~
发表于 2010-10-21 14:15:17 | 显示全部楼层

回复 3楼 的帖子

建议到教学区找几个基础教程看看
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-20 23:13 , Processed in 0.032530 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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