首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在批处理文件中创建批处理文件- Echo ">NUL“

问在批处理文件中创建批处理文件- Echo ">NUL“
EN

Stack Overflow用户
提问于 2013-09-20 05:01:31
回答 1查看 4.3K关注 0票数 2

形势:

  • 我有一个经常更新的文本日志文件。
  • 我已经有一个批处理文件,可以手动检查它。
  • 我希望它(在批处理启动时)创建一个新的.bat。
  • 我在导出/创建"timeOut /t 2 >NUL“部分时遇到问题。
  • 它不会导出>NUL部分,只留下一个空白。
  • 示例:timeout /t 2 /noBreak

我似乎想不出任何出口/回音的方法,那">NUL“片段。如有任何意见,将不胜感激!

代码语言:javascript
复制
echo mode con:cols=80 lines=28 >> %UserProfile%\Desktop\observeLog.bat
echo @echo off >> %UserProfile%\Desktop\observeLog.bat
echo Title Error Log >> %UserProfile%\Desktop\observeLog.bat
echo :startLogObserve >> %UserProfile%\Desktop\observeLog.bat
echo type %UserProfile%\Desktop\testLog.txt >> %UserProfile%\Desktop\observeLog.bat
echo timeout /t 2 >NUL /noBreak >> %UserProfile%\Desktop\observeLog.bat
echo cls >> %UserProfile%\Desktop\observeLog.bat
echo goTo :startLogObserve >> %UserProfile%\Desktop\observeLog.bat
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-09-20 07:22:14

您需要转义特殊字符,以便解析器知道要回显哪些部分,以及要执行哪些部分。

顺便说一句。重定向一个完整的块更容易

代码语言:javascript
复制
(
  echo mode con:cols=80 lines=28
  echo @echo off
  echo Title Error Log
  echo :startLogObserve
  echo type "%%UserProfile%%\Desktop\testLog.txt"
  echo timeout /t 2 ^>NUL /noBreak
  echo cls
  echo goTo :startLogObserve
) > %UserProfile%\Desktop\observeLog.bat

我还将type %UserProfile%..改为type "%%UserProfile%%...",否则在observeLog.bat中得到扩展版本,当%UserProfile%包含空格或特殊字符时,引号很有用

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18909124

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档