###発生している問題
Windows10において以下のVBScriptで呼び出したPowerShellのコンソールでフォントが日本語対応していないため日本語が□で表示されてしまいます。
VBScript
1Set objWs = WScript.CreateObject("WScript.Shell") 2objWS.Run "powershell"
コンソールのフォントの問題であって、文字コードの問題ではないと判断しています。
###わかっていること
「ファイル名を指定して実行」で"powershell"を呼び出した場合は上記と同様の環境になりますが、スタートメニューにあるPowerShellへのショートカットでは問題ありません。
よってVBScriptからスタートメニューのショートカットを呼び出せば問題は発生しません。
VBScript
1Set objWs = WScript.CreateObject("WScript.Shell") 2objWS.Run CreateObject("WScript.Shell").SpecialFolders("StartMenu") & "\Programs\Windows PowerShell\Windows PowerShell.lnk"
スタートメニューのショートカットのリンク先とファイル名を指定して実行の場合の呼び出し先のexeは同じものであることは確認していますし、ショートカットに特に引数はありません。
手元のWindows7 PROでは最初に書いたコードで問題ありませんでした。
またバッチファイルからpowershell
で呼び出した場合も問題ありません。
###知りたいこと/最終的にやりたいこと
- この違いはなぜ生まれるのでしょうか。
- VBScriptをもっとスマートに書く方法はないでしょうか。(上記スタートメニューのショートカットはWindows7では存在しないため動きません。)
- 最終的にはps1ファイルを引数にして呼び出すように書くので、ps1の先頭でコードを書くのでも構いません。
###環境
- Windows10 PRO

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/09/21 02:45 編集