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

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

[复制链接]
发表于 2015-4-13 13:09:09 | 显示全部楼层
回复 14# 511182890
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /l %%I in (65,1,90) do (
  4. cmd /c exit %%I
  5. pushd !=exitcodeascii!:\ 2>NUL && for /f "delims=- tokens=1,2*" %%i in ('dir /a-d /b') do (mkdir "%%j" & move "%%i-%%j-%%k" "%%j")
  6. )
复制代码
 楼主| 发表于 2015-4-13 13:23:14 | 显示全部楼层
回复 15# pcl_test


    你好,我上面的这个问题,从第一“-”开始取5位,这样行吗
比如:
E:\ZX1011-GB1201三位-147主料(0.5)双向.DXF
结果:
E:\GB1201\ZX1011-GB1201-147主料(0.5)双向.DXF

@echo off
pushd E:\
for /f "delims=- tokens=1,2*" %%i in ('dir /a-d /b') do (mkdir "%%j" & move /y "%%i-%%j-%%k" "%%j")
这个代码是处理二个“-”之间的,帮忙加于更改一下。
 楼主| 发表于 2015-4-13 13:24:13 | 显示全部楼层
回复 16# tigerpower


        你好,我上面的这个问题,从第一“-”开始取5位,这样行吗
比如:
E:\ZX1011-GB1201三位-147主料(0.5)双向.DXF
结果:
E:\GB1201\ZX1011-GB1201-147主料(0.5)双向.DXF

@echo off
pushd E:\
for /f "delims=- tokens=1,2*" %%i in ('dir /a-d /b') do (mkdir "%%j" & move /y "%%i-%%j-%%k" "%%j")
这个代码是处理二个“-”之间的,帮忙加于更改一下。
发表于 2015-4-13 15:53:24 | 显示全部楼层
本帖最后由 pcl_test 于 2015-4-14 09:19 编辑

回复 17# 511182890
把批处理跟要处理的文件放在一起运行即可
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "tokens=1,2* delims=-" %%i in ('dir /a-d /b *.dxf') do (
  4. set "n=%%j"
  5. md "!n:~,6!" 2>nul
  6. move "%%i-%%j-%%k" "!n:~,6!"
  7. )
  8. pause
复制代码
 楼主| 发表于 2015-4-14 09:00:04 | 显示全部楼层
回复 19# pcl_test


    这个代码在当前目录运行之后会自动创建一个以“~,5”命名的文件夹!
发表于 2015-4-14 09:11:09 | 显示全部楼层
本帖最后由 pcl_test 于 2015-4-14 09:12 编辑

回复 20# 511182890
改为 dir /a-d /b *.dxf
 楼主| 发表于 2015-4-14 09:17:23 | 显示全部楼层
回复 21# pcl_test


   我又不知道怎么,哪一行改为dir /a-d /b *.dxf   所以还是要麻烦大神帮我写整个代码


还有:
比如:
E:\ZX1011-D1-GB1201三位-147主料(0.5)双向.DXF
结果:
E:\GB1201\ZX1011-D1-GB1201-147主料(0.5)双向.DXF
这个怎么实现,就是第二个“-”开始取6位做文件名
发表于 2015-4-14 09:19:39 | 显示全部楼层
回复 22# 511182890
19楼已改
 楼主| 发表于 2015-4-14 10:16:27 | 显示全部楼层
回复 23# pcl_test


    谢谢19楼的已经OK,


新问题:
比如:
E:\ZX1011-D1-GB1201三位-147主料(0.5)双向.DXF
结果:
E:\GB1201\ZX1011-D1-GB1201-147主料(0.5)双向.DXF
这个怎么实现,就是第二个“-”开始取6位做文件名
中间多了“--D1”
发表于 2015-4-14 10:34:22 | 显示全部楼层
回复 24# 511182890
把你的dxf所有文件名的格式都列出来,如
1-2-3.DXF
1-2-3-4.DXF
 楼主| 发表于 2015-4-14 10:43:08 | 显示全部楼层
回复 25# pcl_test


AD101-D1-PKD1818-140背料(2米62)倒顺.dxf
AD101-D1-PKD1822横排-140副料(1米57)双向.dxf
FT505-D3-PLD1809-142副背料(0米75)双向.dxf
BSJ101-D3-PKD1885横排-140主料(1米21)倒顺.dxf


差不多就全在这里,麻烦了
 楼主| 发表于 2015-4-14 10:46:14 | 显示全部楼层
AD101-D1-PKD-140背料(2米62)倒顺.dxf
AD101-D1-P0LD-140背料(2米62)倒顺.dxf
 楼主| 发表于 2015-4-14 10:47:36 | 显示全部楼层
AD101-D1-PKD1818-140背料(2米62)倒顺.dxf
AD101-D1-PKD1822横排-140副料(1米57)双向.dxf
FT505-D3-PLD1809-142副背料(0米75)双向.dxf
BSJ101-D3-PKD1885横排-140主料(1米21)倒顺.dxf
AD101-D1-PKD-140背料(2米62)倒顺.dxf
AD101-D1-P0LD-140背料(2米62)倒顺.dxf

好了,全部在这里了,如果PKD与P0LD没法与那有7位的一起实现也没有关系
 楼主| 发表于 2015-4-14 10:49:46 | 显示全部楼层
之前做的程序,按任意健转换这个直接取消好了,运行直接关掉好了。
 楼主| 发表于 2015-4-14 11:04:39 | 显示全部楼层
回复 19# pcl_test

问题1:
    @echo off
setlocal enabledelayedexpansion
for /f "tokens=1,2* delims=-" %%i in ('dir /a-d /b *.dxf') do (
set "n=%%j"
md "!n:~,6!\" 2>nul
move "%%i-%%j-%%k" "!n:~,6!\"
)
pause
这个代码直接运行关掉好了,不需要按任意键退出,帮忙更改一下。

问题2:
AD101-D1-PKD1818-140背料(2米62)倒顺.dxf
AD101-D1-PKD1822横排-140副料(1米57)双向.dxf
FT505-D3-PLD1809-142副背料(0米75)双向.dxf
BSJ101-D3-PKD1885横排-140主料(1米21)倒顺.dxf
AD101-D1-PKD-140背料(2米62)倒顺.dxf
AD101-D1-P0LD-140背料(2米62)倒顺.dxf
怎么做个命令移动到
PKD1818\AD101-D1-PKD1818-140背料(2米62)倒顺.dxf
PKD1822\AD101-D1-PKD1822横排-140副料(1米57)双向.dxf
PLD1809\FT505-D3-PLD1809-142副背料(0米75)双向.dxf
PKD1885\BSJ101-D3-PKD1885横排-140主料(1米21)倒顺.dxf
PKD\AD101-D1-PKD-140背料(2米62)倒顺.dxf
P0LD\AD101-D1-P0LD-140背料(2米62)倒顺.dxf
如果3 4位文件夹不能与7位文件夹一起,关系也不是很大。


问题3:
我下面这些文件里的批处理
E:\A\1.BAT
E:\B\2.BAT
E:\C\C\3.BAT
,需要个代码,指定10:00与14:00运行一次



麻烦大神了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-19 08:49 , Processed in 0.019527 second(s), 7 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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