原来的不支持有空格的路径,由dugu的批处理中找到方法了,利用windows路径的另外的另外表达方式即可,".\路径" 这个东西用的不多啊,使用这个格式后powershell就能不会将字符串和路径混淆了,从而正常识别有空格的路径;
ftype的改一下,其实批处理的执行代码都是可以转换为文件关联的打开方式的:
ftype Microsoft.PowerShellScript.1="C:\WINDOWS\system32\windowspowershell\v1.0\powershell.exe" -command ^& {".\"%1""}
另外原来也可以直接跟随%1参数而不用-comand的ftype Microsoft.PowerShellScript.1="C:\WINDOWS\system32\windowspowershell\v1.0\powershell.exe" ".\"%1""
无意中看到这样的一篇文章:曲线实现双击运行powershell脚本(已更新解决曲线问题)
文章中利用了一个bat文件作为中介,实现双击运行ps1文件,觉得有点奇怪,为啥不直接建立文件关联呢?
于是打开cmd,执行assoc得到ps1文件的相关信息,知道.ps1是指向于Microsoft.PowerShellScript.1
好了,这样只需要用ftype修改一下Microsoft.PowerShellScript.1的值就可以了,从powershell /? 可以得到相关信息,于是执行了下面的命令:
ftype Microsoft.PowerShellScript.1="C:\WINDOWS\system32\windowspowershell\v1.0\powershell.exe" -command "& {%1}"
OK,现在直接可以双击打开ps1文件,如果不行的话,尝试多执行下面的命令:
assoc .ps1=Microsoft.PowerShellScript.1
另外那个图标嘛,自己喜欢什么就到文件夹选项里面改好了^_^
好了,还要到组策略里面把ps1文件类型也加入到可执行代码文件的行列中,防止某天出现什么意外。