如何在bash for windows 10中运行.bat或.cmd文件

时间:2017-06-24 17:41:04

标签: windows bash gcloud

我正在尝试从Windows 10上安装的bash shell运行glcoud.cmd.glcoud在cmd提示符下被识别,但在“bash for windows 10”中无法识别。

基于这个线程,我创建了一个包含此条目的{.bashrc文件(Can I use gcloud in Git Bash on Windows?):

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

glcoud.cmd是一个Windows命令行脚本。似乎路径被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

以上所有命令都会返回:

找不到命令'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命令?

由于

2 个答案:

答案 0 :(得分:2)

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

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

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

使用它可以运行* .bat文件:

$ cmd ./test.bat

答案 1 :(得分:1)

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