我有一个文本文件a.txt:
Hello World
Good Afternoon
我编写了一个批处理脚本逐行读取此文件的内容:
FOR /F "tokens=* delims=" %%x in (a.txt) DO echo %%x
由于默认分隔符是空格,因此我得到的输出是"Hello" "World"
。
如何覆盖此行为以获取输出"Hello World" "Good Afternoon"
我有一个文本文件a.txt:
Hello World
Good Afternoon
我编写了一个批处理脚本逐行读取此文件的内容:
FOR /F "tokens=* delims=" %%x in (a.txt) DO echo %%x
由于默认分隔符是空格,因此我得到的输出是"Hello" "World"
。
如何覆盖此行为以获取输出"Hello World" "Good Afternoon"
如果您没有修改命令,那么您的代码 "for /f "tokens=* delims=" %%x in (a.txt) do echo %%x" 将在大多数Windows操作系统上运行。
所以你可以先 "cd" 到要读取的目录,然后再执行 "for /f" 命令来跟踪字符串。例如,如果文件 "a.txt" 位于 C:\documents and settings\%USERNAME%\desktop\a.txt ,则应该使用以下命令。
cd "C:\documents and settings\%USERNAME%\desktop"
for /f "tokens=* delims=" %%x in (a.txt) do echo %%x
echo.
echo.
echo.
pause >nul
exit
但是,如果由于某种原因,这在您的计算机上无法工作,则有一种更简单,更有效的方法来完成此操作。使用“type”命令。
@echo off
color a
cls
cd "C:\documents and settings\%USERNAME%\desktop"
type a.txt
echo.
echo.
pause >nul
exit
或者,如果您希望他们从批处理中选择要写入的文件,则可以执行以下操作。
@echo off
:A
color a
cls
echo Choose the file that you want to read.
echo.
echo.
tree
echo.
echo.
echo.
set file=
set /p file=File:
cls
echo Reading from %file%
echo.
type %file%
echo.
echo.
echo.
set re=
set /p re=Y/N?:
if %re%==Y goto :A
if %re%==y goto :A
exit
WScript.Arguments
读取参数时,我遇到了这个问题。 - Tjsecho "%%x"
。 - rojo