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

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

本帖最后由 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


上面的帖子方法可以借鉴,我获取了半天文件名都不成功,因为是初学者,希望大家帮忙

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

TOP

回复 2楼 的帖子

好迅速啊,测试通过了,谢谢啦。
不过不太懂('dir /b /a-d')的意思。还有%%a 和%%~a的区别是什么啊?“!”是什么意思?
dos就会简单的打开运行,希望解释一下啊。

TOP

学好基础自然就知道了,都是基础内容

TOP

回复 4楼 的帖子

恩,好,谢谢啊~~~

TOP

回复 3楼 的帖子

建议到教学区找几个基础教程看看
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

返回列表