• 締切済み

VBS でDOSのNet useについて

VBS内で DOSコマンドの net use * /delete を実行すると 必ずNで実行結果となってしまいます DOS窓ではキーボードでyをいれればいいのですがこの「y」をVBSで渡す方法が見つかりません。 いろいろ試しているのですが・・・どうにもうまくいきません。 OSはWindows7です -----------作成例 ある程度まではできたのですが  Dim objShell Dim wExec Dim sCmd0 Dim sCmd1,sCmd2,sCmd3 ' コマンド生成 sCmd0 = "net use" sCmd1 = "net use * /delete" sCom2 = "net use /persistent:yes" sCmd3 = "net use X: \\PC\skyhd108" ' objのセット Set objShell = CreateObject("WScript.Shell") ' コマンド実行 Set wExec = objshell.Exec("%ComSpec% /c " & sCmd1) Set wExec = objshell.Exec("%ComSpec% /c " & sCmd3) Set wExec = objshell.Exec("%ComSpec% /c " & sCmd2) Set wExec = objshell.Exec("%ComSpec% /c " & sCmd0) Do While wExec.Status = 0 Loop Result = wExec.StdOut.ReadAll MsgBox Result WScript.Echo "お疲れ様でした!" Set wExec = Nothing Set objShell = Nothing

みんなの回答

  • kteds
  • ベストアンサー率42% (1882/4440)
回答No.2

No.1の補足です。 vbsを「管理者として実行」で実行してもダメでしたか?

gi-
質問者

お礼

管理者モードでも実験してみましたがだめでした http://itpro.nikkeibp.co.jp/article/COLUMN/20060725/244263/ ここのサイトでは /yesが有効となってましたがだめでした。

gi-
質問者

補足

net use のヘルプをよく眺めると [[/delete] |[/persistent:{yes|no}] ] となっていたので "net use * /delete|net use /persistent:yes" と 記載してみて確認してみます。

  • kteds
  • ベストアンサー率42% (1882/4440)
回答No.1

> sCmd1 = "net use * /delete" sCmd1 = "net use * /delete /y" ではどうでしょうか。

gi-
質問者

お礼

回答ありがとうございます 回答案ですでに実施してみているのですがだめでした。 dos窓で net use /? で見る限り /yes /no はありませんでした。 net use * /delete をdosのbatファイルにしてそれを呼び出して パイプで送っても見たのですがこれもだめでした。

関連するQ&A