Board logo

标题: [文件操作] [已解决]批处理如何实现将文件移动到以其文件名去除/删除最后5个字符后命名的文件夹中 [打印本页]

作者: crownking1983    时间: 2016-5-22 02:13     标题: [已解决]批处理如何实现将文件移动到以其文件名去除/删除最后5个字符后命名的文件夹中

本帖最后由 crownking1983 于 2016-5-23 12:33 编辑

批处理如何实现将每个文件分别移动到以每个文件名去除最后4个字符后命名的对应文件夹中?
描述有些抽象,其实理解起来很简单,举个实例——
有这样一大堆文件全放在同一个总文件夹里:
思想政治科目教案00001.txt
体育教案00002.txt
数学代数教案00003.txt
美术课教案00004.txt
……

由于文件名汉字长度不统一,但是后面都是统一格式的5个数字结尾的,所以想以每个文件去掉最后五个数字为文件夹名新建文件夹,然后文件各自移动到对应的文件夹中的bat批处理命令,双击后实现——

新建文件夹 名为 思想政治科目教案 包括以下文件
思想政治科目教案00001.txt

新建文件夹 名为 体育教案 包括以下文件
体育教案00002.txt
……
以此类推
作者: ivor    时间: 2016-5-22 10:30

  1. @echo off&setlocal ENABLEDELAYEDEXPANSION
  2. REM 如果不需要递归子目录,请吧/s 去掉
  3. for /f "delims=" %%a in ('dir /s /b *.txt') do (
  4. set file=%%a
  5. md "!file:~0,-9!"
  6. move "%%a" "!file:~0,-9!"\
  7. )
  8. pause
复制代码

作者: crownking1983    时间: 2016-5-22 11:54

本帖最后由 crownking1983 于 2016-5-22 11:58 编辑

回复 2# ivor


    感谢大神。




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2