У меня есть множество файлов .exe
которые были переименованы в file1.exe
, file2.exe
и т.д. Когда вы смотрите на Подробности файла в Свойствах (в проводнике Windows), у него есть оригинальное имя файла в "Название продукта".
Я пытаюсь найти способ пакетного переименования их всех обратно к названию продукта.
Существуют инструменты, которые могут сделать это с изображениями, музыкой и т.д., Но я не могу найти ничего, что могло бы сделать это для приложений. Это было бы (довольно) просто, если бы был какой-то способ получить доступ к Свойствам → Подробности в контексте командной строки (пакета).
2
2 ответа
5
Вы можете использовать PowerShell для этого.
$newname=(get-item .\file1.exe).VersionInfo.ProductName
Rename-Item .\file1.exe -NewName "$newname.exe"
РЕДАКТИРОВАТЬ:
Вот одна строка, которая должна выполнить то, что вам нужно:
(gci).name | Where-Object {$_ -like 'file*.exe'} | foreach { $name=(get-item $_).versioninfo.productname;rename-item $_ -NewName "$name.exe"}
1
чтобы сделать это как ProductName_ProductVersion.exe:
(gci -Path "E:\test" -Filter *.exe).FullName | %{$NewName = (Get-Item $_).VersionInfo.ProductName +"_" + (Get-Item $_).VersionInfo.ProductVersion;Rename-Item $_ -NewName "$($NewName).exe"}
и если вы хотите сделать его как ProductName_FileVersion.exe, просто замените ProductVersion на FileVersion в коде.
НЕ забудьте заменить E:\test
на истинный путь