2017-02-10 20 views
0

私はこのコードをvbscriptで取得して、いくつかの引数を持つバッチスクリプトを起動します。VBScriptから変数をバッチに渡す

CreateObject("WScript.Shell").Run "printTR.bat " & jsfunction() & " " & amount & " " & printer 

問題は、第二の単語が変数Notherのとしてカウントされるだろう見ることができるように、時にはjsfunction()は、スペースを持っている、です。私は""" & jsfunction() & """"""" & jsfunction() & """のようなものを試しましたが、これはスクリプトがまったく動作しないようにしました。

jsfunction()は、基本的に同じページ内のユーザー入力フィールドの返信です。それは、キーボードに入力できるものを含むことができます。

変数を単一の文字列として渡すにはどうすればよいですか?

+0

私は問題について収集する方法を知っているすべての情報を与えているので、私はクローズリクエストに同意しません。私はなぜコードが動作していないのか尋ねていない、私はそれを修正しようとした手順と問題を引き起こすコードを提供した。 – GrumpyCrouton

+0

私たちは[jsfunction()がAlexが答えたところで何をしているのかを推測するだけです(http://stackoverflow.com/a/42166692/692942)? - * "' jsfunction() '自身が引用符" * "を含む文字列を返さないと仮定します。だから、あなたは十分な情報を提供していないので、人々は2番目に推測することができます。 – Lankymart

+0

@Lankymart私はそれが重要であることは知らなかった。コメントで簡単に尋ねられたかもしれないが、私はそれを投稿に追加しただろう。 – GrumpyCrouton

答えて

1
CreateObject("WScript.Shell").Run "printTR.bat """ & jsfunction() & """ " & amount & " " & printer 

jsfunction()を仮定すると、自身が引用符を含む文字列を返しません)引用符で文字列を渡すための正しい方法です。

それが失敗した場合、おそらくそのバッチファイルは今も引用符で文字列を(echo %1"a quoted string"を返します)ここで、同じ文字列が、引用符なしでこの使用%~1を是正することを期待しないで受信したため。

関連する問題