标题: [文件操作] 批处理归类文件后后缀名丢失 [打印本页]
作者: a6236130 时间: 2019-4-16 15:20 标题: 批处理归类文件后后缀名丢失
批量归类文件
根据指定字段长度归类文件,归类后删除归类依据。
move "%~1" "%Str:~1,4%\%Str:~4%"
我加了标红部分,运行后文件的后缀名没了。求大神指点.....(具体代码)- @echo off
-
- for %%a in (*) do call :MvFile "%%~a"
- pause
- exit
-
- :MvFile
- if "%~f1"=="%~f0" goto :eof
- set "Str=%~n1"
- if not exist "%Str:~1,4%" md "%Str:~1,4%"
- move "%~1" "%Str:~1,4%\%Str:~4%"
- goto :eof
复制代码
作者: zaqmlp 时间: 2019-4-16 15:42
本帖最后由 zaqmlp 于 2019-4-16 15:44 编辑
set "Str=%~nx1"- @echo off
- set info=互助互利,支付宝扫码头像,感谢赞助
- rem 有问题,可加QQ956535081及时沟通
- title %info%
- start mshta VBScript:Execute("msgbox(""%info%""):close")
- cd /d "%~dp0"
- for /f "delims=" %%a in ('dir /a-d/b^|find /v "%~nx0"') do (
- set "file=%%a"
- set "name=%%~nxa"
- setlocal enabledelayedexpansion
- if not exist "!name:~1,4!" md "!name:~1,4!"
- echo;"!file!" --^> "!name:~1,4!\!name:~4!"
- move /y "!file!" "!name:~1,4!\!name:~4!"
- endlocal
- )
- pause
复制代码
作者: Batcher 时间: 2019-4-16 17:10
把你的第11行改成这样:
move "%~1" "%Str:~1,4%\%Str:~4%%~x1"
或者这样:
move "%~1" "%Str:~1,4%\"
看看哪个是你需要的结果
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |