Articles of batch file

如何运行命令,直到成功?

我仍然使用Windowsbatch file进行基本任务。 其中之一是检查我的互联网连接(pg.bat),只做ping www.google.com 大多数时候,我需要运行几次,直到成功(主机无法find错误)。 起初我以为ping -t会起作用,但事实并非如此。 当找不到主机时,它立即停止。 如何运行pg.bat直到ping成功? (即至less默认的4个ping工作之一)

如何用批量更改项目中的特定string

我正在开发一个应用程序。 整个项目必须改变一些path。 path是固定的,文件可以被编辑(它在.cshtml )。 所以我想我可以使用一个batch file来将所有http://localhost.com更改为http://domain.com (我知道相对path和绝对path,但是在这里我必须这样做。 我想在许多计算机上使用这个脚本,所以我不想安装一个应用程序,并用脚本使用该应用程序…只要运行.bat就是这样… 所以,如果你有代码,可以在文件中进行更改,这可能是了不起的! 为了完成我的问题,这里是文件和目录的path MyApp的 MyApp的/浏览次数 MyApp的/浏览/首页/ page1.cshtml MyApp的/浏览/首页/ page2.cshtml MyApp的/浏览/另一/ page7.cshtml …

从文本文件中读取一个variables

我正在尝试创build一个密码提示,将用户input与文本文件中的信息进行比较(密码保存在.txt文件中)。 我试图通过命令提示符和本网站提供给我的信息,但我不能得到它的工作,可能是因为我没有足够的经验,因为我是先进的批处理编码新手。 这是我到目前为止,文本文件的名称是Q47.txt,它只是单词“你好”,直到我可以得到这个工作: @echo off :a cls SetLocal EnableDelayedExpansion set content= for /F "delims=" %%i in (Q47.txt) do set content=!content! %%i echo %content% EndLocal echo Enter password to continue: set /p "VAR=>" if "%VAR%" == "%content%" ( goto begin ) echo Incorrect, please try again. pause >nul goto a :begin cls echo Welcome pause >nul […]

在python的另一个目录中运行batch file

我想运行位于MyFolder中与当前目录不同的mybat.bat文件。 我使用了下面的代码: subprocess.Popen(["mybat", MyArg], cwd=MyFolder, stdout=subprocess.PIPE, stderr=subprocess.PIPE, stdin=subprocess.PIPE) 但是,我得到以下错误: "WindowsError: [Error 2] The system cannot find the file specified" 我应该提到,如果我用PATH中的另一个程序(如notepadreplacemybat ,它的工作原理绝对没问题。

循环通过CSV文件与批行解决问题

这是对另一个问题的扩展( 通过批量循环CSV文件 – 空间问题 ) 我有这样的csv文件内容 name,sex,age,description,date venu,m,16,test mesg,2012-05-01 test,f,22,"He is good guy and brilliant",2012-05-01 我使用这个命令循环这个文件。 For /F "usebackq tokens=1-3 delims=" %%x in (test.csv) Do ( 但是由于第二行存在换行符,即使文件中有两条logging,我也得到3条logging。 如何解决这个问题? 提前致谢。

batch file用于在文件前添加随机数字(3位数字)并删除数字

我对两个batch file感兴趣:一个生成随机数字(3位数字),并把它们放在一个文件夹中的每个MP3文件的前面,另一批次用于删除这些随机数字。 我在第一批的尝试: @echo off setlocal EnableDelayedExpansion for %%i in (*.mp3) do ( ren "%%i" "!RANDOM!%%i" ) endlocal 问题是:数字最多为5位数。 我在第二批的尝试: @echo off setlocal enableextensions enabledelayedexpansion for %%i in (*.mp3) do (set name=%%i && ren "!name!" "!name:~3!") endlocal 问题是:它从第一个文件中删除了6个字符。

在每个目录上执行相同的脚本

我有这个奇妙的脚本: gci -Recurse| where {$_.LastWriteTime -gt (Get-Date).AddDays(-45)}| group Extension -NoElement 输出是: 4352 .JPG 2352 .doc 2135 .pdf 1811 .xls 1472 857 .pub 732 .xlsx 565 .docx 66 .rtf 64 .lnk 63 .ppt 61 .url 41 .png 38 .xml 28 .htm 27 .msg 我想要的是同一个脚本在当前目录的每个目录上运行(非recursion)。 例如,如果我在目录c:\test ,并且该目录作为文件夹alex , liza和harry ,那么我希望将这个脚本应用于c:\test\alex , c:\test\liza , c:\test\harry 我想要的输出是: 4352 .JPG […]

将文件复制到文件夹的所有子文件夹

我需要将test.swf复制到不包含“git”单词的c:/ test文件夹的所有子文件夹中 只是尝试类似的东西,但没有奏效 @setlocal enableextensions enabledelayedexpansion @echo off for /r %%a in (.) do ( if not x%a:git=%==x%a% do ( @copy "C:\test.swf" %a > nul ) ) endlocal

你如何在Windows下共享日志文件?

我有几个不同的进程,我希望他们都login到同一个文件。 这些进程在Windows 7系统上运行。 有些是python脚本,其他的是cmdbatch file。 在Unix下你可以让每个人以附加模式打开文件并写下来。 只要每个进程在单个消息中writeless于PIPE_BUF字节,则每个write调用将被保证不与其他任何其他进行交错。 有没有办法在Windows下做到这一点? 天真的类Unix方法失败,因为Windows不喜欢多个进程默认情况下一次打开文件。

对于HTML的inputtypes=“密码”,什么是Windows批处理?

我需要从Windows脚本中获取用户的身份validation凭据,但需要经典的“Google结果”方法: SET /P USR=Username: SET /P PWD=Password: 是不是令人满意,所以我想知道是否有一个“等效” HTMLinputtypes=“密码” ? 任何评论将非常感激,多谢提前!