Batch file 如何使用批处理文件的文本文件的前32个字符重命名文件
我希望有人能帮助我使用此代码(如下所示)。我想要的只是新文件名必须是文件第一行的前32个字符Batch file 如何使用批处理文件的文本文件的前32个字符重命名文件,batch-file,Batch File,我希望有人能帮助我使用此代码(如下所示)。我想要的只是新文件名必须是文件第一行的前32个字符 cd c:\test2\test for /f "delims=" %%i in ('dir /a-d /b *.txt') do ( set nname= set fname=%%i for /f "usebackq delims=" %%f in ("%%i") do if not defined nname set "nname=%%f" setlocal enabledelayedexpansi
cd c:\test2\test
for /f "delims=" %%i in ('dir /a-d /b *.txt') do (
set nname=
set fname=%%i
for /f "usebackq delims=" %%f in ("%%i") do if not defined nname set "nname=%%f"
setlocal enabledelayedexpansion
set "nname=!nname:~0,40!"
rename "!fname!" "!nname!"
endlocal
)
提前感谢…试试这个:
@echo off
setlocal enabledelayedexpansion
cd /d c:\test2\test
for /f "delims=" %%i in ('dir /a-d /b *.txt') do (
set nname=
for /f "usebackq delims=" %%f in ("%%i") do if not defined nname set "nname=%%f"
set "nname=!nname:~0,32!"
rename "%%i" "!nname!%%~xi"
)
Thanx分配!!这么小的麻烦…:)还有一个问题。。。如何在新文件名之后添加当前日期?示例:newfile 01012001.txt忽略前面的问题。通过添加以下内容修复:对于/f“tokens=1-5 delims=/”%%m in(“%date%”),请在批处理文件末尾添加“*%%m-%%n-%%o”。