如何使用powershell同时为目录中的所有.exe文件创建多个快捷方式
how to create several shortcuts at the same time for all .exe files in a directory using powershell
你好,我想使用 powershel 和类似的东西同时创建多个快捷方式
Get-ChildItem -Path D:\something\ -Include *.exe -File -Recurse -ErrorAction SilentlyContinue
获取结果并为所有 .exe 文件生成快捷方式(.lnk 文件)
(.exe只是文件类型的一个例子)
你能帮帮我吗?谢谢
要为目录中的所有 .exe
文件创建快捷方式,您可以执行以下操作:
- 创建 Windows 脚本主机 COM 对象以创建快捷方式。您可以从 MSDN 查看 Creating COM Objects with New-Object 了解更多信息。
- 获取目录中的所有
.exe
个文件。与您已经使用 Get-ChildItem
. 所做的类似
- 迭代每个文件。这里可以用
foreach
or Foreach-Object
。
- 从文件中提取
BaseName
。这意味着从 test.exe
得到 test
。我们需要这个来制作快捷方式文件。
- 从路径创建快捷方式。此路径只是目标路径 + 文件名 +
.lnk
扩展名。我们可以在这里使用 Join-Path
来制作这条路径。
- 将快捷方式的目标路径设置为可执行文件并保存快捷方式。
示范:
$sourcePath = "C:\path\to\shortcuts"
$destinationPath = "C:\path\to\destination"
# Create COM Object for creating shortcuts
$wshShell = New-Object -ComObject WScript.Shell
# Get all .exe files from source directory
$exeFiles = Get-ChildItem -Path $sourcePath -Filter *.exe -Recurse
# Go through each file
foreach ($file in $exeFiles)
{
# Get executable filename
$basename = $file.BaseName
# Create shortcut path to save to
$shortcutPath = Join-Path -Path $destinationPath -ChildPath ($basename + ".lnk")
# Create shortcut
$shortcut = $wshShell.CreateShortcut($shortcutPath)
# Set target path of shortcut to executable
$shortcut.TargetPath = $file.FullName
# Finally save the shortcut to the path
$shortcut.Save()
}
你好,我想使用 powershel 和类似的东西同时创建多个快捷方式
Get-ChildItem -Path D:\something\ -Include *.exe -File -Recurse -ErrorAction SilentlyContinue
获取结果并为所有 .exe 文件生成快捷方式(.lnk 文件)
(.exe只是文件类型的一个例子)
你能帮帮我吗?谢谢
要为目录中的所有 .exe
文件创建快捷方式,您可以执行以下操作:
- 创建 Windows 脚本主机 COM 对象以创建快捷方式。您可以从 MSDN 查看 Creating COM Objects with New-Object 了解更多信息。
- 获取目录中的所有
.exe
个文件。与您已经使用Get-ChildItem
. 所做的类似
- 迭代每个文件。这里可以用
foreach
orForeach-Object
。 - 从文件中提取
BaseName
。这意味着从test.exe
得到test
。我们需要这个来制作快捷方式文件。 - 从路径创建快捷方式。此路径只是目标路径 + 文件名 +
.lnk
扩展名。我们可以在这里使用Join-Path
来制作这条路径。 - 将快捷方式的目标路径设置为可执行文件并保存快捷方式。
示范:
$sourcePath = "C:\path\to\shortcuts"
$destinationPath = "C:\path\to\destination"
# Create COM Object for creating shortcuts
$wshShell = New-Object -ComObject WScript.Shell
# Get all .exe files from source directory
$exeFiles = Get-ChildItem -Path $sourcePath -Filter *.exe -Recurse
# Go through each file
foreach ($file in $exeFiles)
{
# Get executable filename
$basename = $file.BaseName
# Create shortcut path to save to
$shortcutPath = Join-Path -Path $destinationPath -ChildPath ($basename + ".lnk")
# Create shortcut
$shortcut = $wshShell.CreateShortcut($shortcutPath)
# Set target path of shortcut to executable
$shortcut.TargetPath = $file.FullName
# Finally save the shortcut to the path
$shortcut.Save()
}