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

[文件操作] 批处理如何将文件按名称移动汇总至不同的文件夹?

[复制链接]
发表于 2017-9-27 18:04:59 | 显示全部楼层 |阅读模式
请教各位老师:
    现有表格文件若干,命名为4位数字+不同名称,如1010天气不错、1010阳光明媚、1010风和日丽、1020天气糟糕、1020狂风暴雨、1020电闪雷鸣等等,现想根据文件命名前4位数字进行归档,将前4位数字相同的文件移至同一新建文件夹中,此文件夹使用此4位数字命名,如1010文件夹里面包括1010天气不错、1010阳光明媚、1010风和日丽;1020文件夹里面包括1020天气糟糕、1020狂风暴雨、1020电闪雷鸣。
    由于此类文件数量较多,手工处理十分低效,还请大师们鼎力相助,谢谢!
 楼主| 发表于 2017-10-11 08:57:47 | 显示全部楼层
难道无法实现么,求高手们帮忙
发表于 2017-10-12 16:46:49 | 显示全部楼层

  1. @echo off & setlocal enabledelayedexpansion
  2. for /f "usebackq" %%i in (`dir /a /b /s ^|findstr ^^[0-9][0-9][0-9][0-9].*$`) do (
  3.         set str=%%~ni
  4.         set d=!str:~0,4!
  5.         md !d!>nul 2>nul & move %%i !d!
  6.         )
  7.         pause

复制代码
 楼主| 发表于 2017-10-24 15:49:07 | 显示全部楼层
感谢高手指点,不过测试没有成功,不知还有哪些需要注意或自行修改的信息?
发表于 2017-10-24 16:04:18 | 显示全部楼层
本帖最后由 Blitz 于 2017-10-24 16:06 编辑

回复 4# pzr0254


    我都测试成功了,你没成功可能是你的描述不准确
 楼主| 发表于 2017-10-25 11:19:52 | 显示全部楼层
确实,我按描述内容测试也成功了,应该是我实际处理文件名称或数量与代码有些不符,我试着自己调整一下,多谢二位指点,多谢!
发表于 2017-10-29 22:50:39 | 显示全部楼层
  1. @echo off & setlocal enabledelayedexpansion
  2. for /f "tokens=*" %%a in ('dir /a-d /b /s ^|findstr ^[0-9][0-9][0-9][0-9]') do (
  3. for /f "delims=" %%i in ('echo,%%~na^|findstr/b ^[0-9]') do (
  4.         set str=%%~ni
  5.         set d=!str:~0,4!
  6.         if not exist !d! md !d!
  7.         move %%a !d!
  8. ))
  9. pause
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-18 00:15 , Processed in 0.027164 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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