Articles of 命令行

PowerShell从命令行参数中剥离双引号

最近我一直在使用PowerShell中的GnuWin32时遇到一些麻烦,只要涉及到双引号。 经过进一步的调查,看来PowerShell从命令行参数中剥离了双引号,即使正确转义也是如此。 PS C:\Documents and Settings\Nick> echo '"hello"' "hello" PS C:\Documents and Settings\Nick> echo.exe '"hello"' hello PS C:\Documents and Settings\Nick> echo.exe '\"hello\"' "hello" 请注意,当传递给PowerShell的echo cmdlet时,双引号是存在的,但是当作为parameter passing给echo.exe时 ,除非用反斜线转义(即使PowerShell的转义字符是反引号,而不是反斜线),否则双引号将被剥离。 这对我来说似乎是一个错误。 如果我将正确的转义string传递给PowerShell,那么PowerShell应该处理任何转义可能是必要的,但是它调用该命令。 这里发生了什么? 目前,解决方法是根据这些规则来逃避命令行参数(这些规则似乎被PowerShell用来调用.exe文件的CreateProcess API调用所使用): 要传递一个双引号,用反斜线转义: \" – > " 要传递一个或多个反斜杠,然后加双引号,用另一个反斜杠转义每个反斜杠,然后转义引号: \\\\\" – > \\" 如果后面没有双引号,则反斜杠不需要转义: \\ – > \\ 请注意,进一步转义双引号可能需要将Windows API转义string中的双引号转义为PowerShell。 下面是一些使用GnuWin32的echo.exe的例子: PS C:\Documents and Settings\Nick> echo.exe […]

如何从命令行获取PID,通过用户名和图像名称过滤

我需要能够使用命令行从正在运行的进程(cmd.exe)获取PID。 问题是有两个cmd.exe运行。 一个是在用户名SYSTEM下,另一个是compUser。 有没有办法,我可以抓住compUser cmd.exe的PID? 编辑:这需要进一步的解释。 我正在从batch file中执行此操作。 我在batch file中调用的一个调用会启动一个不会死的cmd.exe。 所以杀死cmd.exe会很简单: taskkill /F /IM cmd.exe /FI "username eq compUser" 问题是我所在的batch file正在由用户名compUser下的另一个cmd.exe实例处理。 我试图做的是从第一个cmd.exe获取PID,然后再启动第二个cmd.exe。 这样我可以使用这个命令: taskkill /F /IM cmd.exe /FI "username eq compUser" /FI "PID neq [orignal task's PID]"

如何将一个variables设置为Windows上父目录的path?

再次用命令行挣扎,我发现我可以将当​​前工作目录存储在variables中,如下所示: SET current=%cd% 我如何设置父项? SET parent=%..%不起作用,因为它回声%..% 基本上,使用以下内容调用批处理脚本C:\a\b\myscript.bat : @echo off set current=%cd% echo %current% 打印C:\a\b ,我想设置一个variablesparent以便它将打印C:\a而不更改当前的工作目录为.. 这可能吗?

CLI中的JUnittesting等价物

我已经写了一些不完全具有主要方法的代码。 但是我想知道代码是否有问题。 基本上我可以在Eclipse中使用JUnittesting用例(我正在使用linux)。 但是我正处于一个需要在Windows中testing的情况,这个版本目前没有Eclipse。 所以我留下了select在CMD(如果可能的话)。 在cmd中,JUnittesting(Eclipse)等价于什么?

使用Python在Firefox(win)选项卡上启动网页

我试图用这种方式启动一个新的选项卡中的网站url,但它没有在这两个方面的工作: 方法1: os.system('C:\Program Files\Mozilla Firefox\Firefox.exe -new-tab http://www.google.com/'); 和方法2: os.startfile('C:\Program Files\Mozilla Firefox\Firefox.exe -new-tab http://www.google.com/'); 如果我不添加参数(-new-tab http://www.google.com/ ),它可以工作,打开默认页面。

如何使用batch file从COM端口读取数据?

是否有一个DOS / Batch命令可以用于从COM端口读取? 我试图寻找,但没有find解决办法。

批文件日/月/年语法?

我无法find提取当前日/月/年的batch file语法的简单细目。 我有以下语法来声明一个variables用作目录名称; set folder=%date:~10,4%%date:~7,2%%date:~4,2% 任何人都可以在徘徊,双重百分比意味着什么?(或张贴链接)? 我似乎无法完全破译直觉。

batch file用于在文件前添加随机数字(3位数字)并删除数字

我对两个batch file感兴趣:一个生成随机数字(3位数字),并把它们放在一个文件夹中的每个MP3文件的前面,另一批次用于删除这些随机数字。 我在第一批的尝试: @echo off setlocal EnableDelayedExpansion for %%i in (*.mp3) do ( ren "%%i" "!RANDOM!%%i" ) endlocal 问题是:数字最多为5位数。 我在第二批的尝试: @echo off setlocal enableextensions enabledelayedexpansion for %%i in (*.mp3) do (set name=%%i && ren "!name!" "!name:~3!") endlocal 问题是:它从第一个文件中删除了6个字符。

无法在Microsoft Powershell中使用`mvn -D`参数运行Maven,但在命令提示符下工作

我试图从命令行构build我们的Web项目,但是跳过了testing。 我正在使用命令mvn clean install -Dmaven.test.skip=true 。 当我从传统的黑白命令提示符(又名DOS shell)运行命令的命令工作,但是当我从“Windows PowerShell”的命令运行它,我得到以下错误: [ERROR] Unknown lifecycle phase ".test.skip=true". You must specify a valid lifecycle phase or a goal in the format <plugin-prefix>:<goal> or <plugin-group-id>:<plugin- artifact-id>[:<plugin-version>]:<goal>. Available lifecycle phases are: validate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile, process-classes, generate-test-sources, process-test-sources, generate-test-resources, process-test-resources, test-compile, process-test-classes, test, prepar e-package, package, pre-integration-test, integration-test, […]

如何在windows命令行中从tasklist的输出中提取特定的字段

我在Windows命令提示符下运行以下命令 C:>tasklist /fi "Imagename eq BitTorrent.exe" 其输出是 Image Name PID Session Name Session # Mem Usage ================== ======== ================= =========== ========= BitTorrent.exe 6164 Console 3 24,144K 我只需要提取一个字段,即PID,即上述输出中的数字6164。 我如何做到这一点? 更一般地说,如何从windows命令行的命令输出中提取一个子集(1 /多个)的字段?