我有这样的文件名,
- DC_GEN_FUR_4_Point_Chair_type_2_10.txt
DC_GEN_FUR_4_Point_Chair_type_2_11.txt
L 形单孔(椭圆形)10.txt
- L 形单孔(椭圆形)11.txt
同样文件夹名称应该是
- DC_GEN_FUR_4_Point_Chair_type_2
- L 形单孔(椭圆形)
请告诉我如何使用批处理脚本文件将文件移动到同名文件夹中。
答案1
编辑代码并在澄清注释后为路径设置一个变量:
为了从文件名中删除最后三个字符(不包括扩展名)并将其用于创建目录,然后将当前文件移动到里面,请使用以下命令:
@echo off
setlocal enabledelayedexpansion
set folderpath=X:\Insert\Your\Path\Here
for %%f in (%folderpath%\*.*) do (
set "foldername=%%~nf"
md "!foldername:~0,-3!" >nul 2>&1
move "%%f" "!foldername:~0,-3!"
)
"foldername=%%~nf"
获取文件名;
"!foldername:~0,-3!"
删除最后三个字符foldername
旧答案和代码供参考:
将文件移动到将要创建的目录中,该目录将具有与文件相同的名称,但不带扩展名。
如果是这样,那么您的批处理脚本将如下所示:
@echo off
for %%f in (*) do (
md "%%~nf"
move "%%f" "%%~nf"
) >nul 2>&1
答案2
@echo off
setlocal enabledelayedexpansion
set folderpath="C:\Desktop\original"
for %%f in (%folderpath%\*.*) do (
set "foldername=%%~nf"
md "!foldername:~0,-3!"
move "%%f" "C:\!foldername:~0,-3!"
)
我用了“C:\桌面\原始”文件夹中保存的所有文件必须移动到另一个文件夹。语句 md"!文件夹名称:~0,-3!"创建一个同名的文件夹,但删除最后三个字符。移动命令将文件夹移动到所需位置。