Articles of batch file

Windows批处理,只select用户variables

在环境variables中,我对用户variables和系统variables都有一个PATHvariables。 在批处理脚本中,为了使用新的给定path附加用户PATHvariables,我需要select当前值。 不幸的是,%PATH%返回用户variables和系统variables的组合。 当然,我只想为用户variables添加一个新的自定义path值。 用系统path来增强它也没有意义。 这就是为什么我有两个variables。 提前致谢。 编辑:在文档中find以下语句: %PATH%variables被设置为一个系统和用户variables,这两个值被合并为当前login用户的path…. 例: 用户variables: PATH value: c:\dev 系统variables PATH value: c:\Program Files 我想要做的是添加到用户variables的值:c:\ tmp,这样最后PATH将具有值:c:\ dev; c:\ tmp 但是,如果打开一个cmd窗口: echo %PATH% c:\Program Files;c:\dev 所以setx会做到以下几点 setx path "%path%;c:\tmp" 打开新的cmd echo %PATH% c:\Program Files;c:\dev;c:\tmp 这是错误的,因为我只需要c:\ dev; c:\ tmp 我希望这次我更清楚。

在Windows批处理中回覆UTF-8字符

我可以使用echo生成一个UTF-8文本文件吗? 例如,如果我想生成一个包含字符“è”的文件 echo "abcd ę" > out.txt (该batch file使用UTF-8编码) 结果是一个ANSI编码的文件,“é”字符被转换成“ê”。 我怎样才能说服“回声”生成一个UTF-8文件? 如果这是不可能的,那么我可以在创build文本文件后更改它的编码吗? gnuwin32软件包中是否有任何工具可以帮助我更改编码? 谢谢

从batch file发送电子邮件的最佳方式是什么?

我有一个夜间批量作业,可以告诉它是否失败。 我希望它给我发一封电子邮件,可能会附带一个附件。 如何从Windows批处理(.bat)文件发送电子邮件?

如何在Windows批处理脚本中将%USERNAME%的值转换为小写?

我使用dot bat脚本来自动化一些源码控制软件的function,但是考虑到我们的svn回收站是放在一个* NIX盒子里,所以我正面临着这两个世界之间永恒的案例问题。 是否有任何cmd.exe函数将Windows系统variables%USERNAME%的值转换为小写? 非常感谢!

在已经运行的batch file上设置进程优先级

我如何改变一个已经运行的拥有者的优先权我现在我可以用它来启动拥有: START /HIGH notepad.exe但是我如何改变它已经运行的记事本。 谢谢,如果任何人可以帮助这一点。

使用批处理脚本从文本文件中删除多行string

我正在尝试创build一个batch file,它将编辑一个文本文件以删除包含特定string的行,然后直接删除该行。 这个文件的例子看起来像这样: LINE ENTRY KEEP_1 BLA BLA 结束 LINE ENTRY REMOVE_1 FOO BAR 结束 LINE ENTRY REMOVE_2 HELLO WORLD 结束 LINE ENTRY KEEP_2 CAT DOG 结束 在运行批处理脚本之后,我需要包含新文件 LINE ENTRY KEEP_1 BLA BLA 结束 LINE ENTRY KEEP_2 CAT DOG 结束 其中包含REMOVE_的任何行都被删除,以及相应的“END”行。 我已经尝试使用这里find的技术来删除包含string的行,但似乎不可能包含\ r \ n等字符来检查并在search中包含“END”。 我不能做到这一点,作为2个单独的FINDSTR命令,因为我仍然需要为其他两个条目保留“结束”文本。 使用findstr /v REMOVE_留下以下内容: LINE ENTRY KEEP_1 BLA BLA 结束 […]

subprocess拥有用于redirect其父进程的标准输出的文件

情景我有一个batch filea.bat,其中包含语句 A.exe >> a.txt Test.exe >> a.txt A.exe启动另一个exe说b.exe(通过_wpopen函数)并返回。 但redirectA.exe的输出后,a.txt的所有权似乎被转移到b.exe。 由于b.exe仍在运行,仍然拥有a.txt,因此test.exe无法将其stdoutredirect到a.txt。 B.exe无限期运行,不能等待它停止。 而且我也无法将输出redirect到多个文件。 由于这些exe执行是安装设置的一部分,因此日志应该是连续的,并且必须对单个文件执行 有这种情况下有任何可能的解决scheme? 我想在a.exe返回后文件a.text是免费的!

batch file从txt文件中删除前18个字符

我有一个.txt文件,超过32000行注释的机器代码。 它看起来像这样: Display menu window C0/000E: E220 SEP #$20 C0/0010: C210 REP #$10 C0/0012: 20640B JSR $0B64 C0/0015: 20750B JSR $0B75 C0/0018: C220 REP #$20 C0/001A: A90001 LDA #$0100 为了编译目的,我需要如下转换代码: ; Display menu window SEP #$20 REP #$10 JSR $0B64 JSR $0B75 REP #$20 LDA #$0100 具体来说就是说: 空白行必须保持不变。 如果一行以“C0 /”开始,则前18个字符将被删除,包括标签。 否则,这是一个函数标题,所以在开头添加一个分号,后面跟一个空格(不是强制的)。 任何帮助将不胜感激。

出现错误时,启动/等待/ b不退出程序

我有一个batch file,将运行其他文件(让我们称之为程序文件)如.bat,.exe,.py等… if Not Exist JobStreamUnitTest_CreateTextPython_4-27-2015.txt ( Start /wait /b C:\Users\blee2\Documents\UnitTest\CreateTextFile.py || exit %errorlevel% copy /y nul JobStreamUnitTest_CreateTextPython_4-27-2015.txt ) if Not Exist JobStreamUnitTest_CreateTextBatch_4-27-2015.txt ( Start /wait /b C:\Users\blee2\Documents\UnitTest\CreateNewFile.bat || exit %errorlevel% copy /y nul JobStreamUnitTest_CreateTextBatch_4-27-2015.txt ) if Not Exist JobStreamUnitTest_CreateTextConsole_4-27-2015.txt ( Start /wait /b C:\Users\blee2\Documents\UnitTest\TestConsole.exe apple || exit %errorlevel% copy /y nul JobStreamUnitTest_CreateTextConsole_4-27-2015.txt ) if […]

IF中的转义字符

我尝试了不同的变种(如setlocal EnableDelayedExpansion) – 但没有任何工作: echo off IF "%1"=="Debug^|Win32" set servicesConfig=Win2008.Debug echo Incorrect parametr %servicesConfig% pause > nul