3

我想知道在 Windows 平台上做一些脚本工作的选项是什么。我需要文件操作、注册表编辑等功能。可以使用脚本工具编辑文件吗?Windows 脚本工具还提供哪些其他功能?可以使用 Windows GUI 完成的所有事情都可以使用脚本语言完成吗?

4

12 回答 12

5

我认为微软的Windows PowerShell是目前这类事情的最爱。

于 2008-08-28T12:35:56.603 回答
1

可能值得查看 2.0 版的预发布版本。很多东西都变了:

http://blogs.msdn.com/powershell/archive/2007/11/06/what-s-new-in-ctp-of-powershell-2-0.aspx

于 2008-08-28T12:38:06.723 回答
1

安装 Windows 版本的PythonPerl或您最喜欢的语言怎么样?这些应该提供您需要的所有功能。

于 2008-08-28T12:40:04.767 回答
1

批处理文件是最便携的,但是做复杂的事情会变得很困难(非常困难)。

Powershell 非常 - 嗯 - 强大,但目前安装的域仅比那些喜欢使用 powershell 和他们管理的服务器的人多一点。如果您控制正在编写脚本的机器并且可以强制安装 powershell,那么 powershell 就是您要走的路。否则,批处理文件是最好的方法。

Powershell 让您可以做任何可以做的事情,但有些事情会比其他事情更难:)

(说真的,如果你想通过脚本控制 Windows GUI 应用程序,除非应用程序本身支持脚本编写,或者你想开始向对话框控件发布消息并屏幕抓取对话框以检查,否则你会遇到很多痛苦为了成功。)

于 2008-08-28T12:48:09.537 回答
1

我会推荐“Take Command”(JPSoft),它更像是“cmd.exe”而不是 PowerShell。我们在 ESSS 使用了多年。

于 2009-11-20T14:38:19.853 回答
0

Windows 脚本语言

还要看看PowerShell

于 2008-08-28T12:39:31.960 回答
0

脚本?我记得看到过类似的东西。

于 2008-08-28T12:39:34.270 回答
0

Powershell 很好,但它是你必须安装的额外的东西。在几乎所有 Windows 安装中都不是标准的。所以,如果它只是供你自己使用,那么powershell应该没问题。如果您需要脚本在普通用户的计算机上运行,​​例如,作为您正在生产的软件的一部分,它可能不是最佳选择。

如果您对必须安装的额外内容感到满意,您可能需要查看 cygwin。这使您可以使用完整的 Linux bash 命令行和所有相关工具。

如果您需要默认 Windows 安装中包含的内容。有windows命令行(cmd.exe)。它具有一些功能,但与 Linux 中可用的功能相比非常不足。另一个可能更糟糕的问题是,文档的方式并不多。

您可能还对 VB Script (flame away) 感兴趣。VB 脚本几乎可以在任何最近的标准 Windows 安装上运行,并且比命令行功能强大得多。

于 2008-08-28T12:41:54.450 回答
0

我已经安装了 cygwin,所以我可以运行 bash shell 脚本来满足我的自动化需求。此外,当我需要在 Windows 上本地运行更多的东西时,我使用批处理 + jscript 的组合(如果您安装了 Visual Studio.Net,则在 cmdline 上运行,只需调用“cscript XXX.js”)。

于 2008-08-28T12:42:22.250 回答
0

脚本是一个爆炸。

我个人喜欢写一些邪恶的小批处理文件。你可以找到一个命令行程序来做任何事情。我更喜欢批处理文件,主要是因为它们可以从一台机器移植到另一台机器,最多带有几个 unix 工具(SSED、GREP、GAWK)的 zip。有一个命令行 REG.Exe 甚至可以进行注册表更改和读取。您可以使用“FOR /f”循环解析命令的输出。

PowerShell 确实有更多... err..电源(我写的第二篇文章,但我无能为力。)

如果您想查看 Windows 自动化,请查看AutoHotKey

你想自动化什么?这可能有助于我们缩小有用的范围。

  • 乔什

编辑:作为记录,我在@jameso 的同时输入了如果有人在工作中没有问我问题,我可能已经在他面前发帖了。不过,我确实对帖子的相似性感到有些颤抖......

于 2008-08-28T12:54:16.590 回答
0

Powershell 可以满足您的需求。

文件操作

这篇SO 帖子回答了如何替换文本文件中的字符串。将其粘贴在这里以方便参考:

(Get-Content c:\temp\test.txt).replace('[MYID]', 'MyValue') | Set-Content c:\temp\test.txt

您还可以执行其他操作,例如复制文件和文件夹。您可以在Windows Powershell 文档中找到更多信息

注册表编辑

这可以使用 Powershell 轻松完成。这是来自Microsoft Dev Blogs的示例代码:

Set-ItemProperty -Path HKCU:\Software\hsg -Name newproperty -Value anewvalue

于 2019-04-20T01:56:01.273 回答
-1

昨天我本可以为你修好这个的;)

Windows shell 脚本的所有工具/语言是什么?

会读得更好

哪些工具和语言可用于 Windows shell 脚本?

于 2008-08-28T12:46:49.930 回答