Articles of cmd

如何将一个目录树的内容移动到另一个目录树的内容?

我有一个目录,其中包含文件和一些级别的子目录: C:\Source 我想将C:\ Source的内容移动到: C:\Destination 要求: 必须移动C:\ SourceData中的所有文件和所有子目录 我将在batch file中运行该命令 我无法使用Powershell或任何其他脚本语言 尝试0 XCOPY /E "C:\Source" "C:\Destination" 这完美的作品,但它复制而不是移动。 我无法复制,然后删除源文件,因为我正在移动一大堆文件,而且没有足够的磁盘空间来同时拥有它们的两个副本。 尝试1 MOVE "C:\Source" "C:\Destination" 这将整个C:\ Source目录移动到 C:\ Destination,所以我最终得到: C:\Destination\Source 尝试2 在这个问题和接受的答案的一些帮助下,我想出了: for /r "C:\Source" %%x in (*) do move "%%x" "C:\Destination" 这将移动C:\ Source中的文件,但不移动子目录或其内容。 请注意,我使用%% x而不是%x,因为我在batch file中使用它。 使用FOR似乎很有前途,但我不确定我是否使用了正确的语法? 我错过了什么吗? 尝试3 正如Nick D所build议的,我尝试重新命名: 重命名“C:\ Source”目标 对于示例场景,我给这个工作正常。 不幸的是,我真正的目的地目录与Source目录的级别不同,似乎并不支持: C:\>REN /? […]

从Windows中的Java代码运行Maven?

我想基于这个build议从我的java类运行maven: 如何从java运行maven? Runtime.getRuntime().exec("mvn"); 但是我得到: java.io.IOException: Cannot run program "mvn": CreateProcess error=2, The system cannot find the file specified mvn是我的path,我可以从cmd运行它: C:\Users\m>mvn -v Apache Maven 3.0.3 (r1075438; 2011-02-28 18:31:09+0100) Maven home: C:\apache-maven-3.0.3\bin\.. Java version: 1.6.0_20, vendor: Sun Microsystems Inc. Java home: C:\Program Files\Java\jdk1.6.0_20\jre … 有什么build议么?

对文件夹中的所有文件执行命令

我想运行一个目录中的所有文件的命令。 对于(c \ conversion * .ajt)%% 1 转换命令 %% 1 %% 2然而,我需要有一个输出文件名与input相同,但具有不同的文件扩展名。 asciitojt.exe filename1.ajt filename1.jt asciitojt.exe filename2.ajt filename2.jt asciitojt.exe filename3.ajt filename3.jt 是我想要离开系统。 我如何replace最后3个字符? 这是运行在一个batch file。

Windows 7中运行不同用户的单行命令也包含密码

是否有任何单行命令为Windows 7中运行不同的用户。 我正在使用以下命令,但然后它要求input密码 runas /user:USER-NAME "C:\full\path\of\Program.exe" 还有什么办法supply password also在上面supply password also ? 其实我从其他应用程序启动应用程序,所以我不想任何用户交互但在上面的命令它要求用户PASSWORD

为什么不需要`call`从pipe道中涉及的被调用的批处理脚本返回?

假设有一个batch file(调用者)执行另一个batch file(被调用者), call命令需要被使用以在被调用者完成执行之后返callback用者。 这里是一个例子: caller.bat : echo Calling another script… call callee.bat echo Returned from callee… callee.bat (在相同的位置) : echo Being called from caller… 输出将是这个(省略命令回声),显示执行返回按预期: Calling another script… Being called from caller… Returned from callee… 如果call者中的call命令被解除,则输出将是: Calling another script… Being called from caller… 但是只要被调用者涉及到pipe道( | ), call命令是否被使用就没有区别。 例如: caller.bat (被调用者保持不变) : echo Calling another […]

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的命令输出?