8

バッチ ファイル内のテキスト ファイルの内容全体を読み取りたい。私はこれを見つけました :

for /f "delims=" %%x in (file.txt) do set content=%%x

しかし、「コンテンツ」変数には最後の行しかありません。ファイル全体を単一の変数に読み込みたいのです。

4

3 に答える 3

9

コメントより

!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
于 2012-10-19T15:10:06.313 に答える
2

「コンテンツ」変数で探している正確な形式はわかりませんが、このコードでうまくいくはずです (コードは単純にコンテンツを空白に設定し、file.txt の各行をループしてその行をコンテンツにコピーします遅延拡張を使用):

@echo off
setlocal enabledelayedexpansion
set content=

for /f "delims=" %%x in (file.txt) do (set content=!content! %%x)
echo !content!

endlocal
于 2012-10-11T18:19:12.283 に答える
-2

ウィンドウの最新のコピーでは、次のこともできます。

powershell -Command cat "<file name>"

唯一の注意事項は次のとおりです。

powershell YourScriptFile.ps1

システムのセキュリティ設定を変更しない限り、デフォルトでは実行されません...「cat」コマンドを作成しようとしたときに学んだように。とはいえ、このような 1 つまたは 2 つのライナーの場合、ほとんどの最新のシステムでこれを利用できるのに、頭を壁にぶつける必要はありません。

于 2014-01-03T14:17:55.587 に答える