根据文件内容的第一行批量重命名文件?

根据文件内容的第一行批量重命名文件?

我有一个文件夹,里面全是 .java 文件,我想重命名它们。我想用该文件内容的第一行重命名文件,如果两个或多个文件的第一行相同,则使用后缀?我正在运行 Windows 10。

答案1

这是一个粗略的破解方法,可能还有更好的方法,但这应该可以为您提供一个起点。首先,使用此命令编译所需文件的列表:

dir *.java /b >> dirlist.txt

您可能可以在脚本中完成这部分,但首先创建此列表可以让您更好地控制将要操作的文件。

从此,以下 JScript 将从该文件读取每一行,从该文件读取第一行,并相应地重命名该文件:

var FSO = new ActiveXObject ('Scripting.FileSystemObject');
var fileList = FSO.OpenTextFile ('dirlist.txt');
var nextFileName, nextFile, newFileName;

while (!fileList.AtEndOfStream) {

  nextFileName = fileList.ReadLine();
  nextFile = FSO.OpenTextFile (nextFileName);
  newFileName = nextFile.ReadLine ();
  nextFile.Close();
  FSO.MoveFile (nextFileName, newFileName);

}

您需要做一些额外的工作来处理重复名称的情况,或者第一行需要先进行一些清理的情况,当然这假设脚本、dirlist.txt 文件和所有 .java 文件都在同一个文件夹中,但它应该给您一些可供使用的东西。

希望这可以帮助。

相关内容