标题: [文件操作] [已解决]批处理如何根据文件名把Word文件放入内? [打印本页]
作者: liaoguinan 时间: 2024-1-15 22:51 标题: [已解决]批处理如何根据文件名把Word文件放入内?
本帖最后由 liaoguinan 于 2024-1-16 15:50 编辑
如图如何根据word后缀3位数判断对应文件夹,把word文件剪切进对应的文件?
作者: ShowCode 时间: 2024-1-16 09:24
回复 1# liaoguinan - @echo off
- setlocal enabledelayedexpansion
- for /f "tokens=1,2 delims=-" %%a in ('dir /b /a-d *.doc') do (
- set "FileNum=%%b"
- set "FileNum=!FileNum:~0,3!"
- md "!FileNum!" 2>nul
- move "%%a-%%b" "!FileNum!\"
- )
复制代码
作者: qixiaobin0715 时间: 2024-1-16 09:44
不知楼主的表述是否准确,但是按照楼主的图示,可以这样:- for /f "delims=" %%i in ('dir /b /a-d *.doc') do if exist "%%~ni" move "%%i" "%%~ni\"
复制代码
作者: liaoguinan 时间: 2024-1-16 13:53
回复 3# qixiaobin0715
好像是可以了,但是我描述好像搞错了
应该是这样的格式
作者: qixiaobin0715 时间: 2024-1-16 14:20
本帖最后由 qixiaobin0715 于 2024-1-16 14:42 编辑
你的需求有点奇葩:- @echo off
- setlocal enabledelayedexpansion
- for /f "tokens=1* delims=-" %%i in ('dir /b /ad') do (
- set str=%%j
- set str=!str:~,3!
- if defined str set _!str!=%%i-%%j
- )
- for /f "tokens=1* delims=-" %%i in ('dir /b /a-d *.doc') do (
- set str=%%j
- set str=!str:~,3!
- if not "%%j"=="" (
- for %%k in (!str!) do (
- if defined _%%k move "%%i-%%j" "!_%%k!\"
- )
- )
- )
- pause
复制代码
作者: liaoguinan 时间: 2024-1-16 14:37
回复 5# qixiaobin0715
运行没见有反应?
作者: qixiaobin0715 时间: 2024-1-16 15:02
回复 6# liaoguinan
代码已修改。
作者: liaoguinan 时间: 2024-1-16 15:49
回复 7# qixiaobin0715
感谢感谢
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |