我不是linux用户(是的,我很抱歉!)我的一个朋友让我把他的shell脚本移植到windows批处理中,因为他想在那里做同样的任务。 / p>
我之前没有使用过shell-scrips,我的批处理技能几乎不存在,但我想尝试一下。
所以我想问一下批处理中是否存在所有shell功能。
提前感谢,
安德烈亚斯
答案 0 :(得分:0)
批处理命令是.BAT,由Windows CMD进程执行。
Linux shell脚本是一个世界和品种,除了BATCH之外......取决于Linux脚本#!/bin/xxxxx
的开头,其中xxxxx可能是bash,csh,korn,zsh,ash ....
你可能最好在Windows下查看PowerShell(Monad)来实现类似的功能。这里是PowerShell的另一个链接。看看PowerShell Scripting Guy网站。
使用Powershell来制作Linux shell脚本的等价物 - 您可以将其删除...另一个概念和概念是使用基本类似的AutoIt脚本功能....
唯一要记住的是,很多shell脚本功能可能会引用Windows上没有的其他linux命令......根据脚本的复杂性,可能会有替换linux命令(如果任何)到Windows命令。
将脚本全部发布可能会有所帮助......
答案 1 :(得分:0)
批处理和shell(bash等)脚本不一样。唯一的最佳方法是学习批处理/ vbscript和shell,然后手动转换它们。或者,您可以安装cygwin或GNU win32。这些将帮助您在Windows上运行shell脚本,但您可能需要进行一些更改,具体取决于编写的内容。
答案 2 :(得分:0)
简而言之,没有。虽然从概念上编写shell脚本和批处理文件类似,但语法和命令却完全不同。例如,bash cat
中的常见命令是Windows中的type
等。但是,一般情况下,DOS命令在Linux中应该具有等价物。
您的脚本无法在Linux中运行。如果你的朋友使用bash(很有可能),你可以查看一些教程和文档,将他的脚本“翻译”成一个Windows,就像将一个用C编写的代码翻译成Python一样。一种完全不同的语言,具有不同的语法,但有许多共同的特征。
Here's一个很棒的教程,我曾经学过sh,这是写入bash shell脚本的语言。它有点快节奏,但是如果你可以批量编写脚本,大部分都应该对你有用
如果您想了解bash中的命令,可以找到文档和参考手册here.
如果您需要脚本中的某些内容的特定帮助,请发布它,我相信有人会告诉您需要做什么。
答案 3 :(得分:0)
实际问题的答案是否定的,并非所有shell脚本命令都适用于Windows的批处理文件。
但是,这并不是说脚本无法移植到Windows。有许多语言可用于获得所需的结果。第一步是定义所需的输出,以及正在执行的操作类型,然后您可以找出最适合该任务的语言。
如果您想继续维护该程序的两个版本,那么您可以使用C,C ++,AutoIt,C#,VB.Net等来编写仅限Windows的版本。
或者您可以将已经在Linux中编写的现有shell脚本移植到Ruby,Python或Perl等语言中 - 然后它更有可能在Linux和Windows上运行,只需更少的更改。