1. Fushihara

    Posted

    Fushihara
Changes in title
+「windows」で「PowerShell」を「一切画面表示せず」に「タスクスケジューラに登録」する方法を再確認
Changes in tags
Changes in body
Source | HTML | Preview
@@ -0,0 +1,20 @@
+何も考えずにタスクスケジューラでpowerShellを登録すると、一瞬ウィンドウが表示されるダサい事になっちゃうんだよね。`-windowstyle hidden` を付けても意味なし。
+
+![意味が無い](https://qiita-image-store.s3.amazonaws.com/0/5825/89f801e0-d609-c0e0-3cfa-53c6c716ddc6.png)
+ダメな例。
+
+じゃあどうするんかってーと、powershell.exeを使う限りどうしようもないので他の言語に頼る事になるってのが常套手段。このブログとか。
+[PowerShellの盲点 バイクと癒しのおじさんブログ/ウェブリブログ](http://27126080.at.webry.info/201008/article_6.html)
+
+具体的に以下のjsファイルを作る
+
+```ps1:task-scheduler.js
+wsShell = WScript.createObject("WScript.Shell");
+retCode = wsShell.Run("\"C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe\" -File \"" + WScript.Arguments.Item(0)+"\"",0,true);
+WScript.Quit(retCode);
+```
+
+タスクスケジューラにはこう登録する。カレントディレクトリもちゃんと反映される。
+![imgTemp-2016-05-01-10-36-18.png](https://qiita-image-store.s3.amazonaws.com/0/5825/c5ef5f96-1f05-7a03-8bed-16cbffe26f06.png)
+
+これでオッケー と。