バッチ ファイル内のテキスト ファイルの内容全体を読み取りたい。私はこれを見つけました :
for /f "delims=" %%x in (file.txt) do set content=%%x
しかし、「コンテンツ」変数には最後の行しかありません。ファイル全体を単一の変数に読み込みたいのです。
バッチ ファイル内のテキスト ファイルの内容全体を読み取りたい。私はこれを見つけました :
for /f "delims=" %%x in (file.txt) do set content=%%x
しかし、「コンテンツ」変数には最後の行しかありません。ファイル全体を単一の変数に読み込みたいのです。
コメントより
!content! に行を含める方法はありますか?
コンテンツ変数に改行が必要だと思いますが、これは追加の変数で行うことができます。
@echo off
setlocal EnableDelayedExpansion
set LF=^
rem ** The two empty lines are necessary
set "content="
for /f "delims=" %%x in (file.txt) do (
set "content=!content!%%x!LF!"
)
echo(!content!
endlocal
「コンテンツ」変数で探している正確な形式はわかりませんが、このコードでうまくいくはずです (コードは単純にコンテンツを空白に設定し、file.txt の各行をループしてその行をコンテンツにコピーします遅延拡張を使用):
@echo off
setlocal enabledelayedexpansion
set content=
for /f "delims=" %%x in (file.txt) do (set content=!content! %%x)
echo !content!
endlocal
ウィンドウの最新のコピーでは、次のこともできます。
powershell -Command cat "<file name>"
唯一の注意事項は次のとおりです。
powershell YourScriptFile.ps1
システムのセキュリティ設定を変更しない限り、デフォルトでは実行されません...「cat」コマンドを作成しようとしたときに学んだように。とはいえ、このような 1 つまたは 2 つのライナーの場合、ほとんどの最新のシステムでこれを利用できるのに、頭を壁にぶつける必要はありません。