标题: [文件操作] [已解决]BAT批处理如何按要求移动文件? [打印本页]
作者: DDDYJQ1 时间: 2014-4-8 11:04 标题: [已解决]BAT批处理如何按要求移动文件?
本帖最后由 DDDYJQ1 于 2014-4-8 13:47 编辑
文件夹下有上千个.HTM文件,文件名如下
文件名 要创建的文件夹名
content.asp@uni=E401.html E4
content.asp@uni=2F73.html 2F
content.asp@uni=E402.html E4
content.asp@uni=052611.html 052
content.asp@uni=052543.html 052
content.asp@uni=052B26.html 052
content.asp@uni=052550.html 052
content.asp@uni=052C11.html 052
content.asp@uni=052609.html 052
content.asp@uni=052610.html 052
content.asp@uni=052541.html 052
content.asp@uni=2F879.html 2F
content.asp@uni=052612.html 052
content.asp@uni=052615.html 052
content.asp@uni=21482.html 214
content.asp@uni=29B5A.html 29
content.asp@uni=29B5B.html 29
content.asp@uni=29B5C.html 29
content.asp@uni=29B5D.html 29
content.asp@uni=180500.html 180
想按等号后的部分,创建文件夹,有四个字符的,创建文件夹为前两个字符,有五个字符的,也创建文件夹名为前两个字符,有六个文件名的,创建文件夹名为前三个字符,并移入新创建的文件夹中。不知表达是否清楚,先谢了,
作者: terse 时间: 2014-4-8 11:37
有6个以上字符怎么处理 比如8个字符
作者: terse 时间: 2014-4-8 11:48
- @echo off&setlocal enabledelayedexpansion
- for /f "delims=" %%i in ('dir /b /a-d *.html') do (
- for /f "tokens=2delims==" %%j in ("%%~ni") do (
- set str=%%j
- if "!str:~5!" == "" (
- md "!str:~,2!" 2>nul
- ) else md "!str:~,3!" 2>nul
- )
- )
- pause
复制代码
作者: xxpinqz 时间: 2014-4-8 11:50
- @echo off&setlocal EnableDelayedExpansion
- (for %%a in (*.html) do (
- for /f "tokens=1* delims==" %%b in ("%%~na") do (
- set "str=%%c"
- if defined str if "!str:~5!"=="" (set "str=!str:~,2!")else set "str=!str:~,3!"
- )
- md "!str!"
- move "%%a" "!str!\"
- ))2>nul
复制代码
作者: DDDYJQ1 时间: 2014-4-8 13:47
谢谢各位,最多只有六个字行,3楼的只建立文件夹,4楼的可以,谢了
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |