Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 了解批处理文件的资源_Windows_Batch File - Fatal编程技术网

Windows 了解批处理文件的资源

Windows 了解批处理文件的资源,windows,batch-file,Windows,Batch File,在我的新项目中,我需要使用批处理文件(其中很多),但现在我需要了解它们,以及在哪里可以阅读一些好的教程来使用它们(非常好;) PS:我需要为最终用户分发我的应用程序。您可以从以下命令行开始:Command Line=PowerShell/bash/zsh/ 批处理现在已经过时了。如果您在Windows中使用批处理脚本,我可以推荐一件事,那就是学习。它是一个增强的命令行,允许您与任何.net对象交互 玩得开心 在实践中学习可能是最好的方法。批处理语言中有许多陷阱和奇怪之处,使得一些任务非常没有乐趣

在我的新项目中,我需要使用批处理文件(其中很多),但现在我需要了解它们,以及在哪里可以阅读一些好的教程来使用它们(非常好;)


PS:我需要为最终用户分发我的应用程序。

您可以从以下命令行开始:Command Line=PowerShell/bash/zsh/


批处理现在已经过时了。

如果您在Windows中使用批处理脚本,我可以推荐一件事,那就是学习。它是一个增强的命令行,允许您与任何.net对象交互


玩得开心

在实践中学习可能是最好的方法。批处理语言中有许多陷阱和奇怪之处,使得一些任务非常没有乐趣。但我认为每个人至少应该进入一次陷阱:-)

例如,参考文献(有时带有针对特定使用场景的大量示例):

具体的问题和解决方案可能会在一些网站上找到,比如,但是没有太多(我仍然没有在那里进行清理;批处理示例非常糟糕)。我也在自己的网站上维护了一些技巧(不过目前正在维护中;正在努力使用语法高亮)

其他人也提到了这一点:如果你有选择权,那么一定要使用其他技术。PowerShell是一个不错的版本,但在旧版Windows系统(包括Vista)中默认不包括PowerShell。对于许多更复杂的任务,通过WSH的VBScript通常是一个更好的选择,因为它有一个类似的安装基础,而且功能更强大


根据您的要求,这可能是可能的,也可能是不可能的,但如果这是一个选项,请将其考虑在内。

除了所有建议之外,我可以推荐使用VBScript(.vbs)。要使用Powershell,您需要安装它(尽管它可能与Windows更新一起安装)。要使用VBScript(它也非常强大),您不需要任何东西,默认情况下它在Windows中。

基本上,对于bat/cmd文件,您运行的是DOS命令(Windows有额外的程序/功能),每个命令都位于新行

在较旧的Windows系统上,.cmd扩展名优先于.bat,因为它使用cmd.exe运行,后者的执行速度比旧的command.com快。在较新的系统上(我认为XP和更高版本),无论是.cmd还是.bat,它们都由cmd.exe执行

以下是有关编写批处理文件的一些提示/示例:

Wikipedia的DOS命令列表如下:

下面是一些关于调用实际cmd.exe的信息

虽然我通常不喜欢MSDN,但在这种情况下它看起来相当不错。

在Windows上,使用Start |帮助和支持中心,搜索“使用批处理文件”,然后在建议主题的“概述、文章和教程”下的主题列表中,单击“批处理文件”。您将找到使用参数、过滤器和重定向的链接,以及CALL、ECHO、for等批处理命令的参考链接


与PowerShell相比,批处理文件的一个优点是,PowerShell可能没有安装,而命令处理器(CMD.EXE或较旧的DOS版本command.COM)肯定会在那里。

老式:是。难以使用:是的。过时:绝对不是。它仍然是一个非常有效和可行的选项,几乎在所有的Windows系统上都可以运行(不包括WinDOS,希望到目前为止WinDOS已经灭绝)。是的,批处理是一个可行的选项,但PowerShell也是。而且PowerShell更易于使用。五年前,也许你可以说批处理是Windows用户的唯一选择(呃…VBScript?),但我不同意命令行=batch now.VBScript是一个要点。当然不是。继续,看看随机的计算机,告诉我安装了PowerShell的用户百分比。对于某些事情来说,先决条件太多是不可取的。而且几乎所有强制成批完成的事情都会计入该区域。@Mark:PowerShell的问题在于,问题不在于PowerShell。这是关于批处理文件,而不是PowerShell脚本。因此,PowerShell不是答案。抱歉,Ken,但在我发布问题后,他更改了问题。在它说他想做命令行的东西之前,他认为批处理是唯一的方法。我的答案不再适用,因为他改变了答案。无论如何,我会留下我的答案,以防其他人发现它有用。我想你是在谈论windows批处理文件?编辑问题的标题以使其更清晰。如果你有其他选择或有选择语言的特权,请远离批处理!安全设置或组策略可能会禁用VBScript支持。而且,问题不在于VBScript;它是关于批处理文件的。首先回答最初的问题,然后自由地提供替代方案。但是你必须回答原来的问题。肯,你只能通过重命名Wscript.exe或Cscript.exe的扩展关联或删除那些.exe文件来“禁用”它。是的,你甚至可以删除windows,安装Linux,而不需要它。但是谢谢你非常有用的评论。@ken,batch这个词的定义非常松散。批处理文件运行一系列命令来执行作业。如果我编写一个vbscript,将其另存为myscript.vbs,然后将其放入名为test.bat的文件中,它仍然是一个批处理文件吗?为什么不呢?它运行wscript.exe或cscript.exe,与任何其他命令行工具非常相似。。