我正在使用以下代码段从文件中删除CRLF。 如果指定目录,是否有办法调用此文件从每个文件中删除所有CRLF。
@echo off
setlocal DisableDelayedExpansion
(for /F "usebackq delims=" %%a in (%1) do (
set /P "=%%a"< NUL )
)>%2
我在根目录下有很多目录,每个目录中都有多个文件。
答案 0 :(得分:1)
添加外部for /r "%~1" %%I in (*.mask)
循环,并将for /F
循环更改为%%I
。在cmd控制台中,键入help for
以获取更多信息。在这里,看看是否有效:
@echo off
setlocal enabledelayedexpansion
rem // for each .txt file recursively in source:
for /R "%~1" %%I in (*.txt) do (
rem // get relative path + filename of %%I
set "relative=%%I" & set "relative=!relative:%~1=!"
rem // create relative directory structure in destination
for %%a in ("%~2\!relative!") do md "%%~dpa" 2>NUL
rem // for each line of src, output without line break to dest
(
for /F "usebackq delims=" %%a in ("%%~fI") do (
set /P "=%%a"< NUL
)
) >"%~2\!relative!"
)