6
我有一個文本文件,A.TXT:閱讀文本文件
的Hello World
下午好
我已經寫一個批處理腳本讀取這個文件行內容通過線:
FOR /F "tokens=* delims=" %%x in (a.txt) DO echo %%x
我正在爲"Hello" "World"
輸出由於分隔符(空間)的默認行爲。 我怎樣才能覆蓋這種行爲來獲得作爲"Hello World" "Good Afternoon"
我有一個文本文件,A.TXT:閱讀文本文件
的Hello World
下午好
我已經寫一個批處理腳本讀取這個文件行內容通過線:
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操作系統,除非你修改了命令。
因此,您可以在執行「for/f」命令之前將字符串「cd」放入要讀取的目錄中。例如,如果文件「a.txt」位於C:\ documents和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
但是,由於這不適用於您的計算機的X原因有一個更容易和更有效的方式來做到這一點。使用「類型」命令。
@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
您的代碼解決了您的問題,您應該再次測試 – jeb 2013-02-12 14:22:28
您的腳本適用於我。 – aphoria 2013-02-12 14:25:53
不是。它沒有給出預期的輸出。 它與空間字符 – Tjs 2013-02-12 14:27:00