标题: [文件操作] [已解决]批处理如何提取指定末尾字段的文件名,并建立文件夹 [打印本页]
作者: playinthesky 时间: 2015-3-26 01:35 标题: [已解决]批处理如何提取指定末尾字段的文件名,并建立文件夹
有上万个这样的文件:
J000-2004-永久-00001-001.jpg
J000-2001-永久-00003-005.jpg
J000-2001-永久-00002-003.jpg
J000-2004-永久-00002-003.jpg
J000-2001-永久-00003-003.jpg
J000-2001-永久-00003-007.jpg
J000-2001-永久-00003-003.jpg
J000-2005-永久-00003-008.jpg
J000-2001-永久-00005-003.jpg
J000-2001-永久-00003-008.jpg
J000-2007-永久-00009-003.jpg
J000-2001-永久-00003-009.jpg
.
.
.
.
.
J000-2010-30年-00112-003.jpg
J000-2001-长期-00993-009.jpg
实现目标是:将第四位的最后一个字符为特定数字的文件提取出来,建立对应的文件夹,
比方:我选末尾数字为2的,也有可能是其他数字,比方,6,9,如果末尾是0的话,会不会特殊点?
那么,最后实现的是:
J000-2001-永久-00002-003.jpg 放在 2/J000-2001-永久-00002/ 的文件夹下
J000-2004-永久-00002-003.jpg 放在 2/J000-2004-永久-00002 /的文件夹下
J000-2010-30年-00112-003.jpg 放在 2/J000-2010-30年-00112/的文件夹下
我的思路及写了一半的代码,高手能否帮助我完善?
截取第4段字符,用SET,然后通过IF语句判断!,但是后面建文件夹,如何建立的流畅与快速(上万个),不太会写!能否帮我完成,谢谢各位高手们!- @echo off&setlocal enabledelayedexpansion
- for /f "tokens=4 delims=-" %%i in ('dir /b /a-d *.jpg') do (
- set "ph=%~dp0"
- set "str=%%i"
- set "str=!str:~-1,1!"
- if !str! equ 2 md
- )
- pause
复制代码
是否有更高效率的办法?
用我自己的办法MD文件之后,总是提出ECHO 状态为关闭,我试了很多次,也不行。
作者: pcl_test 时间: 2015-3-26 10:14
本帖最后由 pcl_test 于 2015-3-26 10:16 编辑
回复 1# playinthesky - @echo off & setlocal enabledelayedexpansion
- for /f "tokens=1-4 delims=-" %%a in ('dir /b /a-d *.jpg') do (
- set "str=%%a-%%b-%%c-%%d"
- set "str=!str:~,-1!"
- ::如需同时处理其他数字,在下面括号里自行添加,如(2 6 9)
- for %%i in (2) do (
- if exist "!str!%%i-*.jpg" md "%%i\!str!%%i\" 2>nul
- move "!str!%%i-*.jpg" "%%i\!str!%%i\" 2>nul
- )
- )
- pause
复制代码
作者: pcl_test 时间: 2015-3-26 10:15
回复 1# playinthesky
问题得到解决后请在标题最前面注明[已解决]
http://www.bathome.net/thread-3473-1-1.html
作者: playinthesky 时间: 2015-3-26 10:53
回复 3# pcl_test
谢谢老大的妙来神笔,永远支持你,永远支持批处理!!!马上改!
作者: apang 时间: 2015-3-26 10:59
- @secho off
- setlocal enabledelayedexpansion
- (for /f "tokens=1-5delims=-" %%a in ('dir /b *-*-*-*2-*.jpg *-*-*-*6-*.jpg') do (
- set "s=%%a-%%b-%%c-%%d"
- md "!s:~-1!\!s!"
- move "!s!-%%e" "!s:~-1!\!s!\"
- )) 2>nul
- pause
复制代码
作者: playinthesky 时间: 2015-3-26 21:34
回复 5# apang
谢谢您的指点!
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |