使用批处理脚本,我试图读取文本文件第二行的前25个字符,然后使用该字符串重命名该文件。有什么想法吗?
答案 0 :(得分:0)
获取第二行:
@echo off
for /f "skip=1" %%G IN (1234.txt) DO if not defined line set "line=%%G"
echo %line%
pause
重命名
与其他平台非常相似,最简单的重命名方法是使用不同的名称移动/复制到同一个地方。我更喜欢使用ren
+ Link。
答案 1 :(得分:0)
@echo off
setlocal enabledelayedexpansion
set bool = 1
for /f "skip=1" %%a in (file_to_read.txt) do (
if %bool% == 1 (
set rename=%%a
ren c:\users\microsoft\desktop\file_to_rename.txt !rename:~0,25!.txt
set bool = 0
)
)
答案 2 :(得分:0)
以下代码提取变量TextFile
给出的输入文件的所需文本部分,如果找到并且第二行不为空,则重命名该文件:
@echo off
rem Provide the input file here:
set TextFile=yourfile.txt
set TextLine=
for /F "usebackq skip=1" %%G in ("%TextFile%") do (
if not defined TextLine set "TextLine=%%G")
if defined TextLine (
echo Rename "%TextFile%" to "%TextLine:~,25%"?
pause
ren "%TextFile%" "%TextLine:~,25%"
)
有一个pause
命令可以检查要重命名的内容。
答案 3 :(得分:0)
@echo off
setlocal
rem Get the second line
(set /P line=& set /P line=) < theFile.txt
rem Rename the file
ren theFile.txt "%line:~0,25%.txt"
答案 4 :(得分:-1)
我的想法是,这在批处理文件中很难,而且在PowerShell中更容易:
ren test.txt "$((gc .\test.txt)[1].Substring(0,25)).txt"