*

【コマンドプロンプト】改行コード CR、LF、CRLFの出力とテキスト書き出し。

仕事でバッチファイルを使っているとログ出力が非常に大事になる。

細かくログを出すことによって、エラーを起こした処理をすぐに解析することができるから僕としては、基本的に一つのコマンドを実行するごとに、ログを出力することが理想的だと思うが、時にはバッチの見栄えを気にしたりして、変数にログを書き込んで最終的にログ出力なんてこともある。

変数の中で改行コードを入れる処理。

@ECHO OFF
setlocal enabledelayedexpansion

REM -----------------------------------------------------
REM 改行コード(CR)
REM -----------------------------------------------------
FOR /f "delims=" %%i IN ('cmd /u /c ECHO;名') DO (
SET CR=%%i
SET CR=!CR:~0,1!
)
REM -----------------------------------------------------
REM 改行コード(LF)
REM -----------------------------------------------------
SET LF=^

REM このコメント文は上につめない。改行コードLFは「^改行改行改行」で変数としてセットされているため

REM -----------------------------------------------------
REM 改行コードごと(CR、LF、CRLF)に変数へセット
REM -----------------------------------------------------

SET CR_TEXT=CRで改行!CR!CRで改行

SET LF_TEXT=LFで改行!LF!LFで改行

SET CRLF_TEXT=CRLFで改行!CR!!LF!CRLFで改行

REM -----------------------------------------------------
REM ECHOで表示
REM -----------------------------------------------------

ECHO -- CR ------------
ECHO !CR_TEXT!

ECHO -- LF ------------
ECHO !LF_TEXT!

ECHO -- CRLF ----------
ECHO !CRLF_TEXT!

REM -----------------------------------------------------
REM テキスト出力
REM -----------------------------------------------------

ECHO !CR_TEXT! > CR.txt

ECHO !LF_TEXT! > LF.txt

ECHO !CRLF_TEXT! > CRLF.txt

pause

 コピペの際の注意事項

下記の画像のように、そのままコピペをするとLFの改行コードのところにスペースが入ってしまうため、削ること。

LF改行コードの注意

 実行結果

改行コード出力バッチファイルの実行

29~41行目でECHOコマンドで各改行コードを表示しているが、CR改行コードのみうまく表示されていない。

 バッチで出力したテキストファイルの結果

1.CR改行コード

テキストファイル CR改行コード

2.CRLF改行コード

テキストファイル CRLF改行コード

3.LF改行コード

テキストファイル LF改行コード

実行結果ではCR改行コードのみ、うまく表示されていないが、出力したテキストファイルを開くとCRLF、LFと同様に問題なく改行されている。

Adsense

関連記事

コマンドプロンプト

【コマンドプロンプト】バッチでセクション付のINIファイルの読み込み

バッチファイルでINIファイルから値を読み込む 1.INIファイルの用意 以下の「バッチファイル

記事を読む

コマンドプロンプト

【コマンドプロンプト】前後の不要なスペースの除去(取り除く)

コマンドプロンプトのFOR文とか使って変数に取得しようとすると、取得元のコマンドとかファイルによって

記事を読む

データベース

【コマンドプロンプト】完成版!cmdでSQLの結果を変数に取得

以前、 【コマンドプロンプト】cmdでSQLの結果を変数に取得する方法 を書きましたが、

記事を読む

コマンドプロンプト

【コマンドプロンプト】バッチファイルでCSVを1行ずつ処理をする方法

僕はプログラマーではないので、あまりカッコイイプログラムはかけませんが、CSVファイルを1行ずつ、バ

記事を読む

コマンドプロンプト

【コマンドプロンプト】32bit以上の計算をする方法(引き算)

コマンドプロンプトで計算するときに「Set /a ~」で計算式を使うと符号付32bitの間でしか計算

記事を読む

コマンドプロンプト

【コマンドプロンプト】前日日付、月末日付を変数に取得するバッチ。うるう年対応

コマンドプロンプトを使って前日、指定日、月末日付を変数に取得する。 「SearchDay」に入

記事を読む

コマンドプロンプト

【コマンドプロンプト】net use で共有フォルダに接続できない場合。

  システム エラー 1219 が発生しました。 同じユーザーによる、サーバー

記事を読む

データベース

【コマンドプロンプト】cmdでSQLの結果を変数に取得する方法

力技の取得方法をご紹介。というかメモ。 題名には偉そうに書きましたが…なかなか良い方法が見つか

記事を読む

Adsense

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

Adsense

Microsoft Office
【Access】削除クエリの「指定されたテーブルから削除できませんでした。」の対処法

削除クエリで「指定されたテーブルから削除できませんでした。」と ポッ

Microsoft Office
【PowerPoint】表や図形、画像オブジェクトの位置をピッタリ合わせる方法

パワーポイントで、図形や画像等のオブジェクトの細かい位置調整は、 完

データベース
【SQL Server】Excel VBAのレコードセットを使ってテーブルの一括更新

前々回は読み取り専用でレコードセットへ取得し、結果をエクセルへ書き出し

application
【Visual Studio】デバック、ブレークポイントで止まらない。

Visual Studio 2015でVB.netのプログラムをデバッ

データベース
【SQL Server】Excel VBAでSELECT文を実行してレコードセットへ取得

前回は、テーブルのレコードをVBAで直接更新(Insert/updat

→もっと見る

PAGE TOP ↑