Articles of cmd

如何在不打开窗口的情况下调用CMD

我有一个C ++方法(使用Visual Studio,如果有帮助的话)调用这样的cmd: start \B example.exe arg1 arg2 arg3 问题是这个调用打开一个(cmd)窗口。 如果我打开另一个cmd,\ B工作,但是如果没有,它会打开一个新窗口。 我也尝试没有开始\ B,但它是一样的…. 我想避开这个新窗口,但我不知道如何。 任何想法?

Cygwin命令在cmd上的彩色输出

操作系统:Windows XP SP3(不幸的是) 我已经下载并安装了最新版本的Cygwin和Git。 我还configuration了我的环境,在我的系统path中包含“bin”文件夹,并设置用户variablesTERM = msys。 我现在可以进入cmd并使用以下命令,例如: git状态 并得到彩色输出,即状态,要提交的变化是绿色的,而未跟踪的文件等是红色的。 如果没有设置TERM = msys,情况并非如此。 但是,由于我也将Cygwin bin添加到我的path中,所以我可以使用它 LS 得到一个目录列表,但没有彩色输出。 我是否正确地认为,因为我只通过cmd使用二进制文件,而不是Cygwin本身,所以获取彩色输出将不得不与configurationBASHconfiguration文件完全不同。 假设这是可能的; 但是,如果可以用Git来完成,那么Cygwin二进制文件也可以完成。 我很乐意详细说明或澄清任何细节。 谢谢。

batch file运行ping命令并输出到文本

