質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

VBScript

VBScript(Visual Basic Scripting Edition)はMicrosftが開発したスクリプト言語であり、Visual Basicのサブセットです。

Q&A

解決済

2回答

9505閲覧

VBScriptでDOSコマンドと同じ結果を出力したい

moshi

総合スコア90

Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

VBScript

VBScript(Visual Basic Scripting Edition)はMicrosftが開発したスクリプト言語であり、Visual Basicのサブセットです。

0グッド

0クリップ

投稿2018/10/23 03:43

前提・実現したいこと

DOSコマンドで取得できるクロームのバージョン情報をVBScriptで同じように取得したいです。

dir /B /O-N "C:\Program Files (x86)\Google\Chrome\Application" | findstr "^[0-9].*¥>" > test.txt

をコマンドプロンプトで実行するとGoogleChoromeのバージョン情報が取得できるのですが
バッチファイルで実行してしまうとコマンドプロンプトが表示されてしまうためVBScriptで同じことがしたいと考えています。

試したこと

VBScript

1Set objShell = CreateObject("WScript.Shell") 2objShell.Run "dir /B /O-N ""C:\Program Files (x86)\Google\Chrome\Application"" | findstr ""^[0-9].*¥>""" > "test.txt",0,false

を実行すると
「指定されたファイルが見つかりません」というエラーが返ってきてしまいます。

なぜDOSコマンドでは見つけられたファイルが見つからなくなってしまったのでしょうか?

ちなみに

"dir /B /O-N ""C:\Program Files (x86)\Google\Chrome\Application"" | findstr ""^[0-9].*¥>"""

の部分をファイルに出力してみたところ

dir /B /O-N "C:\Program Files (x86)\Google\Chrome\Application" | findstr "^[0-9].*¥>"

となっていたのでエスケープシーケンスなどは間違っていないと思っています。

よろしくお願いします。

補足情報(FW/ツールのバージョンなど)

Windows
VBScript

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

こうですかね。
cmd /cを追加したのと、ダブルクォーテーションの配置を少し変えました。

VBA

1Set objShell = CreateObject("WScript.Shell") 2objShell.Run "cmd /c dir /B /O-N ""C:\Program Files (x86)\Google\Chrome\Application"" | findstr ""^[0-9].*\>"" > test.txt",0,false

投稿2018/10/23 04:40

ttyp03

総合スコア16996

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

なぜDOSコマンドでは見つけられたファイルが見つからなくなってしまったのでしょうか?

dirは、コマンドインタプリタ(cmd.exeなど)の内部コマンドなので、dir.exeというファイルがあるわけではありません。cmd.exe上でしか実行できない、ということになります。

投稿2018/10/23 03:59

maisumakun

総合スコア145121

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問