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

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

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

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

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

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

新建文件夹 名为 体育教案 包括以下文件
体育教案00002.txt
……
以此类推
2

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2
    • pcl_test: 举例要适量、适当PB -6

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

回复 2# ivor


    感谢大神。

TOP

  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
复制代码
#&cls&@powershell "Invoke-Expression ([Io.File]::ReadAllText('%~0',[Text.Encoding]::UTF8))" &pause&exit

TOP

返回列表