テキストファイルa.txtがあります。
こんにちは世界
こんにちは
このファイルの内容を1行ずつ読み取るバッチスクリプトを作成しました。FOR /F "tokens=* delims=" %%x in (a.txt) DO echo %%x
Delimiter(space)のデフォルトの動作により、"Hello" "World"
として出力されます。この動作をオーバーライドしてouptutを"Hello World" "Good Afternoon"
として取得するにはどうすればよいですか
あなたのコード「for/f "tokens = * delims =" %% x in(a.txt)do echo %% x」は、コマンドを変更しない限り、ほとんどのWindowsオペレーティングシステムで動作します。
したがって、代わりに「for/f」コマンドを実行して文字列を追跡する前に、ディレクトリに「cd」で読み込むことができます。たとえば、ファイル「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
しかし、これはxの理由でコンピューター上では機能しないため、これを行うより簡単で効率的な方法があります。 「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