比MSDOS批处理文件更好?

时间:2009-06-04 17:34:43

标签: powershell batch-file scripting

在bat文件中使用MSDOS比运行命令行操作和复制文件更好。

我遇到了旧的栗子“陷阱”,文件名很长等等 - 由于某种原因,bat文件不会暂停 - 当我在运行命令后在我的脚本中插入PAUSE时 - 这只是烦人的。

那里好多了?

干杯人。

BTW - 刚刚看过Powershell,看起来网络/系统管理员已经在我们的PC上阻止了Powershell(很棒)。

15 个答案:

答案 0 :(得分:21)

查看PowerShell

答案 1 :(得分:6)

使用bat文件时有一些经验法则。

  • 使用setlocal endlocal保存脚本之外的环境变量
  • 在处理文件时使用双引号以允许名称中包含空格的文件
  • 使用pushd / popd代替cd在目录之间移动也适用于UNC路径
  • 如果您运行另一个bat文件,请使用之前的call关键字,否则您的脚本将转移控制新的bat文件,永远不会返回原始文件。

示例: quicksql.bat

@echo off
SETLOCAL

如果“%1”==“”转到用户
set server =%1
如果“%2”==“”转到用户
set database =%2
如果“%3”==“”转到用户
设置脚本=%3

sqlcmd.exe -S%server%-d%database%-i“%script%”
转到EOF

:USAGE

echo%0服务器数据库脚本

:EOF
ENDLOCAL

答案 2 :(得分:5)

实际上,提及VBScript的答案实际上意味着Windows Scripting Host

  

WSH是32位Windows平台的独立于语言的脚本主机。 Microsoft使用WSH提供 Microsoft Visual Basic脚本 Java脚本脚本引擎。它就像ActiveX脚本引擎的控制器一样,就像Microsoft Internet Explorer一样。由于脚本主机不是完整的Internet浏览器,因此其内存占用量小于Internet Explorer;因此,WSH适合执行简单,快速的任务。可以通过双击脚本文件或从命令提示符直接从桌面运行脚本。 WSH提供了一种低内存脚本主机,非常适合非交互式脚本编写需求,例如登录脚本,管理脚本等。 WSH可以从基于Windows的受保护模式主机(Wscript.exe)或基于实模式命令的基于shell的主机(Cscript.exe)运行。

任何可以访问旧版vbsjs)的Windows语言(COMActiveX除外)都可以使用相同的脚本对象。 Python是一个示例,而.NETP-Invoke是另一个示例。

technet 上的Script Center Script Repository包含许多WSH在系统管理中的使用示例,大多数都在VBS中。

答案 3 :(得分:4)

VB脚本在一个普通的.vbs文件中。

答案 4 :(得分:3)

我经常在我使用的每个Windows机器上安装bash和朋友。很多人都使用cygwin,但我更喜欢MinGW

答案 5 :(得分:2)

安装cygwin并使用bash脚本,或者安装perl并使用perl脚本,或安装ant并使用......嗯......我忘了你在那里使用的东西。哦等等......蚂蚁脚本

答案 6 :(得分:0)

参见 - Windows Powershell(以前称为monad)

答案 7 :(得分:0)

脚本化PowerShell应该是相当不错的。我从来没有这样做过,如果你想分发脚本,那么脚本用户也需要PowerShell。

答案 8 :(得分:0)

Microsoft的new-hotness命令行和脚本语言称为PowerShell。它修复了许多批处理文件的问题。

答案 9 :(得分:0)

使用ZTreeWin,它是一个功能强大的Win32文本模式文件/目录管理器,无需安装即可运行。

答案 10 :(得分:0)

同样过时的是4DOS。注意许可。

答案 11 :(得分:0)

Windows Scripting Host

  • 您可以使用多种语言 实现,如VBScript,JScript, 或Python(我想我甚至见过 Perl的)。
  • 您可以完全访问 语言内置库。
  • 你明白了 比API更丰富的API 纯OLE-壳。
  • WSH包括在内 所有发布的Windows版本。
  • 您 可以混合搭配语言,重用 块,添加新库等

答案 12 :(得分:0)

Take Command是一个选项。我用它并喜欢它:

http://www.jpsoft.com/index.html

提供真正的Windows脚本语言

  

164内置命令
245   功能
159系统变量
  成熟的测试代码
向上   与字面上的CMD.EXE兼容   成千上万的补充

答案 13 :(得分:0)

你可能会考虑Tcl。您可以获取名为tclkit的单个文件可执行文件,并将其与.tcl文件关联。 Tcl具有非常强大的文件处理命令,您还可以选择显示本机窗口以显示进度,添加文件选择器等。

Tcl不是每个人都喝的茶,但它是一个非常强大的脚本工具。使用tclkits,部署是微不足道的,因为它只是一个小的单个文件可执行文件。

答案 14 :(得分:0)

了解Python或Ruby,它可以执行Powershell,VBScript,Perl,PHP等等;)