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

[文本处理] [已解决]批处理如何提取文件部分内容为文件名?

本帖最后由 511182890 于 2015-4-17 15:11 编辑

提取文件部分内容为文件名并创建该文件,且把文件移动到该文件
例:e盘下文件
E:\ZX1011-TB1875-147主料(0.5)双向.DXF
E:\ZX1011-GB1201-147主料(0.5)双向.DXF
需要的结果:
E:\TB1875\ZX1011-TB1875-147主料(0.5)双向DXF
E:\GB1201\ZX1011-GB1201-147主料(0.5)双向.DXF
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

本帖最后由 tigerpower 于 2015-4-5 23:15 编辑
  1. for /f "delims=- tokens=1,2*" %i in ('dir /b') do (mkdir "%j" && move "%i-%j-%k" "%j")
复制代码
1

评分人数

TOP

回复 2# tigerpower


    代码配色有种小清新之感

TOP

回复 2# tigerpower


    你好,我对批处理一点也不通,麻烦直接帮我做成批处理的所有代码好吗,那样我只要复制到。TXT我另存到。BAT直接运行就可以了,麻烦了。

TOP

  1. @echo off
  2. pushd E:\
  3. for /f "delims=- tokens=1,2*" %%i in ('dir /a-d /b') do (mkdir "%%j" && move "%%i-%%j-%%k" "%%j")
复制代码

TOP

回复 5# tigerpower


    这个好像如果很多文件要移到同一个文件夹的时候,只能移动一个,而且重复运行也不会移动。

TOP

回复 5# tigerpower


    只要有文件夹存在了,就不会把文件移进存在的文件中。

TOP

回复 7# 511182890
后面的改为
move /y "%%i-%%j-%%k" "%%j"

TOP

回复 8# pcl_test


    /y   加了之后结果与不加一样的。

TOP

回复 4# 511182890

10楼说的对,把 && 改成 &

TOP

回复 10# tigerpower


    谢谢,终于成功了。

TOP

谢谢各位的解答,已经OK了

TOP

回复 12# 511182890


    问题得到解决后请在标题最前面注明[已解决]
http://www.bathome.net/thread-3473-1-1.html

TOP

回复 13# pcl_test


    你好,还有个问题,就是不一定是当前E盘,有可能是任意盘下的所有文件

TOP

本帖最后由 pcl_test 于 2015-4-13 15:49 编辑

回复 14# 511182890
去掉pushd E:\,把批处理跟要处理的文件放在一起运行即可,you can try

TOP

返回列表