我有许多.exe
文件被重命名为file1.exe
、file2.exe
等。当您在“属性”(在 Windows 资源管理器中)下查看文件的详细信息时,它会在“产品名称”下显示原始文件名。我正在尝试找到一种方法将它们批量重命名为产品名称。有些工具可以对图像、音乐等执行此操作,但我找不到任何可以对应用程序执行此操作的工具。如果有某种方法可以在命令行(批处理)上下文中访问“属性”→“详细信息”,这将(相当)简单。
答案1
您可以使用 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"}
答案2
使其像 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 一样,只需在代码中用 FileVersion 替换 ProductVersion
不要忘记E:\test
用真实路径替换