autops.bat的内容:
powershell ".\%1"
pause
update 2007-12-22 星期六 2:37:47.87
解决了曲线问题,更新autops.bat,不再需要调用vbs,可以直接bat中运行ps1脚本,不再担心执行脚本时,多了一个cmd窗口了!
autops.bat的内容:
@echo off
set str=%~1
:loop
set str=%str:*\=%
echo %str% | findstr /i "\\" >nul && goto loop
@echo on
powershell .\%str%
pause
powershell最近开始玩起来了,就有一点不爽,双击无法运行脚本!微软如此解释的:
"为了消除明显的风险,Windows PowerShell 中的执行策略都不允许通过双击脚本的图标来运行它。"
为了所谓的安全,牺牲了我每次都要开启powershell敲一遍脚本名字的时间,且还要带路径...
极其不爽,在耗费了两个晚上的苦思后,历经挫折啊,终于搞定!
开始直接就想,ps1文件关联powershell加上参数%1,不就可以了?结果...试了你就知道了,根本不认你的参数!然后想到关联bat打开,bat只要写powershell %1不就可以了?结果部分路径可以直接运行,但是路径一旦含空格,game over!最后,终于用bat关联ps1,然后bat调用vbs来处理路径的办法解决了问题!即曲线实现了双击运行脚本的办法:
1.我的电脑,关联ps1文件到系统目录下的autops.bat,带上参数%1
powershell创建目录2.autops.bat里面写上:
autops.vbs %1
3.autops.vbs里面写上:
ps=wscript.arguments(0)
ps_array = split(ps,"\",-1,1)
ps = ps_array(UBound(ps_array))
set WshShell = WScript.CreateObject("WScript.Shell")
cmd = "powershell .\" & ps
WshShell.run cmd,0,true
ok,现在你可以任意双击ps1文件了,绝对可以直接运行!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论