标题: [文件操作] [已解决]批理如何截取文件名建立文件夹? [打印本页]
作者: wucnu 时间: 2012-3-23 22:18 标题: [已解决]批理如何截取文件名建立文件夹?
请教大侠们....- @echo off&setlocal enabledelayedexpansion
- for /f %%a in ('dir /b /s /a') do (
- set "temp=%%a"
- set "temp=!temp:-00001.TIF=!"
- md "!temp!"
- move "%%a" "!temp!"
- )
复制代码
这个代码只能建立-00001.TIF前的文件名的文件夹,如果我想建立-的前面的文件夹名,要怎么写才好呢,也就是说-后面的不管出现是什么数字时
作者: apang 时间: 2012-3-23 22:42
文件名有几个“-”,打算从哪一个切分呢
作者: wucnu 时间: 2012-3-23 22:48
文件有上千个,如*-*.tif,想从-的第一个开始切分,那要怎么做呢
作者: apang 时间: 2012-3-23 23:22
- @echo off&setlocal enabledelayedexpansion
- for /f "delims=" %%a in ('dir /b /s /a') do (
- set "temp=%%a"
- set "temp1=!temp:*-=!"
- call set temp=%%temp:-!temp1!=%%
- md "!temp!"
- move "%%a" "!temp!"
- )
复制代码
作者: wucnu 时间: 2012-3-23 23:31
回复 4# apang
不行呢,晕,了..
作者: apang 时间: 2012-3-24 00:13
不行是什么状况?
作者: wucnu 时间: 2012-3-24 09:56
回复 6# apang
你的代码中的md "!temp1!"加1后可以生成文件夹,但生成的文件夹名是-后面的,我想要-前面的文件名的
如A002369255-002.tif A0254125553-A24526295-002.tif 当然了,最多-时有3个,我想提取出A002369255, A0254125553为文件夹名,你的那个代码提出来后是002.tif的文件名
作者: apang 时间: 2012-3-24 11:40
代码中没有md "!temp1!"
只有md "!temp!"
呵呵
作者: wucnu 时间: 2012-3-24 11:51
回复 8# apang
是的啊,可是不加1的话,好像处理起来,没动静啊,也不会生成文件夹呢
作者: apang 时间: 2012-3-24 11:59
- @echo off&setlocal enabledelayedexpansion
- for /f "delims=" %%a in ('dir /b /s /a-d *.tif') do (
- set "temp=%%a"
- set "temp1=!temp:*-=!"
- call set temp=%%temp:-!temp1!=%%
- md "!temp!" 2>nul
- move "%%a" "!temp!" >nul
- )
复制代码
将代码保存在tif文件所在位置运行。。。
作者: wucnu 时间: 2012-3-24 23:39
回复 10# apang
不好意思啊,我试了一下,还是不行,是代码运行了以后,还是生成不了文件夹,按你说的放在TIF文件下运行的
作者: find 时间: 2012-3-25 10:16
回复 11# wucnu
删掉@echo off,把执行结果贴出来看看。
作者: apang 时间: 2012-3-25 11:26
本帖最后由 apang 于 2012-3-25 11:31 编辑
回复 11# wucnu
奇怪,试试这样(将代码保存到tif文件所在位置):- @echo off
- for /f "delims=" %%a in ('dir /b /s /a-d *.tif') do (
- for /f "delims=-" %%b in ("%%a") do (
- md "%%~nb" 2>nul
- move "%%a" "%%~nb\" >nul
- )
- )
复制代码
作者: wucnu 时间: 2012-3-25 11:30
回复 12# find
按你说的去掉那个以后,显示出来的结果马上就关闭了,贴不上图,那我要怎么办
作者: wucnu 时间: 2012-3-25 11:33
回复 13# apang
太感谢了,这个代码可以啊~~~THANKS
作者: apang 时间: 2012-3-25 11:35
回复 14# wucnu
代码最后加一行:pause
你也可以试试13楼,看咋样
作者: find 时间: 2012-3-25 12:47
回复 14# wucnu
以后再遇到这种问题,可以打开一个命令行窗口,去执行bat文件。
作者: find 时间: 2012-3-25 12:48
回复 15# wucnu
问题解决后,请编辑顶楼帖子在标题前面注明[已解决],并给回答者加分。
作者: wucnu 时间: 2012-3-25 23:53 标题: 已解决 批理如何截取文件名建立文件夹?
回复 1# wucnu
作者: wucnu 时间: 2012-3-25 23:58
回复 18# find
对不起啊,我还不知道这呢,谢谢提醒,好像你的也还没加分呢,明天给你加啊!~~~谢谢
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |