Articles of cmd

文件夹比较通过命令行

我想比较Windows(Vista,XP)上的两个文件夹,它们有大量的大文件,我需要比较。 如果我使用超越比较或这样的工具来比较文件夹,如果我手动执行它是花了很多时间。 我需要将该文件夹比较添加到batch file。 所以在Windows(XP,Vista)上,是否有任何命令(内置)或任何第三方工具/实用程序(商业或免费软件)来比较使用命令行的两个文件夹。

batch file以recursion方式删除N个天数以前的文件夹中的文件

我正在使用batch file来删除以.snp结尾超过180天的所有文件。 下面的代码用于删除以根文件夹下的.snp结尾的所有文件 C:\ Program Files \ Snapshots 但我最近发现,在快照文件夹中有按date组织的文件夹 “1-10-2014,12-20-2014,10-15-2014等”。 而下面的代码行不能recursionsearch每个目录,因此不能删除。 我应该对这段代码做什么修改,让它recursionsearch根文件夹中的文件夹并删除大于180天的文件? forfiles /M *.snp /P "C:\Program Files\Snapshots" /S /D -180 /C "cmd /c del /F /Q @path"

batch file执行后为什么不closuresCMD窗口?

我试图通过将适当的命令放入batch file来执行文件。 完成文件执行后,命令窗口不会自动closures。 我也使用了Exit命令,但是它并没有自动closures窗口。 我的batch file中的命令: start "" /w /B /d "%CD%\Project-Aug-New\MyCardApi\trunk\src\build\bin" MyCardApiTest_32d.exe exit 0

如何从wmic输出中删除空行?

这是我的string来获取TeamViewer(任何版本)服务可执行文件的位置: for /f "skip=1 delims=" %A in ('wmic path win32_service where "name like 'TeamViewer%'" get pathname') do set POSITION=%A 这个问题是由wmic引起的,因为它在结果(Windows 7命令)结尾处包含一个空行,这是输出: C:\Users\giovanni>for /f "skip=1 delims=" %A in ('wmic path win32_service where "name like 'TeamViewer% '" get pathname') do set POSITION=%A :\Users\giovanni>set POSITION="C:\Program Files\TeamViewer\Version8\TeamViewer_Service.exe" :\Users\giovanni>set POSITION= C:\Users\giovanni>echo %position% ECHO enabled. 我如何才能得到只有可执行文件的正确位置输出的第二行? (当然也可以跳过最后一行)。 感谢所有提前,并有一个愉快的一天。 乔瓦尼。 这是checktv.bat: for […]

如何在Windowsbatch file中提取版本号?

我需要从string中提取主要,次要和修订号码,并实现这一点我试图分割一个batch file中的string使用'。 字符作为分隔符。 例如:如果用户在命令提示符中input1.0.2 ,我应该能够提取 1 – 主要版本, 0 – 次要版本和 2 – 修订 我试图使用FOR命令来实现这一点,但只是没有通过。 任何人都可以帮助我的提取部分 @ECHO OFF & SETLOCAL set /p "ReleaseVersion=Please specify the software release version : " :nextVar for /F "tokens=1* delims=." %%a in ("%ReleaseVersion%") do ( set %%a set ReleaseVersion=%%b ) if defined ReleaseVersion goto nextVar @PAUSE

有没有办法设置窗口,让控制台窗口打开?

有什么方法让代码完成后立即停止closures,这样我实际上可以读取终止脚本中的错误消息吗? 我知道不同语言的各种命令可以用来等待用户input一个字符。 我问是否有一种方法可以设置窗口本身 ,使窗口可以通用或特定types的程序打开,以便在没有任何特殊的使用条件(如从CMD内部调用)或添加编码(例如作为代码末尾的用户input命令) 。

如何find批量创build的最后一个目录

这是我的第一个问题,我不是很有经验的使用batch file,所以希望有人可以帮忙。 我想find使用batch file创build的最后一个目录,并尝试过: FOR /f "tokens=*" %%A in ('dir "%latestdirectory%" /AD-h /B /o-d') do (set recent=%%A) 但是这个结果不断返回最旧的目录而不是最近的目录。 仍然试图批量挑选这个。

在批处理脚本中获取Powershellvariables值

我想在批处理脚本中获取导出的powershellvariables的值。 以下是示例脚本。 sample.ps1 $myname="user1" sample.bat @echo on FOR /F "delims=" %%i IN ('powershell . "D:\sample.ps1"; (Get-Variable myname).value') DO SET VAL=%%i echo %VAL% pause 执行sample.bat时,我总是得到错误。 .value') was unexpected at this time. 但是,如果我在PowerShell中执行如下,我能够得到正确的输出。 . "D:\sample.ps1"; (Get-Variable myname).value 我想知道如何在批处理脚本中绕过Get-Variable命令的圆括号。 或者想知道任何其他方式来获取批处理脚本中导出的powershellvariables的值。

将文件输出存储到variables中

我想存储文本文件的输出到一个variables,所以我可以传递整个文件作为参数。 我正在使用Windows 2003 Server。 文本文件有多行,如: 10.20.210.100 fish 10.20.210.101 rock 我正在使用: Set /P var=<file.txt 它只读取文件的第一行。 我也尝试了FOR循环,但它只分配到variables的最后一行。

batch file,stringvariables比较,if语句

我想比较一个文件的日志与一个普通的string,但它不进入如果比较。 我在echo声明中获得“连接失败”作为第二个标记,但没有得到任何IF语句的结果。 @echo off rem start cmd.exe for /f "tokens=2 delims=:" %%n IN (C:\Users\rohit.bagjani\Desktop\result\telnetresult.txt) DO ( SET str1 = " Connect failed" echo %%n if \i %str1%==%%n echo "true" ) echo. pause