根据扩展名将文件移动到文件夹

时间:2016-02-22 16:41:28

标签: file batch-file directory

最后,我根据扩展名将不同扩展名的文件移动到文件夹中,但我无法摆脱“。”在创建的文件夹之前...这是我的批处理文件:

for %%i in (*) do mkdir "%%~xi" & move "%%i" "%%~xi"

请帮我删除点。感谢

2 个答案:

答案 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