web-dev-qa-db-ja.com

Windows 7の代替データストリームでバッチファイルを実行するにはどうすればよいですか?

通常、実行可能ファイルを代替データストリームとして作成した後、たとえば次のようになります。

type exec_this.bat > C:\blank.txt:exe.bat

簡単に言うことができます

start C:\blank.txt:exe.bat

実行可能ファイルを実行します。 Windows 7では、「アクセスが拒否されました」というメッセージしか表示されません。または「システムはファイル$ WHATEVER_THE_FILE_ISを見つけることができません。」

このバッチファイルを実行するにはどうすればよいですか?

5
Joseph Hansen

Windows 7は、ADSからanythingを実行する機能をサイレントに削除しました。ただし、DOSコマンドラインからは他のオプションがあります。バッチファイルの場合、行ごとに実行できます。

for /f "usebackq delims=φ" %i in (blank.txt:exe.bat) do %i

(これは実際にはバッチファイルを独自のプロセスで実行するのではなく、ファイルから各行を読み取って実行するだけであることに注意してください。φ記号は alt code number 2541で入力されます。区切り文字は、コードで使用することのない文字にする必要があります。)

5
Joseph Hansen