我一直在尝试为我们保留的渲染PC获取格式良好的日志文件,但我遇到了一些问题。
设置:2个(以及后来的6个以上)个人电脑每天早上8点到8点30分重启。
在每台PC上都有一个批处理文件,该文件写入网络服务器以记录它已重新启动。
日志文件中的文字是我想要的结构的简单设置:
< 2 tabs> Comet< 2 tabs> Vixen< 2 tabs>丘比特< 2 tab> Dasher< 2 tabs>等
第一个渲染pc上的代码:
<nul set /p ".=%date% %time%">> \\no-s-05\Bram\_renderfarm.log
这样,批处理文件在输入信息时不会创建新行。
以下机器只需添加2个标签和自己的时间,这就是我在运行代码时遇到困难的地方:
<nul set /p ".= %time%">> \\no-s-05\Bram\_renderfarm.log
出于某种原因,我无法添加标签。当我关闭循环(让它从一个新行开始)时,我只能添加标签,当时我只有2台运行批处理代码:
echo %time% >> "\\no-s-05\Bram\_renderfarm.log"
但是我希望所有的PC都能在最后一批关闭文件之前添加到标签行,我似乎无法使其正常工作。
我希望我说的很清楚,当然我也会尝试自己解决这个问题,但如果有其他人有解决方案,那就太好了。谢谢。
答案 0 :(得分:0)
问题在于set /P ...
命令:它消除了在提示符中第一个Ascii字符之前出现的任何控制字符和空格。没有办法避免这一点。
但是,解决方案很简单:在每个后验set /P
命令中将之后的选项卡放在之后。唯一的缺点是线条将以两个标签结束。
首先渲染pc:
<nul set /p ".=%date% %time% ">> \\no-s-05\Bram\_renderfarm.log
关注机器:
<nul set /p ".=%time% ">> \\no-s-05\Bram\_renderfarm.log
答案 1 :(得分:0)
我也发现使用另一种方法(使用.csv文件)也是可能的,虽然excel确实喜欢弄乱数字,所以我更喜欢使用Anacini的答案。
第一台电脑将使用以下代码:
<nul set /p ".=%date%; %time%">> \\no-s-05\Bram\_renderfarm.csv
除了最后一台电脑之外的所有电脑都会使用这一行:
<nul set /p ".=; %time%">> \\no-s-05\Bram\_renderfarm.csv
最后一台电脑会使用以下几行:
<nul set /p ".=; %time%">> \\no-s-05\Bram\_renderfarm.csv
echo.>> "\\no-s-05\Bram\_renderfarm.csv"
我在%time%前面使用空格来确保excel保留原始导入而不是自己对数字的解释。
最终结果看起来像这样:https://www.dropbox.com/s/i8572rjgwtqu55r/log_csv.png