Articles of batch file

批量ERRORLEVEL ping响应

我正在尝试使用batch file来确认使用ping的networking连接。 我想做批处理运行,然后打印,如果ping成功或没有。 问题是,当按批次运行时,它总是显示“失败”。 这里是代码: @echo off cls ping racer | find "Packets: Sent = 4, Received = 4, Lost = 0 (0% loss)," if not errorlevel 1 set error=success if errorlevel 1 set error=failure cls echo Result: %error% pause “赛车手”是我电脑的名字。 我有我的电脑本身,所以我可以消除一个糟糕的连接variables。 正如我之前所说的,批次总是导致失败。 奇怪的是,如果我将代码复制到命令提示符下,程序工作正常。 有谁知道为什么程序在命令提示符工作正常,但不作为批处理? 谢谢

FFMPEG – 批量转换子文件夹

我正在尝试设置一个Windowsbatch file来使用FFMPEG转换一些MP4文件。 在多个子文件夹中有许多文件,因此我需要在每个子文件夹中的每个文件上执行该脚本。 恐怕我没有太多使用batch file的经验,但从我的研究中,我得到了以下命令文本: FOR %%i in (*.mp4) /R DO (ffmpeg32 -i "%%~ni.mp4" -map 0:0 -map 0:1 -map 0:1 -c:v copy -c:a:0 aac -b:a 128k -ac 2 -strict -2 -cutoff 15000 -c:a:1 copy "%~ni&(2).mp4") 该脚本基本上需要将AACaudiostream添加到现有的MP4文件,因此我需要通过在文件名末尾添加(2)来更改输出名称。 我已经单独testing了ffmpeg命令,所以很高兴,它只是需要得到正确的批处理命令。 提前感谢任何指针! 干杯

删除Windows中除2个最新文件夹以外的所有文件夹

我想删除除最近更新的两个文件夹(最后修改date)以外的所有文件夹。 我想用命令行来做这个。 我该怎么做? 以下是显示按上次修改时间sorting的文件夹的代码: dir /ad-h /od 我尝试使用FOR /D命令: for /d "skip=2 tokens=*" %G in ("dir /ad-h /od") DO echo going to delete %G 但是我得到了下面的错误信息: "skip=2 tokens=*" was unexpected at this time. 我该怎么做?

如何在批处理脚本中使用WMIC获得内存利用率的百分比?

我没有得到仅使用WMIC批处理脚本的内存利用率的结果。 我只获得了总字节数和空闲内存。 那么如何以MB为单位以及如何计算内存利用率? 代码1: – @echo off setlocal enabledelayedexpansion set Times=0 for /f "skip=1" %%p in ('wmic cpu get loadpercentage') do ( set Cpusage!Times!=%%p set /A Times+=1 ) echo CPU Percentage = %Cpusage0%%% set Times=0 for /f "skip=1" %%p in ('wmic ComputerSystem get TotalPhysicalMemory') do ( set totalMem!Times!=%%p set /A Times+=1 ) set Times=0 for […]

批处理脚本显示没有输出

关于我之前收到的问题和答复(可以在这里find),我正在寻求关于批处理脚本的帮助。 根据收到的上述问题的答复,我创build了一个批处理脚本,如下所示: @echo off setlocal enabledelayedexpansion ping -n 1 %1 | find "TTL=" > NUL IF NOT ERRORLEVEL 1 ( FOR /F %%i IN ('wmic /node:%1 computersystem get Name') DO (SET A=%%i) FOR /F %%i IN ('wmic /node:%1 computersystem get Domain') DO (SET B=%%i) FOR /F %%i IN ('wmic /node:%1 computersystem get UserName') DO (SET […]

如何从一个batch file中启动进程的PID?

在Windows批处理脚本中,有start命令启动一个新的进程。 是否有可能获得刚开始的进程的PID?

如何在Windows上安排自动FTP下载?

我需要使用用户名,密码,隐式TLSencryption和端口号连接到主机,以将文件下载到Windows Server标准的日常文件夹中。 是否有第三方的命令行应用程序,我可以下载,安装和使用(最好是免费的)? 我不是很确定这是否可以用Windows ftp来完成,如果可以,可以在batch file中完成吗? 我正在尝试NcFTP,但我不确定它是否支持encryption。 我被授予特定的凭据,我无法控制服务器。 我只有关于如何通过TLS访问和下载FileZilla客户端的文件的说明。 我需要安排一个例行的工作,因为我不想每天手动做这个工作。 我可以pipe理自己,我只需要一个可以通过命令行来完成这项工作的工具。

是否可以在批处理/ cmd中回显一些不可打印的字符?

动机 我有一个第三方,以某种特定的function写的不知名的.bat文件,并将花费相当大的努力来重新写(这也是我的问题阻碍了这一努力)。 在for循环中,最基本的debugging方式似乎在屏幕上回显了一些信息。 我曾经使用其他语言的\r (0x0D)字符来完成此操作,在某些terminal/控制台上重新写入同一行(以避免过度泛滥,因为在我的情况下,最后一行会包含错误)。 我已经将值保存到一个variables。 然而,由于迭代可能需要相当长的时间,我仍然很高兴写一些输出到屏幕上,不会过度注入。 我试过了 我知道我可以在回声中在cmd回显一个换行符echo. – 但是我只需要回车 我已经试过这些,但他们没有工作: echo \r , echo ^r , echo \x0d , echo ^x0d , echo #0d , echo ^#0d , echo #x0d , echo ^x0d 我试图在没有太多帮助的情况下为类似的东西而努力 题 是否有可能以某种方式在windows / dos / nt / cmdbatch file中回显回车(或其他不可打印的)字符? PS。 我使用XP或7厘米处理器

git提交并通过Windows上的batch file推送

我经常做同样的任务,将改变提交给远程分支。 有时懒,我需要把一套git命令自动执行这些步骤: cd D:\wamp\www\projectName git checkout dev git add . git commit -am "made changes" git push pause 我也试过: cd D:\wamp\www\projectName call git checkout dev call git add . call git commit -am "made changes" call git push pause 和 cd D:\wamp\www\projectName git.exe checkout dev git.exe add . git.exe commit -am "made changes" git.exe push […]

如何在远程机器上启动.cmd文件?

我需要能够从该文件驻留在该计算机上的目录内启动位于远程计算机上的.cmd文件。 我已经尝试过: invoke-command -ComputerName test123 -ScriptBlock { cmd /cc:/myfile.cmd }在invoke-command -ComputerName test123 -ScriptBlock { cmd /cc:/myfile.cmd }中,启动.cmd,但然后失败,因为它找不到相应的.cmds,这一个启动这些都位于同一个目录中)。 有没有办法启动这个.cmd文件,并保持执行? 即,即使PowerShell窗口closures后,.cmd将继续在远程机器上运行。