gcloud.cmd
是一个 Windows 命令行脚本。我尝试从 Windows 10 上安装的 Bash shell 运行它。它可以被 CMD 提示符识别,但不能被“Bash for Windows 10”识别。
基于这个线程我创建了一个
.bashrc
文件,其中包含以下条目:
PATH=$PATH:/mnt/c/Users/username/AppData/Local/Google/Cloud SDK/google-cloud-sdk/bin
Bash 现在似乎找到了该文件,因为当我运行
gcloud.cmd
时,它显示:
/mnt/c/Users/***/AppData/Local/Google/Cloud SDK/google-cloud-sdk/bin/gcloud.cmd: line 1: @echo: command not found
/mnt/c/Users/***/AppData/Local/Google/Cloud SDK/google-cloud-sdk/bin/gcloud.cmd: line 2: rem: command not found
/mnt/c/Users/***/AppData/Local/Google/Cloud SDK/google-cloud-sdk/bin/gcloud.cmd: line 7: syntax error near unexpected token `newline'
/mnt/c/Users/***/AppData/Local/Google/Cloud SDK/google-cloud-sdk/bin/gcloud.cmd: line 7: `rem <cloud-sdk-cmd-preamble>'
我还尝试了以下命令,因为 Cygwin 似乎可以自动识别
.bat
文件:
cmd.exe gcloud.cmd
cmd gcloud.cmd
cmd gcloud
cmd /c gcloud
cmd /c glcoud.cmd
以上所有命令显示:
No command 'cmd' found, did you mean: (…)
如何从 Bash 运行 Windows Batch 命令?
您需要指定 cmd.exe 的完整路径。
我已将以下内容添加到我的 ~/.bash_aliases 中:
alias cmd='/mnt/c/Windows/System32/cmd.exe /c'
有了这个,你可以运行 *.bat 文件:
$ cmd ./test.bat
很抱歉将此作为答案发布,但我还无法发表评论。我在想,也许你可以有一个调用 bash 脚本的批处理文件,然后一旦它们退出,它就开始执行 bat 文件,然后启动更多的 bash 脚本?您也可以将代码拆分...只是一个想法。
只需使用source-命令运行它 我在 Windows 11 的 git bash 中尝试过,如下所示,myfile.cmd 包含一个单词主机名,它应该输出主机名并且它有效。
source myfile.cmd
您甚至可以运行包含其他命令的 file.cmd,只要您的路径中有这些命令或者它们就可以工作。