最后,我根据扩展名将不同扩展名的文件移动到文件夹中,但我无法摆脱“。”在创建的文件夹之前...这是我的批处理文件:
for %%i in (*) do mkdir "%%~xi" & move "%%i" "%%~xi"
请帮我删除点。感谢
答案 0 :(得分:1)
一种方式:
setlocal enabledelayedexpansion
for %%i in (*) do (
set ext=%%~xi
set ext=!ext:~1!
mkdir "!ext!"
move "%%i" "!ext!"
)
答案 1 :(得分:0)
您正在做的只是在文件扩展名后创建文件夹名称。要删除点,您只需删除第一个字符即可。
setlocal enabledelayedexpansion
for %%i in (*) do (
set "x=%%~xi"
set x=!x:~1,400!
mkdir "!x!"
move "%%i" "!x!"
)
pause `
如果您偶然想要重命名文件夹:
@echo off
setlocal enabledelayedexpansion
for /f "delims=" %%D in ('dir /a:d /b') do (
set x=%%D
set x=!x:~1,100!
set y=!x:~0,1!
if "!y!"=="." (
rename "%%D" "!x!"
)
)
pause