• 締切済み

Win7とWinXPでのバッチ引数について

いつもお世話になります。 この度仕事上で、壁に当たってしまいましたのでご質問させて頂きます。 WindowsXPで作られている、バッチからプログラム(引数あり)を実行する処理をWindows7に載せ替えているのですが、ここで動作の差異が発生しました。 Environment.CommandLineで引数を取得しているのですが、WindowsXPで実行すると、プログラムパスと引数との間の空白は、1ケタ分になりますが、全く同じプログラムをWindows7で実行すると、空白が2ケタとなります。 プログラム上は、半角スペースをsplitさせているので、引数を参照する添え字が変わってしまい、処理が正常に行われません。 皆様の中で、この様な経験をされた方、アドバイスをお願いします。 【言語】  VB2008 【テスト端末】  Windows7 SP1  WindowsXP SP2 ←ツッコまないでください^^; 【テストPG処理概要】  ・Environment.CommandLineにて引数を取得  ・split関数にて動的配列へ格納  ・配列全てをmsgboxへ表示 【動作結果】  ≪Windows7≫   ・Environment.CommandLine取得時     「C:\test.exe**ABC」 ※便宜上、半角スペースを*で表す   ・配列表示     添え字0:C:\test.exe     添え字1:     添え字2:ABC  ≪WindowsXP≫   ・Environment.CommandLine取得時     「C:\test.exe*ABC」 ※便宜上、半角スペースを*で表す   ・配列表示     添え字0:C:\test.exe     添え字1:ABC

みんなの回答

  • hitomura
  • ベストアンサー率48% (325/664)
回答No.1

んーと、ただ単に > ・split関数にて動的配列へ格納 した直後に内容が空の要素を除去すればよさそうに見えるのですが、それでは何か問題があるのでしょうか。

yy8091
質問者

補足

今回プログラムは改造対象外の為、触ることができません。 どうしても実現不可なのであれば、客先に提案しますが、費用の面からしても、修正無しで対応したいと考えております。

関連するQ&A