Articles of batch file

奇怪的输出与FOR循环中的variables

我正在尝试使用ImageMagick批量调整大量图像文件的大小。 我创build了一个Windowsbatch file,其中包含一个命令行参数(包括通配符)。 该脚本应该为指定的每个图像执行convert.exe(我重命名为imconvert.exe)。 @echo off setlocal EnableDelayedExpansion set filename=%1 set file_part=%~nx1 set folder_part=%~dp1 if "%filename%" == "" (goto usage) REM Create a new folder to put the resized ones in if it doesn't already exist set newdir=%folder_part%resized\ echo %newdir% if not exist %newdir% mkdir %newdir% echo. echo. REM Now convert the files to 640 […]

如何parsingbatch file中的命令输出

我正在创build一个batch file来显示我目前的电源计划,我正在使用这个命令: powercfg -getactivescheme 它显示了这样的结果: Power Scheme GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c (High performance) 我想隐藏电源计划代码,所以它只显示: (High performance) 任何帮助表示赞赏:D谢谢!

将jpg文件recursionsearch,复制和重命名为父文件夹名称

我一直在试图找出如何做到这一点与不同的批处理命令(复制,forfiles)的混合物,但我无法弄清楚是正确的,做复制,重命名,并考虑到目录位置。 我有一个不同层次的目录结构,其中包含许多文件,但他们大多都有一个“folder.jpg”。 类似于: 父\ child1 \ folder.jpg 父\的child2 \ folder.jpg 父\ child3 \ child4 \ folder.jpg 父\ child3 \ child5 \ folder.jpg 我想扫描这个,并find任何名为“folder.jpg”的文件,复制,并重命名为“child1-img.jpg”。 然后我会看到我的结构: 父\ child1 \ folder.jpg 父\ child1 \ child1-img.jpg 父\的child2 \ folder.jpg 父\的child2 \的child2-img.jpg 父\ child3 \ child4 \ folder.jpg 父\ child3 \ child4 \ child4,img.jpg 父\ child3 \ child5 \ folder.jpg […]

批处理循环脚本

我在批处理脚本中有循环的问题。 当我尝试: for /f "delims=;" %g in ('dir') do echo %g% 我看到这个 'dir' is not recognized as an internal or external command, operable program or batch file. 我错过了一些事情吗? 为什么Windows命令不起作用?

如何使用MediaInfo将video文件的帧频和stream数信息转换为文本文件?

我在Windows 7的命令提示符窗口中的batch file中执行的控制台命令有问题。我想获取video的帧频和audiostream的数量,并将其写入文本文件中。 对于帧速率没有问题,我从batch file运行此命令: for %%a in (C:\Documents) do ( echo. Mediainfo –Inform=Video;%%FrameRate%% %%a )>> "D:\TestFrame2.txt" 但对于audiostream的数量,它返回一个空文本,并没有错误信息。 我使用完全相同的batch file,但是我用StreamCountreplace了Video by Audio和FrameRate 。 当我运行Mediainfo –Help-Inform时,我看到了这些参数。 Mediainfo –Inform=General;%%AudioCount%%等其他选项也不起作用。 我已经testing过,用Output代替Inform ,没有变化。 而且我也testing过直接在控制台窗口中使用这个命令,而不用将结果redirect到一个文本文件,这是一回事。 没有获得写入文本文件的audiostream数量的原因是什么?

batch file插入多个registry项并logging每个文件的结果

我正在寻找一些build议和帮助。 我有一个脚本插入到registry中的一些值。 reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Company\Configure" /f /v "SystemID" /t REG_SZ /d "%SystemID%" reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Company\Configure" /f /v "Servername" /t REG_SZ /d "%Servername%" reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Company\Configure" /f /v "NIC01_IPv6" /t REG_SZ /d "%NIC01_IPv6%" reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Company\Configure" /f /v "NIC01_GWv6" /t REG_SZ /d "%NIC01_GWv6%" reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Company\Configure" /f /v "NIC02_IPv6" /t REG_SZ /d "%NIC02_IPv6%" reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Company\Configure" […]

如何在电脑上启动batch file

我需要在启动之前启动批处理脚本,然后用他的凭据login。 我怎么办? 谢谢你们

如何使用ExecDos命令隐藏命令提示符窗口

我想在我的脚本中执行三个bat文件,问题是当我直接使用execwait运行这些.bat文件,命令窗口打开,我想隐藏这些命令窗口,但它不工作。 我的代码只有3行。 ExecDos::exec '"catalina_start.bat"' ExecDos::exec '"mysql_start.bat"' ExecDos::exec '"apache_start.bat"' 我也试过这个nsExec命令,但仍然没有解决scheme: nsExec::Exec "cmd /C catalina_start.bat" nsExec::Exec "cmd /C mysql_start.bat" nsExec::Exec "cmd /C apache_start.bat" 这些.bat文件的一些背景,其实这些是xampp安装文件,xampp内部使用这些文件来启动tomcat,mysql和apache。 我面临的问题是,只有第一个bat文件被执行,即tomcat开始(我可以看到,在xampp控制台),但脚本不能前进,SQL和Apache没有开始。

通过批处理cmd重命名/删除registry中的键

当Windows 7中的用户login并且configuration文件损坏时,他们将获得空白configuration文件。 我可以通过转到registry并删除临时configuration文件,设置refcount和状态值,来轻松修复。 我被困在我的批处理,因为我从registry中提取一次我添加2个空格到registry项名称,一旦我批量调用它。 如果我回显%SID%,它将返回正确的值,而不会显示可见的空间。 registry具有%SID%和%SID%.bak @echo off setlocal ENABLEDELAYEDEXPANSION for /F "skip=1 delims=" %%j in ('wmic useraccount where name^="%username%" get SID') do ( set SID=%%j goto :DONE ) :DONE echo SID=%SID% reg delete "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\%SID%.bak" pause 批次的结果: SID=S-1-5-21-1559011707-81249799-2450556423-1000 Permanently delete the registry key HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Window s NT\CurrentVersion\ProfileList\S-1-5-21-1559011707-81249799-2450556423-1000 .b ak (Yes/No)? y ERROR: The system was […]

在批处理中加速Xcopy

所以我试图从我的应用程序复制数据的备份。 我写下面的批处理脚本来做到这一点,但是脚本需要永远运行。 我在凌晨1点开始批处理脚本,并且在上午8:30仍然运行。 这对我来说似乎很奇怪,因为当我在Windows文件资源pipe理器中手动复制我的应用程序的备份时,它根据networking通信在7-15分钟内复制。 我REM %backupcmd% "C:\Program Files\App\App Server\Data\Backups" "%drive%\"行。 这是我用来备份数据的批处理脚本的原始版本,直到一个月前才有效地工作。 所以我使用/d命令尝试了xcopy命令,因此它只会复制在该date(当前date)之后或之后发生更改的源文件,而我正在复制的备份是在每天晚上12:01进行的,副本备份脚本从凌晨1点开始。 任何意见如何加快我的xcopy将不胜感激。 如果你认为我也应该使用powershell来完成这个任务,那么我也可以select这个选项。 @echo off for /F "usebackq tokens=1,2 delims==" %%i in (`wmic os get LocalDateTime /VALUE 2^>NUL`) do if '.%%i.'=='.LocalDateTime.' set ldt=%%j set yyyy=%ldt:~0,4% set mm=%ldt:~4,2% set dd=%ldt:~6,2% :: variables set drive=Z:\RootSoft\App\Data Backups set backupcmd=xcopy /s /c /d /e /h /i /r /y […]