ディレクトリc:\ testには、ファイル名PM1 2016-10-06が自動的に入力されます。1.AL1、PM1 2016-10-06 2.AL1 、PM1 2016-10-07 1.AL1など私は書いた(コアコードのためにAaciniのおかげです!)私はそれが必要な方法で正確に動作するバッチスクリプトですが、私の問題は、 1つのファイルであり、そのファイルはファイル名にスペースを含むことはできません。コード:ファイル名にスペースを含む複数のファイルを一括して変更する
@echo off
cd c:\test
setlocal EnableDelayedExpansion
set LF=^
%do not remove%
%these lines%
set "EOL=!LF!" & set "EOL2=!LF!"
for /f "tokens=*" %%a in (c:\test\PM1.AL1) do (
if %%a equ PROP-SUMMARY set "EOL=!LF!"
set /P "=%%a!EOL!" < NUL
set "EOL0=!EOL!" & set "EOL=!EOL2!" & set "EOL2=!EOL0!"
if %%a equ PROP-VALUES set "EOL=,"
) >>c:\test\test.tmp
TYPE c:\test\test.tmp | FIND "" /V > c:\test\PM1_new.AL1"
DEL c:\test\test.tmp
TYPE行が不明な場合は、ファイル内のすべてのCRがCRLFに変更されます。
タイトルには、複数のファイルで作業する必要があると書かれていますが、どのファイルを決定しますか?ディレクトリ内のすべてのファイルを処理する必要がありますか? – CGritton
ディレクトリ内のすべてのファイル – RyCar66
具体的に何が変更される必要があるかを示す情報はありません。通常、入力と出力**の例を提供するのに役立ちます。 – Squashman