8

次のようにスケジュールされたタスクを作成するバッチ ファイルがありますschtasks

schtasks /create /tn my_task_name 
                 /tr "...\my_path\my_task.bat"
                 /sc daily
                 /st 10:00:00 
                 /s \\my_computer_name 
                 /u my_username    
                 /p my_password

my_task.batが実行されたときに新しいコマンドラインウィンドウが開かれる(実行後に閉じられる)という事実を除いて、問題なく動作します。

この新しいウィンドウを開かないようにしたい (つまり、バックグラウンドでサイレント モードでタスクを実行する)。

使おうと思った

start /b ...\my_path\my_task.bat

startバッチファイルから呼び出す必要があるため、前に を付ける必要があるため、方法がわかりませんcmd /c。これにより、再び新しいウィンドウが開きます。

どうすればこの問題を解決できますか?

4

2 に答える 2

5

これを行うには、schtasksに/RUオプションを指定します。このオプション

タスクを実行するユーザーアカウント(ユーザーコンテキスト)を指定します。システムアカウントの場合、有効な値は「」、「NT AUTHORITY \ SYSTEM」、または「SYSTEM」です。

したがって、これを試してください

schtasks /create /tn my_task_name 
                  ....
                 /st 10:00:00 
                 /ru "SYSTEM"
                 ....
于 2011-02-08T14:46:09.433 に答える
4

Windows シェル スクリプト拡張機能を使用して、非表示モードでバッチ ファイルを実行できます。

  • プレーンテキストファイルを作成して名前を付けます<scriptname>.vbs

  • 次のコードを .vbs ファイルに貼り付けます

      Set WshShell = CreateObject("WScript.Shell") 
      WshShell.Run chr(34) & "C:\Batch Files\syncfiles.bat" & Chr(34), 0
      Set WshShell = Nothing
    
  • 必要に応じてバッチファイルの名前とパスを変更します

  • .vbs ファイルを保存し、schtasks で同じようにスケジュールします。

于 2010-10-02T15:51:20.843 に答える