标题: [原创代码] powershell 右键运行菜单 [打印本页]
作者: went 时间: 2021-5-20 15:09 标题: powershell 右键运行菜单
保存为runps1.bat文件
添加或删除ps1文件右键菜单->按指定powershell版本运行脚本
无视执行策略 - ExecutionPolicy
非右键菜单执行语法: runps1.bat "ps1脚本路径" "powershell指定版本[当前版本留空]"
无参数运行则视为 添加/删除右键菜单.
调试win7 ps2.0兼容代码使用.- @echo off
- REM %1为空,以管理员身份运行bat,退出
- if "%~1"=="" start "" mshta vbscript:createobject("shell.application").shellexecute("""%~0""","REM",,"runas",1)(window.close)&exit
- REM %~1为REM,添加或删除注册表,退出
- if "%~1"=="REM" (
- reg delete "HKCR\Microsoft.PowerShellScript.1\Shell\以powershell 2.0运行" /f >nul 2>nul && (
- echo 删除ps1文件右键菜单 "以powershell 2.0 版本运行" 成功
- reg delete "HKCR\Microsoft.PowerShellScript.1\Shell\以powershell 当前版本运行" /f >nul 2>nul
- echo 删除ps1文件右键菜单 "以powershell 当前版本运行" 成功
- ) || (
- reg add "HKCR\Microsoft.PowerShellScript.1\Shell\以powershell 2.0运行\command" /ve /t REG_SZ /d "\"%~0\" \"%%1\" \"2.0\"" /f >nul 2>nul
- echo 添加ps1文件右键菜单 "以powershell 2.0 版本运行" 成功
- reg add "HKCR\Microsoft.PowerShellScript.1\Shell\以powershell 当前版本运行\command" /ve /t REG_SZ /d "\"%~0\" \"%%1\"" /f >nul 2>nul
- echo 添加ps1文件右键菜单 "以powershell 当前版本运行" 成功
- )
- pause&exit
- )
- REM %1文件不存在,退出
- if not exist "%~1" (echo 脚本文件不存在! %~1 &pause&exit)
- REM %1文件存在,读取ps版本参数%2
- if not "%~2"=="" set "psVer=-version %~2"
- REM 运行powershell脚本
- cd /d "%~dp1"
- powershell %psVer% -c "Get-Content '%~1' | Out-String | Invoke-Expression"
- pause&exit
复制代码
作者: sanduo.xi 时间: 2021-5-20 17:00
貌似我用不到,不过有的代码段我可以借用。谢谢啦!
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |