我正在尝试获取一个批处理文件来获取用户输入并将其放在一个文件中......这是我到目前为止的代码。
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.
请问谁能解释一下
我正在尝试获取一个批处理文件来获取用户输入并将其放在一个文件中......这是我到目前为止的代码。
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.
请问谁能解释一下
当然 - 我会回答提出的问题。
最初,>somewhere
或任何重定向将数据发送到指定的目的地。
随着对 NT 版本的更改,这得到了扩展。直接在重定向器前面的数字表示logical file number
0=STDIN(标准输入)1=STDOUT(标准输出)和 2=STDERR(标准错误)。其他未定义。这可能会导致要输出的数据(通常)以数字结尾的问题,因此>filename echo ...
语法
因此,为了向后兼容, (eg)>nul
仍然像往常一样被处理,但它ECHO
以它的显式形式被编辑1>nul
- 发送 STDOUTnul
来区分它2>somewhere_else
试试这个:
set /p "MyNewPath=Path: "
>>log.txt echo %MyNewPath%
你的SET
说法是错误的。:-) 此外,PATH
已在环境中分配(Windows PATH
,更改它可能会导致在批处理文件中运行其他命令时出现问题。
试试这个:
set /p "Input=Path: "
echo %Input% >> log.txt