Articles of batch file

保持Y的X实例始终在运行,窗口

我怎样才能用批处理脚本确保我总是运行例如cmd.exe的X实例? 我search,发现如果X实例正在运行,这给了我X行。 tasklist /FI "IMAGENAME eq exe.exe" 2>NUL | find /I /N "exe.exe" 然后,如果已经停止运行,请执行START XXX X次START XXX X次…?

batch file命令在新窗口中打开不同的命令

对于我的一个工作职能,我必须打开一个程序的多个实例。 我需要6个IE窗口,1个Chrome浏览器和一个内部的基于Web的程序,通过IE浏览器启动。 我已经写了一个batch file,打开一切正常,我的团队都使用它,但它打开IE标签中的所有窗口,然后我们必须将url复制/粘贴到新的窗口。 我试图让他们在个人窗口中打开。 这是我到目前为止所做的(这是有效的,而不是我想要的): @echo off Start "——" "http://url.com/program.html" Start "——" "http://url.com/program.html" Start "——" "http://url.com/program.html" Start "——" "http://url.com/program.html" Start "——" "http://url.com/program.html" Start "——" "http://url.com/program.html" start "——" "http://url.com/program.html" start "——" "http://url.com/program.html" 为了公司安全,我已经为程序名称添加了通用的URL和连字符,但我认为它仍然是我的观点。 其中每一个都在1个IE窗口的不同标签中打开。 为了在单独的IE窗口中打开每一行,并在Chrome窗口中打开其中的一行,我需要添加到这个.bat文件中? 谢谢! -Ghaz

Windows批处理脚本从文件名删除括号中的文本?

我在一个文件夹中有一堆文件,我想通过一个.bat或.vbs脚本(或类似的)复制和重命名。 这些文件被命名为: ABC-DE-(XXX)SomeNameHere.dat 我想复制这些文件并重命名它们,删除(XXX)部分,只留下: ABC-DE-SomeNameHere.dat 有一种类似的问题在这里回答,但我不能修改它为上述文件名模式工作,也只是重命名文件,不复制它们。 任何帮助深表感谢! 非常感谢。 编辑:张贴( 可怕的! )下面的代码。 可能最好忽略这个; _; @ECHO OFF FOR %%F IN ("ABC-DE-(*)*.dat") DO CALL :process "%%F" GOTO :EOF :process SET oldname=%1 SET "newname=%~nx1" SET "newname=%newname:*] =%" RENAME %oldname% "%newname%"

当path包含空格时,如何使用通配符从MS DOSbatch file中删除多个文件?

说我有一个目录,其中包含以下文件: Test.bat Test_a.txt Test_b.txt Test_v1.zip Test_v2.zip Test_v3.zip 我想静静地删除所有的Test_v*.zip (没有错误消息logging到屏幕上)。 我可以用下面的脚本实现这个function: @ECHO OFF SET OLD_ZIPS=^ C:\Tmp\Test_v*.txt;^ C:\Tmp\Test_a.txt ECHO Deleting the following files: %OLD_ZIPS% FOR %%Y IN (%OLD_ZIPS%) DO ( IF EXIST %%Y ( ECHO Deleting %%Y DEL /Q %%Y) ) PAUSE 这工作正常: Deleting the following files: C:\Tmp\Test_v*.txt;C:\Tmp\Test_a.txt Deleting "C:\Tmp\Test_v1.txt" Deleting "C:\Tmp\Test_v2.txt" Deleting "C:\Tmp\Test_a.txt" Press any key […]

使用batch file在不同的实例中打开多个Excel文件

我运行多个Excel实例/文件,每天都需要手动重启PC。 目前我保存我所有的优秀,重新启动电脑,然后必须分别打开每个文件,这是相当手动。 有谁知道一个程序,我可以运行,将在重新启动后在单独的Excel实例中打开相同的Excel文件? 解: @echo off setlocal EnableDelayedExpansion set "excel=C:\Program Files (x86)\Microsoft Office\Office12\Excel.exe" for %%a in ( "R:\Other Stuff\Name\text_excel_1.xlsx" "R:\Other Stuff\Name\text_excel_2.xlsx" ) do start "" "%excel%" "%%~a" 以前的编辑: 我已经得到了这一批,但第二个Excel实例将不会打开,除非我closures第一个。 "C:\Program Files (x86)\Microsoft Office\Office12\Excel.exe" "C:\Program Files (x86)\Microsoft Office\Office12\Excel.exe" "C:\Program Files (x86)\Microsoft Office\Office12\Excel.exe" 有没有人看到这个? 编辑:已经尝试使用启动命令,但是这将打开这两个文件在同一个实例。 我将如何在多个实例中打开它们? start /d "R:\Other Stuff\Name" test_excel_1.xlsx start /d "R:\Other Stuff\Name" test_excel_1.xlsx 编辑2: […]

