批处理调用PowerShell创建应用程序快捷方式示例

尝试直接使用批处理创建快捷方式一直没成功,意外发现PowerShell可以创建快捷方式,缺点是PowerShell脚本文件不能双击运行,需要右键点击ps1文件选择"使用PowerShell运行"才行,于是考虑用批处理创建并调用PowerShell脚本文件的方式来实现。

1、批处理调用PowerShell创建应用程序桌面快捷方式:

@echo off

::创建PowerShell脚本文件
echo $file = "C:\Program Files\Mozilla Firefox\firefox.exe">>demo.ps1
echo $lnkname = "firefox.lnk">>demo.ps1
echo $shell = New-Object -ComObject WScript.Shell>>demo.ps1
echo $desktop = $env:USERPROFILE+"\Desktop">>demo.ps1
echo $shortcut = $shell.CreateShortcut("$desktop\$lnkname")>>demo.ps1
echo $shortcut.TargetPath = "$file">>demo.ps1
echo $shortcut.Save()>>demo.ps1

::调用PowerShell脚本文件
powershell.exe -command "& {set-executionpolicy Remotesigned -Scope Process; .'.\demo.ps1' }"

::删除PowerShell脚本文件
del /Q demo.ps1

2、批处理调用PowerShell创建应用程序启动菜单快捷方式:

@echo off

::创建PowerShell脚本文件
echo $file = "C:\Program Files\Mozilla Firefox\firefox.exe">>demo.ps1
echo $lnkname = "firefox.lnk">>demo.ps1
echo $shell = New-Object -ComObject WScript.Shell>>demo.ps1
echo $run = $env:APPDATA+"\Microsoft\Windows\Start Menu\Programs\Startup">>demo.ps1
echo $shortcut = $shell.CreateShortcut("$run\$lnkname")>>demo.ps1
echo $shortcut.TargetPath = "$file">>demo.ps1
echo $shortcut.Save()>>demo.ps1

::调用PowerShell脚本文件
powershell.exe -command "& {set-executionpolicy Remotesigned -Scope Process; .'%~dp0demo.ps1' }"

::删除PowerShell脚本文件
del /Q demo.ps1

说明:WinXP系统默认不支持PowerShell,因此上边脚本只能运行于Win7以上系统 。

评论: 0 | 引用: 0 | 查看次数: 1908
发表评论
登录后再发表评论!