bat脚本学习

前言

最近做了一些文件批处理的工作,在这里把收集到的一些知识贴出来,以备后用

将文件夹的每一行置为变量

@echo off & setlocal EnableDelayedExpansion
set j=0
for /f "delims=""" %%i in (a.txt) do (
set /a j+=1
set con!j!=%%i
call set a=%%con!j!%%
echo !a!
)
pause

读取文件文件夹下的每一个文件并置为变量

@echo off
rem 指定存放文件的目录
set FolderName=C:\Users\dabao\Desktop\test
for /f "delims=\" %%a in ('dir /b /a-d /o-d "%FolderName%\*.txt"') do (
  echo %%a
)
pause

为文件夹下的所有文件添加行号

@echo off
setlocal enabledelayedexpansion
for /f "tokens=*" %%i in ('dir/b *.txt') do (
set n=
(for /f "tokens=*" %%j in ('type "%%i"') do (
set /a n+=1
echo !n!.%%j))>temp.txt
move /y temp.txt "%%i")

多行合并成一行

setlocal enabledelayedexpansion
set enter=\r\n
for /f "delims=" %%a in (test.txt) do (set txt=!txt!%%~a%enter%
echo !txt!>New_file.txt
)

你可能感兴趣的:(工具学习)