在python中使用subprocess运行utf-8编码的windowsbatch file

当试图运行使用utf-8编码的Windowsbatch file时,使用Windows 7下的Python 2.7,batch file的第一个命令无法识别(请参阅示例)。 最有可能的是,被解释为字符。 我如何让底层的shell正确运行batch file? 所调用的batch file来自第三方。 这里是一个简单的python脚本,它重现了这个问题: import codecs import subprocess content = "@echo off" with codecs.open('test_utf8.bat', 'w', 'utf-8-sig') as f: f.write(content) f.close() with open('test_ansi.bat', 'w') as f: f.write(content) f.close() print "Calling test_ansi.bat" subprocess.call('test_ansi.bat', shell=True) print "Calling test_utf8.bat" subprocess.call('test_utf8.bat', shell=True) print "Done" 运行脚本将提供以下输出 t:\tmp\test>python test.py Calling test_ansi.bat Calling test_utf8.bat t:\tmp\test>´╗┐@echo off […]

在batch file中使用空格?

我需要运行batch file来设置许多文件夹的权限。 我们有以下文件夹结构 然后在每个客户端文件夹中,我们有几个子文件夹,例如Folder1 \ Client1 \ SubFolder1 Folder1 \ Client1 \ SubFolder2 Folder1 \ Client1 \ SubFolder3 我需要重置上面示例中所有子文件夹的权限,并在名为permissions.bat的文件中包含以下代码 for /f %%g in ('dir "f:\temp\" /ad /b') do for /f %%a in ('dir %%~fg /ad /b') do icacls "%%~fg\%%a" /grant:r domain\mygroup:(OI)(CI)M 这工作正常,但对于包含空格的客户端和子文件夹不起作用。 例如 Folder1\Client1\Sub Folder 1 会显示为 Folder1\Client1\Sub\ 紧跟着系统找不到指定的文件错误。 有任何想法吗? 顺便说一下,这是在2003服务器上运行。

了解(set)说明符的CMD.EXE FOR行为

我在Windows 7环境中执行CMD.EXEbatch file中有以下命令: FOR %%f IN ("C:\TEMP\FILE.TXT" "C:\TEMP\FILE2.TXT") DO ( ECHO %%f ) C:\ TEMP \ FILE.TXT 不存在 C:\ TEMP \ FILE2.TXT 确实存在 这会产生以下输出: "C:\TEMP\FILE.TXT" "C:\TEMP\FILE2.TXT" 但是,我发现如果我改变FOR命令来包含一个通配符,如? 或*在文件名中,我得到我期望的结果,这只是C:\ TEMP \ FILE2.TXT的回声 IE: FOR %%f IN ("C:\TEMP\FILE.TXT?" "C:\TEMP\FILE2.TXT?") DO ( ECHO %%f ) 产生: C:\TEMP\file2.txt FOR命令的文档声明: FOR %variable IN (set) DO command [command-parameters] %variable Specifies a […]

用换行符和回声在batch file中换行。 (^&回声。)

所以我今天才知道可以通过下面的命令设置一个换行符: set nl=^&echo. 例如: set nl=^&echo. echo Hello%nl%world 产量 Hello world 但为什么这个工作? ^&的意义是什么?

用cygwin中的参数调用分号文件

我需要从CYGWIN中调用一个batch file,但是其中一个参数是一个包含分号的类似于path的string。 通常在Windows命令行中,可以用引号括起这个参数(以后需要修改)。 但是这种方法在cygwin中并没有起作用 示例批次(回显前3个参数) echo %1 echo %2 echo %3 Windows cmd调用 file.bat "a;b" c 输出继电器 "a;b" c empty Cygwin电话 ./file.bat "a;b" c 产量 a b c