如何从 Windows 10 的 Bash 运行 .bat 或 .cmd 文件

问题描述 投票:0回答:3

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 命令?

windows bash batch-file gcloud
3个回答
7
投票

您需要指定 cmd.exe 的完整路径。

我已将以下内容添加到我的 ~/.bash_aliases 中:

alias cmd='/mnt/c/Windows/System32/cmd.exe /c'

有了这个,你可以运行 *.bat 文件:

$ cmd ./test.bat

2
投票

很抱歉将此作为答案发布,但我还无法发表评论。我在想,也许你可以有一个调用 bash 脚本的批处理文件,然后一旦它们退出,它就开始执行 bat 文件,然后启动更多的 bash 脚本?您也可以将代码拆分...只是一个想法。


0
投票

只需使用source-命令运行它 我在 Windows 11 的 git bash 中尝试过,如下所示,myfile.cmd 包含一个单词主机名,它应该输出主机名并且它有效。

source myfile.cmd

您甚至可以运行包含其他命令的 file.cmd,只要您的路径中有这些命令或者它们就可以工作。

© www.soinside.com 2019 - 2024. All rights reserved.