4

type次のように、コマンドを使用してファイルの内容を別のプログラムにパイプするプログラムを使用しています。

type test.txt | (another program)

このコマンドは、私のメイン プログラムにハードコーディングされています。問題は、typeコマンドにスラッシュに関する問題があることです。

E:\babak\git\bin>type e:/babak/git/bin/test.txt
The syntax of the command is incorrect.

cmd internal を、スラッシュをサポートするという名前のカスタムtypeアプリケーションで上書きする方法はありますか?typetypetype

4

3 に答える 3

3

引数を引用符で囲むと、TYPE 内部コマンドは引用符で正常に機能します。

type "e:/babak/git/bin/test.txt"

コマンドを引用すると、内部コマンドの使用を防ぎ、バッチまたは exe の使用を強制することができます。

"type" e:/babak/git/bin/test.txt

パス情報を含めて、exe またはバッチの使用を強制することもできます

E:\babak\git\bin\type e:/babak/git/bin/test.txt

また

.\type e:/babak/git/bin/test.txt

しかし、プログラムが TYPE を呼び出す方法を制御できない場合は、上記の手法をどのように使用できるかわかりません。

私が考えることができる他の唯一のオプションは、パス情報を前処理してスラッシュをバックスラッシュに変換することです。次に、プログラムが変更されたパス情報を取得することを確認する必要があります。

于 2012-11-10T21:23:04.143 に答える
1

cmd.exeは、System32(またはその他)ディレクトリにある単なるプログラムです。これを新しいcmd.exeに置き換えると、ユーザーがcmdを実行するたびにその代わりに実行されます。

ファイルを置き換える前に解決する必要のある権限の問題がありますが、不可能ではありません。

于 2012-11-10T11:27:47.840 に答える