如何在bacth文件

时间:2017-11-16 18:42:20

标签: batch-file for-loop

我正在尝试从查询下面获取所有任务调度程序名称:

更新:添加代码到目前为止我已尝试过:

@echo off
echo TaskName, NextRunTime, Status 
setlocal enabledelayedexpansion
for /f "tokens=* delims="  %%a in ('schtasks /query /fo list^|findstr /b "TaskName*"') do (
set Task=%%~a
set Task=!Task: =!
set Task=!Task:"=!
set Task=!Task:TaskName:=!
)
for /f "tokens=*" %%b in ('schtasks /query /fo list^|findstr /b "Next Run Time*"') do (
set Run=%%~b
set Run=!Run: =!
set Run=!Run:"=!
set Run=!Run:NextRunTime:=!
 )
 for /f "tokens=*" %%c in ('schtasks /query /fo list^|findstr /b "Status*"') do (
set Sta=%%~c
set Sta=!Sta: =!
set Sta=!Sta:"=!
set Sta=!Sta:Status:=!
)
echo !Task!,!Run!,!Sta!

但相反,如果所有任务只返回 1任务。我相信,它只是读取字符串的第一行并返回相同并跳过所有其他行。

如何用这个来获取所有任务名称?

1 个答案:

答案 0 :(得分:1)

Squashman的评论告诉你如何做到这一点:

- (void)notifyAndPerformSelector:(SEL)selector withObject:(id)sender
{
   // "compile" [super selector:sender];

   // first cast objc_msgSendSuper to the correct type by
   // casting a function pointer to it (a function name by
   // itself, e.g. objc_msgSendSuper, evaluates to a pointer
   // to the function)
   CutOrCopyRunner msgSender = (CutOrCopyRunner)objc_msgSendSuper;

   // now build the first argument struct
   struct objc_super superInfo;
   superInfo.receiver = self;
   superInfo.super_class = MyDerivedClass.class.superclass;

   // now execute the super call
   msgSender(&superInfo, selector, sender);

   // code...
}

或者如果您不想要引号:

@echo off
setlocal enabledelayedexpansion 
for /f "delims="  %%a in ('schtasks /query /fo csv^|findstr /vb "TaskName"') do (
  echo %%a
)