Articles of cmd

Windows bat替代Bash内联命令

是否有任何Windows等效的语法来在bat脚本文件中的另一个命令内运行一个命令? 在Linux中,你可以简单地使用$(…)或“。

为什么当Java执行它们时,我的Windowsbatch file不能处理?

我有2个文件夹,每个包含数十个batch file( *.bat )。 batch file包含类似于任何一个的文本 del /f/q F:\MEDIA\IMAGE99\2010\270\z\4034\123.tif > nul del /f/q F:\MEDIA\IMAGE99\2010\266\z\3025\456.tif > nul del /f/q F:\MEDIA\IMAGE99\2010\267\z\3025\789.tif > nul del /f/q F:\MEDIA\IMAGE99\2010\286\z\9025\101.tif > nul del /f/q F:\MEDIA\IMAGE99\2010\272\z\6029\112.tif > nul del /f/q F:\MEDIA\IMAGE99\2010\258\z\4034\134.tif > nul 要么 rmdir /q F:\MEDIA\IMAGE99\2010\270\z\4034 rmdir /q F:\MEDIA\IMAGE99\2010\266\z\3025 rmdir /q F:\MEDIA\IMAGE99\2010\267\z\3025 rmdir /q F:\MEDIA\IMAGE99\2010\286\z\9025 rmdir /q F:\MEDIA\IMAGE99\2010\272\z\6029 rmdir /q F:\MEDIA\IMAGE99\2010\258\z\4034 […]

我如何从Java终止进程树?

我在Java中使用Runtime.getRuntime()。exec()命令来启动一个batch file,这又会启动Windows平台的另一个进程。 javaw.exe(Process1) |___xyz.bat(Process2) |___javaw.exe(Process3) Runtime.getRuntime()。exec()返回一个具有destroy方法的Process对象,但是当我使用destroy()时,它只会杀死xyz.bat,并使batch file的subprocess悬而未决。 在Java中有没有一种干净的方式来销毁以批处理作为根开始的进程树? *我不能使用任何自定义库\摆脱batch file绕过问题

在批处理脚本中实现“哪个”命令

我试图制作一个类似于which脚本的脚本。 所以我想检查这个命令是内部的还是外部的,或者两者兼而有之。 我试图执行程序,但是当程序(例如.exe)不正确我的程序退出时出现错误,所以我试图打电话给这个程序的help 。 但是现在,如果我尝试检查示例echo并在我当前的目录中有echo.exe我得到它是外部命令,但不是内部。 所以我的问题是如何做到这一点。 如何检查这个程序是内部的还是外部的。 谢谢。 这是我的代码: @echo off setlocal enabledelayedexpansion if "%1"=="" goto help :start if not "%1"=="" ( shift if "%1"=="/?" goto help goto :start ) set arg=%* for %%a in ("%pathext:;=" "%") do ( echo %arg%|findstr /E /I %%a >nul rem If file was given with extension if not ERRORLEVEL […]

从java代码获取cmd命令的输出

我有一个程序,我能够从我的代码成功执行cmd命令,但我希望能够从cmd命令获得输出。 我怎样才能做到这一点? 到目前为止,我的代码是: Second.java: public class Second { public static void main(String[] args) { System.out.println("Hello world from Second.java"); } } 和Main.java public class Main { public static void main(String[] args) { String filename = args[1].substring(0, args[1].length() – 5); String cmd1 = "javac " + args[1]; String cmd2 = "java " + filename; Runtime r = […]

如何捕获未发送到标准输出的命令行文本?

我正在项目中使用LAME命令行mp3编码器。 我希望能够看到某人正在使用的版本。 如果我只是执行LAME.exe没有参数,我得到,例如: C:\LAME>LAME.exe LAME 32-bits version 3.98.2 (http://www.mp3dev.org/) usage: blah blah blah blah C:\LAME> 如果我尝试redirect输出到一个文本文件使用>到一个文本文件的文本文件是空的。 在c#中使用System.Process运行它时,可以从哪里获得此文本?

如何从cmd.exe为PowerShell脚本指定input和输出path?

我是一个使用PowerShell的新手,并且在命令行中使用了newb。 我有一个PowerShell脚本,我希望别人通过cmd.exe运行。 它看起来像这样: Get-Content $i | (Do stuff with strings) | Out-file $o “i”和“o”是用于input和输出的stringvariables,我想由用户select。 我做了一个batch file,它的所有工作都按预期运行,从cmd运行。 我的问题是,我希望用户能够从命令行指定他们的input和输出path,而无需打开PowerShell。 我怎样才能做到这一点?

在某个CPU负载下运行程序的脚本

我已经尝试了3个小时,现在有多个类似的代码: wmic cpu get loadpercentage > Load.txt findstr "%random:~,1%" Load.txt > Load1.txt set load=<Load1.txt if %load%==" 2 7 " echo yes pause 但他们都跑到一个类似的问题,输出wmic cpu get loadpercentage : LoadPercentage 56 格式只是不允许它被放入一个variables,所以我不能检查它的任何东西。 最好,我希望在Windows CMD和/或PowerShell中完成。 谢谢您的帮助! 编辑: 感谢@lit的代码,这是我的最终代码,完美的作品: :: To find the "GUID" or the codes for each power plan, run the command in CMD "powercfg -list". set […]

可以复制和粘贴在Windows CMD模拟?

在批处理脚本中可以使用“Windows资源pipe理器风格”复制和粘贴? 例如 copy example.exe some arbitrary commands paste example.exe 更新 :复制到剪贴板可以通过cmd完成,但 它看起来像不能粘贴任何东西,除了文字与第三方公用事业如WinClip和粘贴

Command Prompt中的QuickEdit模式如何以及为什么会冻结应用程序?

最近我遇到了一个Windows上的命令提示问题,QuickEdit模式已经启用,点击窗口select文本并挂起正在运行的程序。 这显然是已知的行为 – 我发现了一些与之相关的问题: 命令行Windows挂在RDP Windows中 Windows控制台应用程序被卡住了 如何禁用单个脚本的QuickEdit模式 应用程序如何“暂停”/“暂停”? 过程与* nix上的SIGSTOP信号相似吗? (我也有兴趣理解为什么这个function首先存在?这似乎是不直观和危险的。)