如何 运行 bash 中的 .bat 或 .cmd 文件用于 windows 10

how to run .bat or .cmd files in bash for windows 10

我正在尝试 运行 glcoud.cmd 从 bash shell 安装在 windows 10. Glcoud 在 cmd 提示符下被识别,但是在 "bash for windows 10" 上未被识别。

基于此线程,我创建了一个包含此条目 () 的 .bashrc 文件:

PATH=$PATH:/mnt/c/Users/username/AppData/Local/Google/Cloud SDK/google-cloud-sdk/bin

glcoud.cmd 是一个 windows 命令行脚本。似乎路径被 bash 识别,因为当我 运行 gcloud.cmd 它 returns

/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

以上所有命令returns:

未找到命令 'cmd',您的意思是: 来自程序包 'diffutils' 的命令 'cmp'(主要) 来自程序包 'wml'(宇宙)的命令 'wmd' 来自程序包 'devscripts' 的命令 'dcmd'(主要) 来自程序包 'mtools' 的命令 'mcd'(主要) 来自程序包 'core-network-daemon' 的命令 'vcmd'(宇宙) 来自程序包 'openjdk-7-jdk' 的命令 'jcmd'(主要) 来自程序包 'tcm'(宇宙)的命令 'tcmd' 来自程序包 'config-manager'(宇宙)的命令 'cm' 来自程序包 'libconfig-model-perl'(宇宙)的命令 'cme' 来自程序包 'am-utils'(宇宙)的命令 'amd' 来自程序包 'renameutils'(宇宙)的命令 'icmd' 来自程序包 'mtools' 的命令 'mmd'(主要) 来自程序包 'renameutils'(宇宙)

的命令 'qcmd'

如何在 bash 上 运行 windows 命令?

谢谢

保罗

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

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

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

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

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

$ cmd ./test.bat