私は最初の経験的な答えを得ました:
for /f %%s in (version.txt) do ...
すべてのコンピューターで問題なく動作します。
for /f
「type filename」のようなdosコマンドではなく、ファイル名で機能するようです。
ただし、すべてのクライアントのコンピューターに当てはまるわけではありません (一部のコンピューターでは、「タイプ ファイル名」が正常に機能します)。
15 (簡単に ?) ポイントが必要な場合は ;-)、質問に対する回答を残すことができ
ます。そして、なぜDOSセッションを閉じるだけなのですか?
編集: 3 年後 (!)、barlopは同様の状況に直面し、「for /f
cmd プロンプトをすぐに閉じますか?」という質問に詳しく説明されています。彼の結論は次のとおりです。
COMSPEC
SET
+を実行するとリストされましたENTER。
そのため、環境変数ウィンドウを開いたところ、COMSPEC
ユーザー変数またはシステム変数の下にリストされていませんでした。システム変数に追加し、コマンド プロンプトを起動したところ、問題なく動作しているようです。
Andriy Mが barlop の質問への回答で言及した ss64 フォーラムのこのスレッドには、詳細が含まれています。
ウィンドウをリロードするには、 ' ' (または完了を要求したコマンド) を完了するための " for
" ループ内のシェルアウトを設定する必要があります。dir
ComSpec
cmd
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\ComSpec=
%SystemRoot%\system32\cmd.exe