Articles of batch file

使用Windows批处理脚本在FOR循环中计数

任何人都可以解释吗? 我能够使用Windows命令提示符来循环计数,使用以下方法: SET /A XCOUNT=0 :loop SET /A XCOUNT+=1 echo %XCOUNT% IF "%XCOUNT%" == "4" ( GOTO end ) ELSE ( GOTO loop ) :end 但是这种方法不起作用(它为文件中的每一行输出“1”)。 它的行为像variables超出范围: SET /A COUNT=1 FOR /F "tokens=*" %%A IN (config.properties) DO ( SET /A COUNT+=1 ECHO %COUNT% )

如何用命令行参数stringreplacebat文件中的string

我有一个cmdbatch file中的以下内容: for /f %%l in (%2) do (for %%f in (%%l) do copy "%%f" %1)) 注意:这个脚本基本上是读取一个文本文件,其中包含由%2(例如,其中包含c:\ test1 \ file1.cs; d:\ file2.js)给定path的分号分隔的txt文件,并将文件复制到目标由%1指定的文件夹。 我需要用%4值replace%1参数的string值x (也传递给batch file,例如%3 ),该值也作为parameter passing给batch file。 例如: if %1 = 'test replace x with y' %3=x %4=y 所以输出结果应该是“用y代替y” 我怎样才能实现这一点使用Windows CMD批解释?

使用Windows批处理从文件中删除尾随空格?

如何使用Windows命令提示符修剪文本文件中的所有尾随空格?

为什么这个批处理variables即使设置也不会改变?

@echo off SET first=0 FOR %%N IN (hello bye) DO ( SET first=1 echo %first% echo %%N ) 看起来variables“first”总是0.为什么?

参考/只select一个驱动器的标签? (即不是盘符)

我试图提到一个驱动器的字母可能会改变。 我想通过它的标签(例如,MyLabel(v :))在batch file中引用它,可以用V:\引用它,我想通过MyLabel来引用它。 (这是张贴在专家Echange一个月没有答案,让我们看看有多快,SO回答)

Windowsbatch file可以确定自己的文件名吗?

Windowsbatch file可以确定自己的文件名吗? 例如,如果我运行batch fileC:\ Temp \ myScript.bat,myScript.bat中是否有可以确定string“myScript.bat”的命令?

检测文件是否在batch file中打开

说我有一个batch file进行长期build设,并在最后创build一个EXE。 如果我忘记在开始构build之前closures应用程序,则链接阶段在无法重新创buildEXE时失败。 我想检查EXE是否在构build开始时打开。 我尝试将EXE文件重命名为自身,但是虽然这给出了拒绝访问错误,但重命名命令(作为内部命令)不会设置%ErrorLevel%。 检查将%ErrorLevel%设置为非零值的打开文件的非破坏性方法是什么?

通过batch for循环执行命令的错误级别

以下代码始终显示0作为错误级别,但是当复制命令在for循环命令之外完成时,它会返回非零错误级别。 for /f "usebackq delims=" %%x in (`copy xy`) do ( set VAR=%%x ) ECHO Errorlevel = %ERRORLEVEL% ECHO VAR = %VAR% 有可能得到由for循环执行的复制命令的错误级别?

在Windows 10 cmd中切换不同的Python版本

我不喜欢另一个post 。 因为它涉及重命名python可执行文件。

Windowsbatch file使用date/时间将输出redirect到日志文件

我想运行一个batch file运行一个可执行文件,并将其输出redirect到一个日志文件。 日志文件必须包含date和时间作为文件名。 这是我正在使用的命令: "%PROGRAMFILES%\PostgreSQL\9.4\bin\vacuumdb.exe" –username postgres –verbose –analyze –all > E:\Logs\VacuumDB\%date:~10,4%_%date:~4,2%_%date:~7,2%_%time:~0,2%_%time:~3,2%_%time:~6,2%.log 2>&1 这个命令直接在cmd中粘贴。 日志文件按预期创build为“2015_06_25__11_20_46.log”。 但是,它在粘贴到batch file时不起作用,然后在cmd中运行。 命令解释如下: "C:\Program Files\PostgreSQL\9.4\bin\vacuumdb.exe" –username postgres –verbose –analyze –all 8_21_42.log 1>E:\Logs\VacuumDB\2015_06_26_ 2>&1 请注意,文件名是如何截断的,时间现在被附加到命令参数中,而不是在文件名中。 所以显然这个命令失败了。 这当然是非常简单的,但我还没有find任何解决方法。 任何帮助是极大的赞赏。 谢谢!