Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 如何使用批处理文件的文本文件的前32个字符重命名文件_Batch File - Fatal编程技术网

Batch file 如何使用批处理文件的文本文件的前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

我希望有人能帮助我使用此代码(如下所示)。我想要的只是新文件名必须是文件第一行的前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 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”。