Articles of 命令行

Powershell:捕获程序stdout和stderr来分离variables

在一次运行中,是否可以将外部程序的stdoutredirect到外部程序的variables和stderr? 例如: $global:ERRORS = @(); $global:PROGERR = @(); function test(){ # Can we redirect errors to $PROGERR here, leaving stdout for $OUTPUT? $OUTPUT = (& myprogram.exe 'argv[0]', 'argv[1]'); if ( $OUTPUT | select-string -Pattern "foo" ) { # do stuff } else { $global:ERRORS += "test(): oh noes! 'foo' missing!"; } } test; if ( […]

Windows:命令行来读取可执行文件的版本信息?

Windows有一个可执行文件,可以在命令行中运行,它返回可执行文件(.exe)的版本号? 我看到了很多问题,显示了如何从不同的语言中做到这一点,并引用第三方软件来写它,但我找不到一个简单的shell命令来做到这一点。 额外的点,如果我不需要安装任何东西。 它必须以普通用户身份运行。 不是pipe理员。

如何批量传递多个参数?

在我的batch file中,我想将多个parameter passing给其他应用程序。 现在我做到了 app.exe %1 %2 它只能传递两个参数,但我想传递所有传递给批处理的参数(我宁愿不写%1%2%3%4 … ) 有没有什么神奇的方法来做到这一点?

Windows7批处理,如何在第一个For循环之后打破

我正在写一个简单的脚本来检索作为IP提供的本地主机地址。 为了得到我的IPv4地址(Win7),我写了简单的FOR循环,但是结果是我从最后一个循环而不是第一个 循环获得了IP。 这里是批处理代码: cls for /f "tokens=1-2 delims=:" %%a in ('ipconfig^|find "IPv4"') do ( set ip=%%b ) set ip=%ip:~1% echo %ip% 这返回: (set ip= 192.168.1.101 ) (set ip= 192.168.88.1 ) (set ip= 192.168.137.1 ) set ip=192.168.137.1 echo 192.168.137.1 192.168.137.1 我需要的是第一个循环的结果: 192.168.1.101

使用命令行禁用以太网连接?

我已经看到许多“禁用无线命令行”的职位,但不是关于禁用以太网。 是否有可能这样做(在Windows 7,32和64位)?

将Java静默安装到具有空格的目录中

我正在尝试使用静默模式安装Java,并指定一个包含空格的安装目录。 当我这样做时,popup“Windows安装程序”对话框,指出其中一个参数是不正确的。 如果我使用短path名称,它的工作是正确的,但我真的不希望使用短目录名称,因为这是存储在registry中的值。 我想要使​​用的命令… jre-6u39-windows-i586.exe /s INSTALLDIR="C:\Program Files (x86)\Java" 这会popupWindows Installer对话框。 当我使用… jre-6u39-windows-i586.exe /s INSTALLDIR=C:\Progra~2\Java 这工作。 注意:“Program Files(x86)”只是一个例子。 这是安装在客户端,他们select安装目录,因此我们必须能够支持他们可能指定的任何目录。 任何想法如何我可以做一个沉默的安装,但仍然使用长path名? 更新: 我想我会分享最后的解决scheme。 一个很酷的事情,我发现我想分享的是,你可以禁止安装的自动重启,它返回一个退出代码3010.因此,你可以推迟到另一次重启。 这里是代码(重写一下,以消除一堆我们自己的抽象) public bool InstallJava(string installPath, string logFile) { bool rebootRequired = false; string fullLogFileName = Path.Combine(logFile, "JavaInstall.log"); string arguments = string.Format("/s /v\"/qn REBOOT=Suppress INSTALLDIR=\\\"{0}\\\" STATIC=1 /L \\\"{1}\\\"\"", installPath, fullLogFileName); ProcessStartInfo startInfo = […]

咕噜执行停止批处理脚本

我正在用cordova和yeoman + angularjs进行开发。 我采用了如下的文件夹结构(在Windows上输出dir命令): C:\code\cordova\pg-droid-app>dir Volume in drive C is OSDisk Volume Serial Number is 404D-C81B Directory of C:\code\cordova\pg-droid-app 01/01/2015 03:46 PM <DIR> . 01/01/2015 03:46 PM <DIR> .. 01/01/2015 03:10 PM <DIR> pgdroid 01/01/2015 03:50 PM <DIR> pgdroid-app-frontend 01/01/2015 03:50 PM 241 showapp.bat 1 File(s) 241 bytes 4 Dir(s) 65,102,319,616 bytes free pgdroid-app-frontend是我运行yo angular的文件夹(yeoman […]

使用FORFILES批量移动30天的文件夹

我目前正在工作,只从一个目录到文件夹的文件夹。 我创build的当前bacth文件如下。 Set /p target=Select Target Destination: ForFiles /P "C:\Batch test" /D -4 /C "CMD /C if @ISDIR==TRUE echo Move @FILE %target%" &Move @File %target% pause 我遇到的问题是使用一个目标目录中有一个空间,例如“C:\ Move Test”。 我想知道是否有办法将文件夹移动到名称中有空格的另一个目录。

有没有从命令行确定.NET Framework版本的方法?

要排除安装故障,有时候我只想快速回答安装.NET的版本。 除了查看目录之外,有没有一种方法可以确定标准Windows系统上的.NET Framework版本? 注:这不是一个开发机器,只是开箱即用的窗口 以下的工作,但我正在寻找一个更简单的方法。 dir%WINDIR%\ Microsoft.Net \ Framework \ v * Directory of C:\Windows\Microsoft.Net\Framework 07/13/2009 07:20 PM <DIR> v1.0.3705 07/13/2009 07:20 PM <DIR> v1.1.4322 01/20/2010 01:16 PM <DIR> v2.0.50727 07/13/2009 09:37 PM <DIR> v3.0 01/20/2010 01:02 PM <DIR> v3.5 02/10/2010 03:20 AM <DIR> v4.0.21006 更新:不是一个解决scheme,但另一个很酷的目录格式化列表 dir%WINDIR%\ Microsoft.Net \ Framework \ v * / O:-N […]

在命令行(Windows)中将文本添加到另一个文本文件的开头的最简单的方法

在命令行(Windows)的另一个文本文件的开头添加文本的最简单方法是什么?