Articles of batch file

正则expression式search批量replace

我想要在一组文件中的窗口批量search/replace正则expression式模式。 它会是这样的: if the regex matches a line matches then replace it with a new line. 也需要在正则expression式中添加一个variables来replace值。 有谁知道如何处理批处理脚本? 我不太熟悉它。 一些例子可能有帮助。

如何将一个命令的输出插入batch file中的variables?

在Windows上的batch file里,我想要一些variables来输出dir /b命令。 这可以如何实现?

如何编写一个Windowsbatch file

我在位置“ C:\Users\me\Desktop ”中有一个可执行的“ myfile.exe ”文件我想通过批处理在C:\Users\me\Desktop上执行命令“ myfile.exe <firstArg> <secondArg> ”文件, 在命令行中: C:\Users\me\Desktop>myfile.exe <firstArg> <secondArg> 如何在windows中编写上述命令的批处理脚本

确定批处理脚本是否已从命令行(cmd)启动/执行 – 或者 – 要暂停还是不暂停?

我喜欢在我的cmd.exe脚本中有一个典型的“用法:”行 – 如果缺less一个参数,用户将得到如何使用脚本的简单提示。 问题是我不能安全地预测潜在用户是否使用GUI或CLI。 如果有人使用GUI在资源pipe理器窗口中双击这个脚本,他们将没有机会读取任何东西,除非我pause窗口。 如果他们使用CLI, pause会困扰他们。 所以我正在寻找一种方法来检测它。 @echo off if _%1_==__ ( echo usage: %nx0: filename rem now pause or not to pause? ) 有没有一个很好的解决scheme呢?

如果在Windows批处理/ then / else语句

在一个shell脚本中,我有以下代码: if echo Mr.32 ; then echo Success else echo Failed exit fi 什么是Windowsbatch file的等效语法?

在批处理脚本中实现“哪个”命令

我试图制作一个类似于which脚本的脚本。 所以我想检查这个命令是内部的还是外部的,或者两者兼而有之。 我试图执行程序,但是当程序(例如.exe)不正确我的程序退出时出现错误,所以我试图打电话给这个程序的help 。 但是现在,如果我尝试检查示例echo并在我当前的目录中有echo.exe我得到它是外部命令,但不是内部。 所以我的问题是如何做到这一点。 如何检查这个程序是内部的还是外部的。 谢谢。 这是我的代码: @echo off setlocal enabledelayedexpansion if "%1"=="" goto help :start if not "%1"=="" ( shift if "%1"=="/?" goto help goto :start ) set arg=%* for %%a in ("%pathext:;=" "%") do ( echo %arg%|findstr /E /I %%a >nul rem If file was given with extension if not ERRORLEVEL […]

从Windows批处理脚本中的文件读取值

我试图从文件中读取一个值,并在后续的命令中使用它。 我有一个名为AppServer.pid的文件,其中包含我的应用程序服务器的进程ID(只是数字,它不是一个属性文件或类似的东西)。 应用程序服务器挂起,所以我想要取这个值,并将其传递给kill命令。 所以我的脚本会是这样的 SET VALUE_FROM_FILE=AppServer.pid # or something taskkill /pid %VALUE_FROM_FILE% /f 有没有一个方便的方法来做到这一点在Windows脚本?

批处理脚本查找挂载设备的驱动器号

我正在尝试编写批处理脚本来查找特定的挂载设备。 我在Windows 7中。 我知道该设备将有文件夹驱动器:\习惯所以我想看看所有possabilitiesfind一个设备与这条path 这是我到目前为止 @echo off setLocal Enabledelayedexpansion for %%d in (cdefghijklmnopqrstuvw xyz) do ( if exist %%d:\custom ( ECHO Device Found : %%d ) ) 这不工作,它认为它存在每个驱动器号..所以我看到“设备find”每个单个驱动器号。 这是为什么? 我是否在谈论这个错误? 如何find根目录上具有“自定义”文件夹的驱动器号? 谢谢, 斯蒂芬妮

使用Windowsbatch file从FTP服务器下载今天的文件

我正尝试将XML文件从FTP位置复制到应用程序服务器 – 但不是所有文件。 新文件在ftp位置每隔半小时存档一次。 我只需要传输基于时间戳和date的新文件。 我正在使用下面的2个文件从FTP位置复制所有文件。 batch file: ftp -i -s:D:\ftp_commands.txt -n <host name> 文本文件(ftp_commands.txt): user <username> <password> cd <source path> lcd <destination path> mget * bye 任何人都可以请帮我复制基于时间戳或date的文件?

批处理脚本调用可执行文件,如果挂起则退出

因此,我需要编写一个批处理脚本来启动一个可执行文件,并在可执行文件完成后立即退出脚本(所以不需要ip ping等待脚本),但是如果可执行文件仍在运行,会在30分钟后自动终止该脚本并退出脚本挂起,没有回应等) 这是我迄今为止。 find语句正确地输出匹配的进程数,但是我的问题是ERRORLEVEL总是返回0,无论是否有正在运行的匹配的可执行文件。 我对批处理脚本相当陌生,所以很可能我忽略了一些非常简单的事情。 @echo off start calc.exe REM loop 600 times, each loop being 3 seconds (30 minutes total) FOR /L %%A IN (1,1,600) DO ( REM find the running executable tasklist | find /I /C "calc.exe" > nul echo %ERRORLEVEL% Rem exit the script if no executable is found (ie it has […]