Articles of batch file

Windowsbatch file中的用户决策超时

我写了一个简单的.bat文件,一次询问用户是/否的问题。 现在我想添加一个超时 – 让我们说10秒 – 它。 有一个简单的方法来做到这一点? 到目前为止我的来源: SET /P ANSWER=Do you want it (Y/N)? IF /i {%ANSWER%}=={y} GOTO :yes IF /i {%ANSWER%}=={yes} GOTO :yes GOTO :no :yes @echo Yeah, it will be done. GOTO :continue :no @echo Nope, it will not happen. GOTO :continue :continue @echo And on we go

如何在vbs中传递包含空格的参数?

我有一个批处理脚本: test.bat的 echo first arg is %1 pause 我想从一个带有pipe理权限的vbscript调用,如下所示: test.vbs Set UAC = CreateObject("Shell.Application") UAC.ShellExecute "test.bat", "argument", "", "runas", 1 这工作正常,但我无法传递包含空格作为单个参数的path参数。 基本上,我需要将参数放在空格中,但无论我尝试什么,都不起作用。 它看起来像调用批处理,但cmd窗口只是闪烁起来,消失,所以我不知道什么是错的。 我试过了: UAC.ShellExecute "test.bat", """has spaces""", "", "runas", 1 和 UAC.ShellExecute "test.bat", Chr(34) & "has spaces" & Chr(34), "", "runas", 1 和 UAC.ShellExecute "test.bat", '"has spaces"', , "runas", 1 和 UAC.ShellExecute "cmd", "/c […]

For循环中的错误级别(批处理窗口)

我有以下的Windows批处理代码: for %%i in (iidbms iigcc iigcd dmfacp dmfrcp rmcmd qwerty) do ( tasklist | findstr /i %%i echo %errorlevel% if %errorlevel% == 0 (echo %%i ok process found %errorlevel%) if %errorlevel% == 1 (echo %%i no process found %errorlevel%) ) 但是它不能像我所期望的那样工作。 所有名称进程iidbms , iigcc , iigcd , dmfacp , dmfrcp , rmcmd都是真实的,而且它们是被发现的,而qwerty是一个发明的,不应该find它,所以应该打印“no process found […]

Windows BAT:testing特定文件是否为空

我想检查一个特定的文件是否在Windows .bat文件中是空的。 这是我的非工作脚本: set dir="C:\test" set file="%dir%\fff.txt" cd %dir% if %file%%~zi == 0 exit ftp -s:"%dir%\ftp.action" exit 你能帮我debugging吗?

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中

我有一个Windowsbatch file,曾经工作,但因为我改变了笔记本电脑,它失败了。 我想这是由我的文件path中的点(。)引起的,但是我一直无法find解决此问题的方法。 我基本上通过一个文件名称到我的batch file,让它处理它,但它开始从文件中读取行时失败: echo MBP File: %1 rem Check that the file is a MapBasic Project File if /I "%~sx1" NEQ ".mbp" ( echo Error: file %~dpnx1 is not a MapBasic Project File ^(^*.mbp^) goto :EOF ) else ( echo file %1 is a MapBasic Project File ^(^*.mbp^) ) echo Looping MBP for […]

如何从所有子目录合并具有相同名称的文本文件?

我有几个文件夹的文件。 文件可以具有相同的名称。 我想将文件连接成每个名称之一。 提前致谢。 编辑:对不起,你可以给我看看它的batch file。

Windows批处理脚本来解压目录中的文件

我想解压缩某个目录中的所有文件,并在解压缩时保留文件夹名称。 下面的批处理脚本并不完美。 它只是抛出一堆文件,而不把它们放到一个文件夹,甚至没有完成。 这里有什么问题? for /F %%I IN ('dir /b /s *.zip') DO ( "C:\Program Files (x86)\7-Zip\7z.exe" x -y -o"%%~dpI" "%%I" )

如何从Windows命令行启动MingW Console(GitBash)?

我试图自动化我的工作环境设置使用batch file。 我卡在一个点,我不能从命令行启动MingW64控制台。 start "" "%ProgramFiles%\Git\bin\sh.exe" –login工作正常,但它似乎打开一个不同的shell窗口,我正在寻找。 我会用照片来解释 它打开的是一个集成了bash的默认cmd样式窗口。 这个窗口甚至不能resize 我想要的是 我试图使用命令start "" "%ProgramFiles%\Git\git-bash.exe" –login -i -c /bin/bash但它似乎快速closures后打开它的壳。 如果我从资源pipe理器执行相同的文件,shell不会自动closures。 这里是我的完整batch file供参考 @echo on REM start PHP and MYSQL start "" mysql_server\UniServerZ\UniController.exe start_both REM Open PhpMyAdmin start "" http://localhost/us_opt1/ REM Open Folders start "" %SystemRoot%\explorer.exe "E:\work\" REM Open Git Bash Instance :: in order to open […]

Windows批处理读取文件并将行parsing为标记和variables

我通过search这个网站并学习了一些荒谬的语言,即Windows批处理脚本,取得了很大进展,但是现在我陷入了困境。 我有一个可变数量的行的文本文件,其中每个看起来像这样: AA8315,"United States",N777AN,"American Airlines",AAL98,B772,"Boeing 777-223",AAL,"2013-06-11 23:30:47.923","2013-06-12 00:01:14.459" 我的batch file: set THEDATE=2013-06-12 set THEDATABASE=c:\Kinetic\BaseStation\Basestation.sqb set THECSVFILE=c:\Flights.csv set THEOUTPUTFILE=c:\FlightsNew.csv set THISLINE="" if exist %THECSVFILE% del %THECSVFILE% if exist %THEOUTPUTFILE% del %THEOUTPUTFILE% :: allow time for the csv file to be deleted timeout /t 2 /nobreak c:\sqlite3.exe -header -csv %THEDATABASE% "select Aircraft.ModeS, Aircraft.ModeSCountry as Country, Aircraft.Registration as […]