.bat读取devices.txt中每一行的内容,如果一行中有内容,保存每一行的内容并记录个数
时间: 2024-04-08 14:35:47 浏览: 15
要编写一个批处理文件来读取 devices.txt 文件中每一行的内容,并保存每一行的内容并记录个数,可以使用以下命令:
```bat
@echo off
setlocal enabledelayedexpansion
set count=0
for /f "usebackq delims=" %%a in ("devices.txt") do (
set "line=%%a"
if defined line (
set /a count+=1
echo !line! >> saved_lines.txt
)
)
echo Number of lines with content: %count%
endlocal
```
这个批处理文件执行以下操作:
1. 设置变量 `count` 初始值为 0。
2. 使用 `for /f` 命令遍历 devices.txt 文件中的每一行。
3. 使用 `"usebackq delims="` 选项来读取包含空格的行。
4. 将每一行的内容赋值给变量 `line`。
5. 如果 `line` 变量有值(即非空),则将 count 自增 1,并将该行内容追加到 saved_lines.txt 文件中。
6. 最后,输出有内容的行数,并结束脚本。
注意:请确保 devices.txt 文件位于批处理文件所在的目录中,并且已经包含了需要处理的行。
相关问题
.bat读取devices.txt中的内容并保存下来
要编写一个批处理文件来读取 devices.txt 文件中的内容并将其保存下来,可以使用以下命令:
```bat
@echo off
setlocal enabledelayedexpansion
set "output="
for /f %%a in (devices.txt) do (
set "output=!output!%%a "
)
echo %output% > saved_devices.txt
endlocal
```
这个批处理文件执行以下操作:
1. 使用 `for /f` 命令遍历 devices.txt 文件中的每一行。
2. 将每一行的内容追加到变量 output 中。
3. 最后,将 output 的内容输出到 saved_devices.txt 文件中。
注意:请确保 devices.txt 文件位于批处理文件所在的目录中,并且已经包含了需要保存的设备信息。
.bat 读取txt的某一行
可以使用以下代码读取txt文件的第n行:
@echo off
setlocal enabledelayedexpansion
set /a n=1
for /f "delims=" %%a in (file.txt) do (
if !n!==3 (
echo %%a
exit /b
)
set /a n+=1
)
其中,set /a n=1 表示从第一行开始读取,如果要读取第n行,则将n的值设置为n-1。如果要读取第3行,则将n的值设置为2。file.txt表示要读取的文件名,可以根据实际情况进行修改。