如题,不知可不可以。谢谢!
我忘了是什么情况下不可以了,但是可以用隐藏窗口运行vbs,vbs隐藏运行bat,bat隐藏运行Powershell。
vbs:
set ws=WScript.CreateObject("WScript.Shell")
ws.Run "D:\Test\Run.bat",0
bat:
powershell D:\Test\Run.ps1
Powershell:
D:\Test\Run.ps1
多谢我试试
cmd无法运行稍微复杂一点点的powershell脚本,我说的是隐藏powershell窗口,不是cmd
另外在cmd里用 powershell 加命令的方式也有很大局限性,只适合一行代码,而且还不能是稍微高级点的。如下设个变量就挂了:
这只是你的双引号是非法的罢了,poweshell将双引号内的内容视为命令,跟变量没关系
另外,如果是脚本,poweshell -file xxx.ps1 啊....
还有poweshell可以运行base64编码的命令,管你脚本里面多复杂,编个码什么非法字符都没了
powershell.exe -encodedCommand $encodedCommand
完全一样的括号在powershell里毫无压力
另外为什么最开始就用这个quicker内置的脚本功能?因为不需要把脚本写到别的地方。按你的方法把脚本写到文件里那还得记得存在哪。。。
原来是引号,之前没看清
要在cmd里跑方法很多,转义也可以
不需要把脚本写别的地方,直接写到临时文件里再运行即可
多谢,我试试
quicker运行的脚本本来就是写到临时目录再运行的
我又试了一次,和这个图里同样的命令在cmd里可以用(有结果显示),但是在quicker里选“cmd(完成后保留窗口)”,运行完以后什么结果都不显示
而把中间.Net的文件操作换成比较简单的 $stream = 123 则在quicker里能看到结果。似乎quicker对通过cmd使用powershell时代码内的.Net支持有问题?
cmd 是转换到命令行的,不适合多行的代码。 多行的需要用脚本。
嗯,我意思是提一下看是不是未被发现的bug,毕竟直接在cmd窗口和通过quicker的结果不同。如果是已知情况的话那我就用别的方法了,谢谢!
是因为你命令中间的::被当做注释,导致后面语句没有执行
你运行的时候仔细看cmd的弹窗标题中的命令
还是用写临时脚本文件的方法吧
是这样的,我之前以为是因为窗口大小不够没有显示完整。多谢!
我忘了是什么情况下不可以了,但是可以用隐藏窗口运行vbs,vbs隐藏运行bat,bat隐藏运行Powershell。
vbs:
set ws=WScript.CreateObject("WScript.Shell")
ws.Run "D:\Test\Run.bat",0
bat:
powershell D:\Test\Run.ps1
Powershell:
D:\Test\Run.ps1
多谢我试试
cmd无法运行稍微复杂一点点的powershell脚本,我说的是隐藏powershell窗口,不是cmd
另外在cmd里用 powershell 加命令的方式也有很大局限性,只适合一行代码,而且还不能是稍微高级点的。如下设个变量就挂了:
这只是你的双引号是非法的罢了,poweshell将双引号内的内容视为命令,跟变量没关系
另外,如果是脚本,poweshell -file xxx.ps1 啊....
还有poweshell可以运行base64编码的命令,管你脚本里面多复杂,编个码什么非法字符都没了
powershell.exe -encodedCommand $encodedCommand
完全一样的括号在powershell里毫无压力
另外为什么最开始就用这个quicker内置的脚本功能?因为不需要把脚本写到别的地方。按你的方法把脚本写到文件里那还得记得存在哪。。。
原来是引号,之前没看清
要在cmd里跑方法很多,转义也可以
不需要把脚本写别的地方,直接写到临时文件里再运行即可
多谢,我试试
quicker运行的脚本本来就是写到临时目录再运行的
我又试了一次,和这个图里同样的命令在cmd里可以用(有结果显示),但是在quicker里选“cmd(完成后保留窗口)”,运行完以后什么结果都不显示
而把中间.Net的文件操作换成比较简单的 $stream = 123 则在quicker里能看到结果。似乎quicker对通过cmd使用powershell时代码内的.Net支持有问题?
cmd 是转换到命令行的,不适合多行的代码。 多行的需要用脚本。
嗯,我意思是提一下看是不是未被发现的bug,毕竟直接在cmd窗口和通过quicker的结果不同。如果是已知情况的话那我就用别的方法了,谢谢!
是因为你命令中间的::被当做注释,导致后面语句没有执行
你运行的时候仔细看cmd的弹窗标题中的命令
还是用写临时脚本文件的方法吧
是这样的,我之前以为是因为窗口大小不够没有显示完整。多谢!