脚本宝典收集整理的这篇文章主要介绍了VBS隐藏窗口运行Cygwin Bash内置命令/函数的方法(主要供Windows任务计划调用使用),脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
Dim Wsh,ScriptPath,CygwinInstallPath,CygwinInstallDrive,BashPath,ArgumentParamter
ArgumentParamter=""
'Wscript.Echo "参数个数:" & Wscript.Arguments.Count
IF Wscript.Arguments.Count >0 Then
For i=0 To Wscript.Arguments.Count-1
ArgumentParamter=ArgumentParamter & Space(1) & Wscript.Arguments(i)
Next
End If
'Msgbox ArgumentParamter
'Wscript.Quit
Set Fso=CreateObject("Scripting.FileSystemObject")
ScriptPath=Fso.GetFile(Wscript.ScriptFullName).ParentFolder.Path
Set Conf=Fso.OpenTextFile(ScriptPath & "cygwin_installion_path.txt",1,false)
CygwinInstallPath=Conf.ReadAll()
Set Folder=Fso.GetFolder(CygwinInstallPath)
CygwinInstallDrive=Folder.Drive
BashPath=CygwinInstallDrive & "cygwin64binbash.exe"
'Wscript.Echo BashPath & " --login -i -c '" & ArgumentParamter & ";bash'"
Set Wsh=CreateObject("Wscript.Shell")
'注意:如果参数中含有中文,则必须在UTF-8的窗口中运行命令,比如在Cygwin窗口中执行 wscript //nologo bash-hide.vbs potplayertv 湖南卫视
'否则会报错,比如原生cmd窗口默认为 chcp 936编码,带中文参数调用此脚本就达不到预期的效果
Wsh.run BashPath & " --login -i -c '" & ArgumentParamter & "'",vbHide
'保持窗口可见,且不自动退出
'Wsh.run BashPath & " --login -i -c '" & ArgumentParamter & ";bash'"
其中cygwin_installion_path.txt
文件保存Cygwin的安装路径(纯文本),eg:H:cygwin64
,以适配不同电脑 Cygwin 安装在不同位置的情况;
若要在Cygwin窗口中直接调用 bash-hide.vbs xxx
命令,建议在会话配置文件(~/.bash_profile
)中装载以下函数:
bash-hide.vbs() {
#劫持bash-hide.vbs命令,使用wscript调用之
#详见: D:Extra_binbash-hide.vbs
#Bash窗口隐藏
#调用时可传递环境变量依然有效,比如:
# _T='E:' bash-hide.vbs cygwin #在指定目录打开全新Cygwin窗口
cygstart bash-hide.vbs $@
}
bash-run.vbs() {
#劫持bash-run.vbs命令,使用wscript调用之
#详见: D:Extra_binbash-run.vbs
#bash窗口可见
cygstart bash-run.vbs $@
}
以上是脚本宝典为你收集整理的VBS隐藏窗口运行Cygwin Bash内置命令/函数的方法(主要供Windows任务计划调用使用)全部内容,希望文章能够帮你解决VBS隐藏窗口运行Cygwin Bash内置命令/函数的方法(主要供Windows任务计划调用使用)所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。