- 帖子
- 8
- 积分
- 22
- 技术
- 0
- 捐助
- 0
- 注册时间
- 2021-7-3
|
[文本处理] 取 "[" 和 "]" 之间的字符,新建文件夹,然后移动进去
我要写一个*.bat的代码,实现以下作用:
1、获取*.bat所在文件夹内(不包含子目录)的所有文件,文件名包含 "[" 和 "]" 的文件
2、将文件名按"[" 和 "]" 分隔,取"[" 和 "]" 之间的部分——%%a
3、 用"/a-d/b"表示只显示非目录文件的文件名
4、利用循环
5、在当前目录下创建一个%%a同文件名的文件夹
6、利用move 函数讲符合模式的文件移动到同名文件夹中
我写了好几个,都不对,请各位大声帮忙看看问题在哪?
帮我改一个能用的完整的代码。感谢!
错误代码1:
@echo off
setlocal enabledelayedexpansion
for /f "delims=" %%a in ('dir /a-d/b /s *[*]') do (
set filename=%%~na
set foldername=!filename:[=_!
set foldername=!foldername:]=_!
set foldername=!foldername: =_!
if not exist !foldername! md !foldername!
move "%%a" "!foldername!"
)
错误代码2:
@echo off
setlocal enabledelayedexpansion
for /f "tokens=1 delims=[]" %%a in ('dir /b *[*.*') do (
set FileName=%%~na
md "%FileName%" 2>nul
for /f "delims=" %%b in ('dir /b "%FileName%*.txt"') do move "%%b" "%FileName%"
)
pause |
|