2017-03-24 11 views
1

私は、FTP機能用のユーティリティVBスクリプトを作成し、サーバーの詳細(ホスト、ユーザー、パスワード)をコマンドライン引数として受け付けています。 FTP操作のために、2つの異なる親ジョブから同じVBスクリプトを同時に呼び出すことができます。VBスクリプトグローバルスコープDIMステートメント - 同時実行性

この場合、同じVBスクリプトが同時に呼び出された場合、DIM変数の衝突がグローバルスコープまたはコマンドライン変数の衝突で定義される可能性があります。

「回答」が「はい」の場合。私に知らせてください、この衝突を回避する方法はありますか?

+6

いいえ、それらは、独自のWindows Scripting Hostプロセスで実行される2つの完全に別個のスクリプトです。グローバルスコープは親プロセス内でのみグローバルであり、衝突することはありません。 – Lankymart

答えて

1

短い答え:いいえ。


スクリプトは、ホストプロセス内で実行されます。一般に、このプロセスはWindows Scripting Hostとして知られているwscript.exeまたはcscript.exeです。スクリプトを実行するたびに、個々のホストプロセスが開始され、これはスクリプトのグローバルスコープが存在する場所であり、後続のスクリプトにはそれぞれ独自のホストプロセスとグローバルスコープがあります。

このため、複数のスクリプトにグローバルスコープが衝突することはありません。

テストするのは簡単ですが、同じPublicという変数を持つ2つのスクリプトを作成し、もう一方が影響を受けるかどうかを確認してください。そうすれば、あなた自身の質問に答えることができます。