bat ファイルを使用して .vbs ファイルに引数を渡していますが、その引数はフォルダーへのパスです。
そして、vb スクリプトでは引数を読んでおり、以下のように .exe ファイル上で実行したいと考えていました。
***var1 = Arg(0)
msgbox "First parameter passed was " _
& var1
WScript.Echo var1
Set wshShell = CreateObject("Wscript.Shell")
Set objShell = WScript.CreateObject( "WScript.Shell" )
objShell.Exec("%var1%\Change SDMClient Installation.exe")***
しかし、最後の行ではエラーが発生します。
どうすれば解決できますか?
------------------------
%% を使用せず、次のように文字列を連結する必要があります。
var1 = Wscript.Arguments(0)
msgbox "First parameter passed was " _
& var1
WScript.Echo var1
Set wshShell = CreateObject("Wscript.Shell")
Set objShell = WScript.CreateObject( "WScript.Shell" )
pathToExec = var1 & "\Change SDMClient Installation.exe"
pathToExec = chr(34) & pathToExec & chr(34)
wscript.echo pathToExec
objShell.Exec(pathToExec)
6
エラーが発生しています。 WshShell.Exec: test.vbs(11, 3) WshShell.Exec: 指定されたファイルが見つかりません。 Dim objShell Dim Arg, var1 Set Arg = WScript.Arguments var1 = Arg(0) msgbox "最初に渡されたパラメータは " でした。 _ & var1 WScript.Echo var1 Set wshShell = CreateObject("Wscript.Shell") Set objShell = WScript.CreateObject( "WScript.Shell" ) pathToExec = var1 & 「\SDMClient Installation.exe を変更」 objShell.Exec(pathToExec)
– ラダクリシュナ スワミー K
2020 年 9 月 3 日 21:15
あなたはss 引数へのディレクトリの相対パスを指定すると、それが親ディレクトリとして使用され、ディレクトリ内で Change SDMClient Installation.exe が起動されます。たとえば、ファイルが C:\Users\your_user\Desktop\Change SDMClient Installation.exe にあり、引数を C:\Users\your_user\Desktop として渡すとします。このスクリプトはその引数をディレクトリとして想定し、その中のプログラムを起動します。 pathToExec = var1 & という行に注目してください。 「\SDMClient インストールの変更.exe」。正確なパスを教えていただければ、さらにお手伝いいたします。
– AkkixDev
2020 年 9 月 4 日 5:04
「」を開始「C:\Users\skasturi\OneDrive - Avaya\Desktop\test.vbs」 C:\Backup\SDM_CompanySDMClient_installation このパス (C:\Backup\SDM_CompanySDMClient_installation) を vb スクリプトの引数として渡します。 C:\Backup\SDM_CompanySDMClient_installation と Change SDMClient Installation.exe はこのフォルダ内にあります。
– ラダクリシュナ スワミー K
2020 年 9 月 4 日 5:25
私のマシンでテストしたところ、正常に動作しました。次のように引数として文字列を渡すようにしてください。 start "C:\Users\skasturi\OneDrive - Avaya\Desktop\test.vbs" 「C:\Backup\SDM_CompanySDMClient_installation」 。基本的にスクリプトは、引数として渡したものをすべてフォルダーとして使用し、そのフォルダー内で Change SDMClient Installation.exe を実行します。これがお役に立てば幸いです。そうであれば、これを回答としてマークしてください。
– AkkixDev
2020 年 9 月 4 日 5:41
bat ファイルからの出力。 「」を開始します。 「C:\Users\skasturi\OneDrive - Compa」ny\デスクトップ\test.vbs" 「C:\Backup\SDM_SDMClient_installation」 ) else (echo sdm クライアントのインストールを続行しています) プログラムが見つかりました。vbs ファイル WScript.Echo var1 に、二重引用符で囲まれていないパスが表示されています - WScript.Echo var1 - C:\Backup\SDM_SDMClient_installation -
– ラダクリシュナ スワミー K
2020 年 9 月 4 日 8:08