【问题标题】:Log File isn't produced when bat file is run as administratorbat文件以管理员身份运行时不生成日志文件
【发布时间】:2017-09-23 05:47:25
【问题描述】:

当我以管理员身份运行 bat 文件时,我在生成日志文件 (Export_Files_Logs.log) 时遇到问题。但是当我只是双击bat文件时。生成日志文件。知道为什么会这样吗?

FOR %%f IN (D:\batch\outbound\Delta_Sync\Data\Log\*.log) DO type %%f >> Export_Files_Logs.log & echo. >> Export_Files_Logs.log
pause

【问题讨论】:

  • 你的程序有什么不同?你说你以管理员身份运行它是什么意思?
  • @SDsolar。我只是右键单击bat文件并以管理员身份运行它。
  • @MarkJimA.Mercado 检查并查看您的日志文件是否保存在 C:\Windows\System32 中。如果是这样,您可能应该在脚本顶部插入cd /d "%~dp0"pushd "%~dp0"。当您右键单击并以管理员身份运行时,当前工作目录可能不是批处理脚本的位置。
  • 但您无法确定它使用哪个目录来启动它。默认为 C:/Windows/system32。我敢打赌你会在那里找到他们。请参阅我的答案以了解确保您完全控制的三种方法。第一个是kludge但有效。其他的是“Windows方式”
  • @SDsolar。非常感谢。 :) 我现在可以通过在脚本顶部添加 cd /d "%~dp0" 来生成日志文件。但既然你提到这是一个杂物,我会指出确切的路径。

标签: windows batch-file batch-processing


【解决方案1】:

您的日志文件将位于:

C:\Windows\System32

改为这样做:

@echo off
FOR %%f IN (D:\batch\outbound\Delta_Sync\Data\Log\*.log) 
DO type %%f >> D:\batch\Export_Logs\Export_Files_Logs.log & echo. >> D:\batch\Export_Logs\Export_Files_Logs.log\Export_Files_Logs.log
pause

添加你需要的路径,不是我的:)

【讨论】:

    【解决方案2】:

    日志文件很可能已创建,但它并未按您的想法保存。
    使用 Windows 资源管理器搜索“Export_Files_Logs.log”文件以查找它是否实际保存。
    您可以通过在文件名前写入完整路径来解决此问题。

    【讨论】:

    • 你是对的,如果你指定了他们最终的结果,我会支持你。这是非常可预测的。只需在开始菜单中输入 cmd 并查看它从哪里开始。
    猜你喜欢
    • 2016-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-09
    相关资源
    最近更新 更多