我有两个batch fileping文本文件servers.txt所有IP。 其中一个batch fileping服务器,并在CMD窗口中显示结果。 另一个batch fileping服务器,并在CMD窗口上显示任何内容,并在完成对服务器的所有ping之后,将它们放入OnlineServers.txt文件中。 我想混这个东西 我想要batch file运行ping并在屏幕上显示它们,并将所有联机服务器放在OnlineServers.txt 。 这里是第一个batch file,在CMD窗口上显示ping而不输出到文本文件: @echo off for /f "delims=" %%a in (servers.txt) do ping -n 1 %%a >nul && (echo %%a Online) || (echo %%a Offline) echo. pause 这里是第二个batch file,它在CMD窗口上什么也没有显示,只有在ping所有服务器之后才输出文件: @echo off setlocal EnableDelayedExpansion (for /F "delims=" %%a in (servers.txt) do ( ping -n 1 "%%a" > […]

问题在使用cmd打开多个空格的文件

我使用java调用下面的命令 这是java的初始化 String fileName="C:\\temp\\A a.txt"; String sCmd = "cmd /c start \"\" \"" + fileName + "\""; 这是我打印sCmd时得到的 cmd /c start '" 'C:\temp\A a.txt' 这是我如何运行命令 Runtime.getRuntime().exec(sCmd); 文件名包含多个空格,当我从Java运行这个命令时,它抛出一个错误,因为它不能识别多个空格。它没有空间或一个空间时有效?如何通过Windows命令处理多个空格的文件 示例Java程序 import java.io.File; import java.io.IOException; public class A { public static void main(String[] args) { String fileName = "C:\\temp\\a dfdfd f.txt"; File file = new File(fileName); String sCmd […]

将非蝙蝠扩展文件作为batch file运行

假设我有一个文本文件,它包含批处理命令。 我怎样才能从一个batch file运行该文本文件, 而无需重命名。 我也想保留一个可移植的方面,所以没有registry键或这样的。 不重命名的原因也是防止意外closures时剩下的未命名文件。

使用对本地驱动器的引用在共享上调用批处理

环境:我有两台服务器,ServerA和ServerB。 ServerA存储我的批处理脚本并pipe理我的Task Scheduler以实现自动化。 ServerB存储多个.cmd和.bat文件,这些文件必须添加到ServerA上的任务计划程序。 问题: ServerB的.cmd文件具有本地驱动器引用,如下所示。 当从ServerA的命令行调用时,它们会返回错误,因为命令行在ServerA而不是ServerB中查找它们。 我不能改变这些引用,因为他们有相当数量的从属片断。 码: BatchA.bat: pushd \\ServerB\d$ call Folder1\Folder2\Folder3\CommandB.cmd popd CommandB.cmd: call D:\Folder1\Folder2\Folder3\batch1.bat call D:\Folder1\Folder2\Folder3\batch2.bat call D:\Folder1\Folder2\Folder3\batch3.bat call D:\Folder1\Folder2\Folder3\batch4.bat 问题:如何更新BatchA.bat以正确调用ServerB中的CommandB.cmd?

使用Windows Batch比较3对XML文件

我试图创build一个batch file,读取存储在两个不同位置的3对相同的XML文件,并比较它们的构build版本是否相同或不使用xml文件中的构build标记和次要标记等不同的标记。 我有3个XML文件,master.xml,TGDD.xml和TMasterData.xml.I已经在2个不同的位置存储这3个XML文件,并希望检查他们的版本是否相同或不在这两个位置。 批码是.. @echo off setlocal enableextensions disabledelayedexpansion set "build=" set "build1=" set "gddbuild=" set "gddbuild1=" set "tbuild=" set "tbuild1=" set "ans=Master_Data version same" set "wrong=Master_Data version not same" set "ans1=TGDD version same" set "wrong1=TGDD version not same" set "ans2=TMasterData version same" set "wrong2=TMasterData version not same" for /f "tokens=3 delims=<>" %%a in (' […]

批次:“rd”的退出代码也是错误的

我正在写一个批处理(.bat)脚本,我需要处理删除文件夹失败的情况。 我使用%errorlevel%捕获退出代码,但在rd命令的情况下,它似乎不工作: C:\Users\edo\Desktop>rd testdir Directory is not empty C:\Users\edo\Desktop>echo %errorlevel% 0 为什么? 你有什么build议? 谢谢!

为什么Windows上的cmd.exeshell失败,path使用正斜杠('/'')path分隔符?

就在我以为我已经看到所有的Windowspath问题,我现在遇到了一个情况,只有当使用“/”(正斜杠)作为使用的path分隔符时失败: C:\temp\tcbugs>mkdir "dir1 with spaces" C:\temp\tcbugs>echo hi > "dir1 with spaces"\foo.txt C:\temp\tcbugs>type "dir1 with spaces\foo.txt" hi C:\temp\tcbugs>type "dir1 with spaces/foo.txt" The system cannot find the file specified. 特别有趣的是,它似乎是特定于cmd.exeshell,并不会在PowerShell(也可能在win32 API)中出现: PS C:\temp\tcbugs> type 'dir1 with spaces/foo.txt' hi 还有一点值得注意的是,使用'cd'改变目录并使用'/'作为cmd.exe的path分隔符是行不通的: C:\temp\tcbugs>mkdir dir2_no_spaces C:\temp\tcbugs>cd ./dir2_no_spaces C:\temp\tcbugs\dir2_no_spaces>cd .. 然而,我无法在网上或MSDN的常用文档中find任何有关此特定问题的提及: 命名文件,path,命名空间 这导致我问:为什么会发生这种情况,是否有一个明确的来源来logging这个怪癖? 更新: dbenham指出,无论空格是否在目录名称中,都存在问题,因此在标题和问题主体中删除了引用。 还添加了一个“cd ./”的例子,而其他命令则不行。

批量获取文件名为循环

我在batch file中有以下For循环: for /R c:\test\src %%i IN (*.*) DO ( MOVE %%i C:\test\destination ECHO %%i exit ) ECHO的结果输出整个文件pathEx: C:\ Foldername \ Filename我只需要ECHO出只文件名 。是否有一个特定的命令,会给我的文件名? 谢谢 !