Articles of batch file

用批处理评估重定位的shell文件夹的位置

通常,您可以只指定variables: %USERPROFILE%\Downloads 但是,如果将“下载”文件夹移动到其他位置,则不起作用: %Downloads%作为独立variables不起作用。 这个文件夹的正确variables是什么,所以我可以在批处理中指定它,并在不同的系统上使用批处理而不修改它?

Windowsbatch file时间比较

我正在尝试比较当前系统时间和设定时间。 请看下面: set currentTime=%TIME% set flag=false if %currentTime% geq 07:00 if %currentTime% leq 22:45 set flag=true if %flag%==true ( ) else ( ) 如果时间在上午7点到下午10:45之间,则执行此操作,否则执行另一个操作。 问题是这是行不通的。 结果不断变化。 我认为这与我的比较有关,即07:00

在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 […]