使用批处理脚本重命名文本文件

时间:2015-08-03 14:17:22

标签: batch-file

使用批处理脚本,我试图读取文本文件第二行的前25个字符,然后使用该字符串重命名该文件。有什么想法吗?

5 个答案:

答案 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"