0
これを達成するために多くのことを試しましたが、私がしたいのはまだ成功していません。 私はチェックボックスからパラメータを収集し、そこにこれらのパラメータを渡すcmdファイルを実行するhtaアプリケーションを持っています。 ログチェックボックスがオンの場合、新しいラッピングファイルを作成せずに、そのプロセスのログファイルを作成したいとします。引数を含むshellExecuteコマンドの出力をVBScriptのログファイルに書き込む
私のロジックは、リダイレクトパラメータを引数として別の引数でスクリプトを実行することです。そして、私は構文の権利を得ることができません(または同じファイル内でも可能です)。私の簡略化したコード:
Sub RunCmd
dim shell
dim shellWithLog
dim command
dim ARGS
set shell = createobject("Shell.Application")
set shellWithLog = createobject("wscript.shell")
command = "gui.cmd"
if (checkbox1.checked) then
ARGS = ARGS + " Do_This"
end if
if (checkbox2.checked) then
ARGS = ARGS + " Do_That"
end if
if (logFile.checked) then
shellWithLog.run (shell.shellExecute command, ARGS), " &>" + "publishLog.log", 1
else
shell.shellExecute command, , "runas", 1
end if
End Sub
これは明らかに機能しませんが、少なくとも私が達成しようとしていることを示しています。
演算子を修正していただきありがとうございます。以前は+で動作していましたが、 私の場合は、引数としてログを他の引数と一緒にalltogetherを追加すると、空のログファイルになります。これは、cmdファイルにパラメータとして渡され、内部で実行されるためです(実行されたcmdファイルのログが必要です)。 最後に私がやっていることは次のとおりです:execのgui.cmd> htaファイル内のpublishLog.log。そしてgui.cmdには既に必要なパラメータがすべて入っているはずです。 –
わかりません。私の答えは、ログファイルにリダイレクトする方法も示しています。 – Tomalak
はい、そうです。そして私はそれを前に試しました。この方法で空のログファイルを取得します。 –