Articles of cmd

FOR / F命令循环中的ERRORLEVEL返回意外的结果

我正在尝试loggingnet stop的输出,同时还捕获其错误。 基于这个问题 ,我尝试了嵌套子例程中的以下内容: set /a loopIndex=0 for /F "usebackq delims=" %%i in (`net stop %SERVICE_NAME%`) do ( if !loopIndex! EQU 0 if !errorlevel! EQU 1 set statementError=1 set /a loopIndex+=1 call :logMessage "%%i" ) echo statementError: %statementError% 然而,这是行不通的,即使net stop成功,也会抛出1 。 这可能没有临时文件? 如果没有,临时文件解决scheme是什么样的?

子网掩码到variablesDOS批处理

长话短说,我只需要将自己的子网掩码设置为一个我可以在DOS中使用的variables 我可以得到它自己的IP地址,但需要掩码也需要将这些值馈送到batch file的其他部分 我甚至会如何显示自己的面具? 我已经search了一下,最近我来了netsh命令,但只能消散散装信息。 我需要隔离子网掩码。 希望有人有一个想法? 谢谢 Confuseis

如何等待,直到我的batch file完成

我正在做一个程序,我需要启动cmd,并启动一个batch file。 问题是我正在使用MyProcess.WaithForexit(); 我认为它不会等待batch file处理完成。 它只是等到cmdclosures。 我的代码到目前为止: System.Diagnostics.ProcessStartInfo ProcStartInfo = new System.Diagnostics.ProcessStartInfo("cmd"); ProcStartInfo.RedirectStandardOutput = true; ProcStartInfo.UseShellExecute = false; ProcStartInfo.CreateNoWindow = false; ProcStartInfo.RedirectStandardError = true; System.Diagnostics.Process MyProcess = new System.Diagnostics.Process(); ProcStartInfo.Arguments = "/c start batch.bat "; MyProcess.StartInfo = ProcStartInfo; MyProcess.Start(); MyProcess.WaitForExit(); 我需要等到batch file完成。 我怎么做?

使用Java代码以pipe理员身份运行cmd

我想执行下面的mysql查询,使用java代码: mysqldump -uroot -ppassword temp1>C:\abc.sql 经过大量的search,我发现这需要CMD作为pipe理员运行我不知道如何使用Java代码作为pipe理员运行。 我尝试过,但它不工作 runtimeProcess = Runtime.getRuntime().exec(new String[] { "runas /profile /user:Administrator \"cmd.exe", executeCmd }); 有没有人有这个想法。 提前致谢。

将命令输出保存到variables

在batch file中,我试图获取命令的输出并将其保存到variables中。 我的命令的目标是计算特定文件夹中的文件夹数量。 我不能使用这个接受的答案中提供的技巧,因为我将不得不做cd path\to\my\folder到达当前目录。 不幸的是,我不能执行这个命令,因为path\to\my\folder实际上是一个UNCpath( \\path\to\my\folder ),而windows cd \\some\UNC\path不支持cd \\some\UNC\path CMD。 我知道这个答案,但我不想使用临时文件。 所以我试图做到以下几点: 要获取文件夹的数量,我使用: dir \\path\to\my\folder | find /c "<REP>" 这工作正常,并返回我一个数字,我所期望的。 要在批量variables中检索这个命令的输出,我尝试过: FOR /F "TOKENS=*" %%i IN ('\\path\to\my\folder | find /c "<REP>"') DO SET value = %%i 但没有成功,错误信息是… | 是意外的。 …当我执行batch file和… %%我是意外的。 当我尝试直接在命令窗口中执行命令。 我试图绕过<REP>string( …find /c ""<REP>""') DO… )的引号,给我同样的错误。 我在正确的path检索variables中的输出? 我应该怎么做才能解决错误信息? 或者也许有一个更简单的方法来设置一个variables的命令输出?

从system32文件夹运行控制台应用程序

我做了一个软件,使我可以通过控制台recursion删除文件夹,我想要做的就是使用CMD.EXE从任何目录到达程序。 当我尝试将软件复制到System32目录,然后从CMD运行时,它给我以下错误: 无法find运行该应用程序的运行时的版本 我试图将其构build为一个64位的程序,但这并没有改变任何东西。 我的代码有什么问题,或者是我构build它的方式? 提前致谢。

CMDshell中的可用空间

有没有办法在CMD中获得磁盘或文件夹的可用磁盘空间量,而无需安装某些第三方应用程序? 我有一个CMD,将一个大文件复制到一个给定的目录,当然可以使用复制命令的错误级别返回,但是我必须等待复制文件所需的时间(例如…然后磁盘已满并且复制操作失败)。 如果有任何想法,我想在开始之前知道。 从Sysinternals试用DU.EXE实用程序,但只显示占用的空间。

如何在命令行中禁用Hyper-V?

我试图打开VMware,它说,VMware播放器和Hyper-V不兼容。 我发现它在这里 ,但它不能使用它提供的命令。 我试图看到帮助,发现那里有/hypervisorsettings选项。 但仍然不能用,它说The parameter is incorrect 。 有人能帮忙吗?

如果使用&&或||,命令成功完成,X> = 1的`EXIT / BX`退出批处理 批量调用之间的运算符

我试图链接一系列.bat文件使用EXIT /BX命令返回成功或失败和&&和|| 有条件地运行下一个.bat(例如a.bat && b.bat )。 无论我是否调用EXIT /B 0或其他结束a.bat, a.bat && b.bat都会在之后调用b.bat。 我的理解是, EXIT /B 0应该设置ERRORLEVEL=0 ,这是成功的,所以&&应该继续。 与此相对应的是,调用EXIT /B 1 ERRORLEVEL=1应该设置ERRORLEVEL=1 ,这是失败的,所以&&应该停止。 我在这里错过了什么? 普通的例子: 对于非批处理命令,按预期行事 C:\>echo test|findstr test>NUL && echo yes yes C:\>echo test|findstr test>NUL || echo yes C:\>echo test|findstr nope>NUL && echo yes C:\>echo test|findstr nope>NUL || echo yes yes C:\> 使用EXIT / B总是看到a.bat成功 […]

并行工作的CMD实例的信号量

我有.bat这将开始X次(不同的论点)在同一时间。 我希望他们修改一个特定的文件,但必须按照可控的延迟顺序进行。 理想情况下,我需要一种机制,只允许一只蝙蝠locking文件,并在需要时进行处理,而不是释放它,以允许另一个进程执行相同的操作。