DOSって結構便利なんだよね。
以下の関数の引数にコマンドライン文字列を送ればよろしい。
'--------------------------------------------------------------------------- ' 関数名 : SendComLineToDOS ' 機能 : DOSプログラムを実行する ' 引数 : (in) ComLine … コマンドライン ' 戻り値 : プロセスID エラー:0 '--------------------------------------------------------------------------- Public Function SendComLineToDOS(ByVal ComLine As String) As Long SendComLineToDOS = Shell(Environ("COMSPEC") & " /C " & ComLine) End Function ちなみにコマンドライン文字列には制限があったりする。それは、 Windows 95 は128文字、 Windows NT では 259 文字、 Windows 98 不明 となっている。これは自分で手入力して調べたんだけど、正確性は保証できない。使用の際は、OSの種類別に長さ判定をする必要があるかもしれないんで注意。 Environ("COMSPEC") により、Windows95 では Command.com を WindowsNT では CMD.exe を取得する。これに関しては、OSによる場合分けの必要はのし。ちなみに、WindowsNTにも、C:\winnt\system32 に command.com があるけど、聞くところによると、Windows95 & Windows98 & DOS互換のためにあるそうな。 最後に簡単な使用例を挙げておく。
Private Sub Command1_Click() 'ファイル内容を比較する Call SendComLineToDOS("fc /n C:\ilgg.txt C:\ilgg.txt > C:\Test.txt") End Sub |