У меня есть папка с файлами .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 находятся в одном и том же месте. папку, но она должна дать вам кое-что для работы.
Надеюсь это поможет.