木子屋 Dnawo's BLOG

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

👤 dnawo 📅 2020-03-24 👁 3201 👍 0 💬 0 🔄 来源:本站原创
尝试直接使用批处理创建快捷方式一直没成功,意外发现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)

暂无评论。

验证码
评论需审核通过后显示
← 上一篇 批处理调用PowerShell脚本提示在此系统上禁止运行脚本解决… 下一篇 → 腾讯云云产品采购季云服务器首年99元