Articles of batch file

目录 – 列出除了一些之外的所有文件夹

我试图让Windowsbatch file显示已安装的Half Life 1 mods。 安装的mod在hl.exe所在的目录下有自己的文件夹,例如cstrike或SvenCoop 。 但是在同一目录中也有几个文件夹是hl1引擎的一部分: bin , gldrv , platform , relists和valve 。 我想做一个dir ,列出目录中的所有文件夹,除了那些属于hl1引擎的5个文件夹。

Windows命令行/ shell – 当将文件附加到另一个文件时,如何忽略匹配正则expression式的行?

我不熟悉Windowsshell。 所以,假设我的文件是这样的: DontAppend this line shouldn't be appended DontAppend this line shouldn't be either Some lines more lines 我正在追加这样的: type file.txt >> AppendHere.txt 这附加整个文件。 我怎样才能让它跳过以“DontAppend”开头的行?

在Windows中:如何以编程方式在另一个用户环境下以pipe理员模式启动进程?

脚本 我有一个远程计算机,我想以编程方式运行安装程序(任意可执行文件)。 这些安装程序需要两件事情: 它们必须以pipe理员模式运行。 它们必须在特定的用户上下文(特别是属于Administrators组的成员的本地用户)下运行。 这已被certificate是非常具有挑战性的。 看起来似乎存在一些外部工具,但是我正在寻找Windows附带的解决scheme。 这个问题的有效解决scheme是什么样的 从提升的上下文(例如,升级的batch file或可执行程序)中,有效的解决scheme应该能够在另一用户环境下以编程方式在pipe理员模式下启动进程。 假定其他用户的ID和密码可用,而另一个用户是Administrators组的成员。 其他限制: 有效的解决scheme不能依靠外部工具。 由于默认情况下Windows的更新版本与.NET和PowerShell一起提供,因此这些是有效的工具。 有效的解决scheme不需要用户交互。 这意味着如果UAC窗口popup,或者需要任何用户确认,解决scheme是无效的。 请在发布之前testing您的解决scheme,以确保其正常工作! 如果您要提供另一个解决scheme的链接,请在发布前确认链接的解决scheme是否正常工作。 许多声称对这个问题有解决scheme的人其实并没有这样做。 我曾经尝试过 我曾尝试使用批处理脚本,PowerShell和C#。 据我所知,这些技术都不能完成任务。 他们都遭受同样的根本性问题 – 作为另一个用户来运行一个任务,在pipe理员模式下是相互排斥的过程。 让我更具体一点: 为什么不批 用于在不同的用户环境下运行的命令是Runas,它不会启动升级过程。 有几个外部工具声称解决这个问题,但正如前面所述,这是不允许的。 为什么不是PowerShell 启动新进程Start-Process的命令可以提升一个新进程,并以不同的用户身份运行,但不能同时运行。 这里提到这个问题我有一个公开的问题。 不幸的是,没有人提供了一个解决scheme,这使我相信这是不可能的。 为什么不是C# 这似乎也是不可能的,因为Process类似乎不支持以pipe理员模式和不同的用户凭证启动进程。 为什么不是一个外部工具? 这迫使我依靠别人的代码来做正确的事情,而我宁愿自己编写代码。 事实上,我有一个比依靠别人更好的解决scheme ,但是相当危险 : 使用“任务计划程序”创build一个任务,以便在指定的帐户上以pipe理员模式启动可执行文件。 强制任务立即运行。 等待看看任务是否完成。 在这里回答 。 预先感谢任何人试图帮助! 这是非常感激,我希望如果没有别的,其他人能够find这个任务计划周围的工作。

Windows批处理:从文本文件中设置variables

我目前正在寻找一种方法来设置从txt文档中的链接的Windowsbatch file中的variables。 例如,如果文本文件如下所示: http://website1.com http://website2.com http://website3.com 我希望可以把它们输出到variables中。 例: set var1="Line one of text file, ex: http://website1.com" set var2="Line two of text file, ex :http://website2.com" set var3="Line three of text file, ex: http://website3.com" 任何帮助表示赞赏,在此先感谢!

在Windows上更改IP地址的脚本

我用我的电脑通过以太网与一个硬件通信。 为了与这个设备通信,我把我的ip设置为192 168 0 11,子网掩码为255 255 255 0,默认网关为192 168 0 1。 要使用互联网,我select通过控制面板“自动获取IP地址”。 我想有一个脚本,允许我快速select一个或其他以太网设置 – 硬件或互联网。 我主要用python编程,但也许有一个batch file的解决scheme。 谢谢, 巴里。

批字符转义

我相当精通Windows编写批处理脚本,但即使这些年来如何正确地转义字符拼图我。 当试图找出正确的方法来逃避sed使用的正则expression式是特别困难的。 有什么工具可以帮助我吗? 也许东西,让我粘贴在一个“正常”的string,它吐出了正确的逃避版本的string? 更新:我不愿举一个例子,因为我没有find如何转义一个特定string的答案。 我也没有寻找一个解决scheme,将适用于一个特定的应用程序。 我正在寻找一个工具,这将帮助我得到正确的逃生语法每一个string我需要逃脱,无论是什么工具可能会消耗它从命令行。 这就是说,我真正想要的是正则expression式 (^.*)(Form Product=")([^"]*") FormType="[^"]*" FormID="([0-9][0-9]*)".*$ 采取真正的正则expression式(即就BATCH而言未转义),并将其封装在某些sed语法中,如ssed "s@ — Insert escaped regex here — @http://psph/\1/\2@g" "%~1"并最终转义它…再次,有没有任何工具,可以帮助逃脱任何string在BATCH命令行上使用? ps BATCH的转义语法有很多例外,我甚至可以解决一个好的备忘单。

在Windowsbatch file中比较2个date

如何比较batch file中的2个date? 这个: if %%newdate geq %olddate% _do smth_ 不起作用。 在这种情况下,我有这个 27.05.2013 大于 15.07.2013和 14.07.2013 小于 15.07.2013 振亚

.bat当前文件夹名称

在我的蝙蝠脚本中,我正在调用另一个脚本并传递一个string参数 cscript log.vbs "triggered from folder <foldername> by Eric" 您可以看到的string参数包含脚本被调用的文件夹的名称。 什么是正确的方式来通过这个dynamic插入这个文件夹名称的脚本?

批处理脚本 – 一个接一个地运行exe程序

我有一些EXE程序,想要一个接一个地运行batch file。 实际上一个包含2个EXE程序的一些参数。 Example. @echo off start prog1.exe start prog2.exe /—wait untill prog1.exe and prog2.exe finish–/ start prog3.exe start prog4.exe

SETX不会将path追加到系统pathvariables

我试过下面的命令,通过batch file追加一些path到系统pathvariables: setx PATH "%PATH%;C:\Program Files\MySQL\MySQL Server 5.5\bin" 在运行上面的batch file之后,我检查了系统variablespath,上面的path不在那里。 您可以在下面看到所有的窗口Variable value内容: C:\Program Files (x86)\AMD APP\bin\x86_64;C:\Program Files (x86)\AMDAPP\bin\x86;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\ProgramFiles (x86)\ATI Technologies\ATI.ACE\Core-Static; 我究竟做错了什么?