tracert.exe 未从 schtasks 内部重定向

问题描述 投票:0回答:1

因此,如果“tracert google.com >>tracelog.txt”在命令行中工作,考虑到它是由 schtasks.exe 调用的,我需要做什么才能让它从批处理脚本内部重定向到文件?

我在 schtasks“帮助”屏幕上读到了有关两组引号的内容,一组用于 cmd,一组用于 schtasks,但我不明白这如何适用于此处。

目标是在有问题的 URL 上运行 Tracert,以发现任何跃点中的任何明显延迟。该任务意味着运行一次,每 x 分钟重复一次,持续时间为 t ,同时将结果附加到日志文件(调试在线游戏)。

这就是让我从中获取日志文件的部分。

一如既往,感谢任何帮助。

@echo off

if [%1]==[] goto usage

set "START=13:10"
set "DUR=00:06"
set  TRACE="tracert.exe %1 >>C:\urltrace\tracelog.txt"

SCHTASKS /CREATE /TN "URLtrace Task" /TR %TRACE% /RL HIGHEST /SC ONCE /RI 2 /DU %DUR% /ST %START% /F    
exit /B 1

:usage
@echo Syntax: urltrace <url> Examp: urltrace google.com
exit /B 1  
batch-file scheduled-tasks windows-task-scheduler traceroute
1个回答
0
投票

@echo off
if "%1" equ "" exit /b
setlocal
set start_time=13:10
if "%2" neq "" set start_time=%2
set folder="C:\Program Files\urltrace"
if not exist %folder% mkdir %folder%
if not exist %folder% exit /b
set file=%folder%\urltrace.bat
if not exist %file% (
@echo off >> %file%
echo cd /d %folder% >> %file%
echo set url="" >> %file%
echo call task.bat >> %file%
echo tracert.exe %%url%% ^>^>tracelog.txt^&exit /b  >> %file%
)
echo @set url=%1 > %folder%\task.bat
SCHTASKS /ru  "SYSTEM" /CREATE /TN "URLtrace Task" /tr "'cmd.exe' /c @call 'C:\Program Files\urltrace\urltrace.bat'" /sc ONCE /RI 2 /DU 00:06  /ST %start_time% /f
endlocal
exit /b

© www.soinside.com 2019 - 2024. All rights reserved.