Windows プログラムが実行可能ファイルのパスからコマンド ライン スイッチを解析するのはなぜですか? (後者は、一般的に として知られているものですargv[0]
。)
たとえば、xcopy :
C:\Temp\foo>c:/windows/system32/xcopy.exe /f /r /i /d /y * ..\bar\
Invalid number of parameters
C:\Temp\foo>c:\windows\system32\xcopy.exe /f /r /i /d /y * ..\bar\
C:\Temp\foo\blah -> C:\Temp\bar\blah
1 File(s) copied
自分のプログラムではどのような動作に従う必要がありますか?
スペースなしでコマンド ライン スイッチを入力することを期待するユーザーは多くいますか (たとえば、program/?
の代わりにprogram /?
)、これをサポートする必要がありますか、それともエラーを報告してすぐに終了する必要がありますか?
他に知っておくべき注意事項は何ですか? (以下の Anon. のコメントに加えて、「debug\program.exe」が存在する場合でも、「debug/program」は PATH から debug.exe を実行します。)