Articles of batch file

如果超过10个,将删除最新的文件夹的batch file

我想创build一个batch file(.bat),如果文件夹超过10个,可以删除文件夹中最新的文件夹。 如果这是目录树: \My Folders\ … \Old Videos\ (Created 2 Hours Ago) … \Files\ (Created Last Month) … \Pics\ (Created Last Week) … \Powerpoints\ (Created Yesterday) … \Videos\ (Created Several Days Ago) … \Old Pics\ (Created Yesterday) … \Movies\ (Created Yesterday) … \Games\ (Created Yesterday) … \Old Files\ (Created Last Month) … \Downloads\ (Created Two […]

批量检查最后打印的行是否包含单词

我有2个batch filea.bat和b.bat。 a.bat调用b.bat和b.bat在屏幕上打印一个句子。 我怎样才能检查这句话,看它是否包含一个单词,如果它包含一个集合作为一个variables。 例如 Sentance: Hello, how are you today? If %Sentance contains% Hello set var=Hello If %Sentance contains% Hi set var=hi 屏幕上可能有多个Sentance,所以我想检查最近显示的传送。 这是我的。 for /f delims^=^ eol^= %%i in ('b.bat') do set lastline=%%i set "var=" echo %lastline%|findstr /i "\<hi\>">nul && set "var=hi" IF ERRORLEVEL 1 (GOTO NEXT0) ELSE (GOTO FOUND) :NEXT0 echo %lastline%|findstr […]

冷凝如果声明batch file

我有这个批处理脚本有很多“if语句”。 这里有几行我有什么: if %c%==PC exit if %c%==pc exit if %c%==CMD exit if %c%==cmd exit if %c%==MENU exit if %c%==menu exit if %c%==KILL exit if %c%==kill exit 有更多的可能性,如果可能的话,真的可以使用一些简化。 那么有没有办法可以简化这个? 也许类似,如果variablesc等于任何这些退出。 甚至使if语句的情况变得不可信这可能吗? 真的,任何简化这个方法都会很棒,可以大大减less我的批处理脚本的大小。 一对夫妇侧面说明 这个代码已经可以工作,除了冷凝它之外,不需要编辑。 我知道这里有类似的问题,但我不知道如何将其应用于我的问题。

确定是否在widows批处理脚本中不能执行java

我写了下面的批处理脚本,如果它没有出现在环境中,它会要求一个JAVA_HOMEpath,然后validationjava版本。 但在识别java版本之前,还应该检查java是否存在于path中(可以执行)。 请帮我弄清楚是否可以执行java -version并显示正确的消息 @echo off setlocal set VERSION5="1.5" IF "%JAVA_HOME%" == "" ( echo Enter path to JAVA_HOME: set /p JAVA_HOME= goto check_java_version ) ELSE ( echo Using %JAVA_HOME% goto check_java_version ) :check_java_version for /f "tokens=3" %%g in ('%JAVA_HOME%\jre\bin\java -version 2^>^&1 ^| findstr /i "version"') do ( set JAVAVER=%%g ) set JAVAVER=%JAVAVER:"=% set JAVAVER=%JAVAVER:java […]

计算Windowsbatch file中的时差

如何在batch file中获得两次之间的差异? 因为我想打印在HTML文件中。 我认为这是可能的,但事实并非如此。 Set "tijd=%time%" echo %tijd% echo %time%-%tijd% 结果: 11:07:48,85 11:16:58,99-11:07:48,85 但是我想要的是: 00:09:10,14 或9分10秒或550秒

如何使batch file自己删除?

是否有可能使batch file删除自己? 我试图让它执行另一个文件来删除它,但是这不起作用有没有人知道我可以做到这一点。 我正在使用的batch file被提升。 我的操作系统是Windows 7 32位。

“Droplet”批处理脚本 – 包含&号的文件名

我试图创build一个batch file,可以有其他文件放在它上面。 具体来说,我使用ffmpeg来编辑手持式录音机产生的audio文件。 问题是使用与&符号的文件名。 即使在引用input时,也只有当文件被放到它上面时,才会将&放下。 如果文件名input是在命令行input的,脚本工作正常。 在cmd窗口closures之前,我暂时看到文件名的其余部分,并显示错误,说明它不被识别为有效的命令。 这是我的脚本: rem更改为驱动器和input文件的目录 %〜D1 cd%〜p1 rem ffmpeg:混合到一个通道,加倍音量 %HOMEDRIVE %% HOMEPATH%\ ffmpeg.exe -i“%〜nx1”-ac 1 -vol 1024“%〜n1 fixed%〜x1” 暂停 下面是删除"ch17&18.mp3"后在命令行上出现的内容: C:\ Users \ computergeeksjw \ Desktop> C:\ Users \ computergeeksjw \ ffmpeg.exe -i“ch17”-ac 1 -vol 1024“ch17 fixed” […] ch17:没有这样的文件或目录 万一它很重要:我正在使用Windows 8开发人员预览。 这是否导致我的问题? 在Windows 7或更早版本上是否出现相同的错误?

拆分path并在批处理脚本中取最后的文件夹名称

我想用\分割string(有一个path),并把最后一个文件夹名称放在一个variables中。 请帮忙。 例如 mypath中= d:\ FOLDER1 \ FOLDER2 \ FOLDER3 \ 我想在一个variables的FOLDER3。 我试着用下面的命令工作,如果最后一个字符不是\ : for %f in (C:\FOLDER1\FOLDER2\FOLDER3) do set myfolder=%~nxf 如果最后一个字符是\ 另外它不工作,如果使用variables如: for%f(%mypath%)do set myfolder =%〜nxf

如何使Windows批处理脚本完全沉默?

这个问题已经有几代人问过了,但是尽pipe编写了一些非常复杂的Windows脚本,我似乎无法find如何使它们实际上保持沉默。 以下是我目前的一个脚本的摘录: @ECHO OFF SET scriptDirectory=%~dp0 COPY %scriptDirectory%test.bat %scriptDirectory%test2.bat FOR /F %%f IN ('dir /B "%scriptDirectory%*.noext"') DO ( del "%scriptDirectory%%%f" ) ECHO 结果是: C:\Temp> test.bat 1 file(s) copied. File Not Found Echo is off. C:\Temp> 而“1个文件被复制”。 只是烦人的,“文件未find”,使用户认为出了问题(它没有 – 没有文件是好的)。

%x在这个时候是意外的。 批处理脚本

@echo off for /f "tokens=1,2 delims=," %%x in (my.csv) do ( if %M% LSS %%x set M=%%x ) echo Max X Value= %M% 有时它工作正常,有时会失败,并出现以下错误: %x was unexpected at this time.