2

ユーザー入力を取得してファイルに配置するバッチファイルを取得しようとしています...これまでのコードは次のとおりです。

set /p input path=Path:
echo %path% >> log.txt

エコーをオフにすると、次のようにシェブロンの前に「1」が表示されます。

echo C:/Example/Path 1>> log.txt
the system can not find the file specified.

これ説明できる人お願いします

4

3 に答える 3

3

確かに - 私は尋ねられた質問に答えます.

元々、>somewhereまたはリダイレクトにより、指定された宛先にデータが送信されました。

NT版への変更により、これが拡張されました。リダイレクタの直前の数字はlogical file number、0=STDIN (標準入力) 1=STDOUT (標準出力) および 2=STDERR (標準エラー) を意味します。その他は未定義です。これにより、(通常) 出力されるデータが数字で終わるという問題が発生する可能>filename echo ...性があるため、構文は次のようになります。

その結果、下位互換性のために、(例)>nulはこれまでどおり処理されますがECHO、明示的な形式で編集されます。STDOUT1>nulを送信しnulて、2>somewhere_else

于 2013-07-04T16:10:26.630 に答える
1

あなたのSET発言は間違っています。:-) また、PATH環境で既に割り当てられています (WindowsPATHであり、それを変更すると、バッチ ファイルで他のコマンドを実行する際に問題が発生する可能性があります。

代わりにこれを試してください:

set /p "Input=Path: " 
echo %Input% >> log.txt
于 2013-07-04T15:46:41.333 に答える