批处理:从路径读取文件
Batch: read file from path
我想使用批处理脚本读取 .txt 文件。
每行应存储在一个变量中。
我的问题:我必须为命令提供 .txt 文件的文件路径。不幸的是,到目前为止这还没有奏效。解决办法可能很简单,但我还没有找到。
for /f "tokens=*" %%a in ("%FilePath%backup\packs.txt") do (
Set /a count+=1
Set url[!count!]=%%a
)
echo %url[2]%
for /f
循环可以处理三种不同类型的数据——文件、字符串和命令。当您调用 for
命令时,每一个都以不同的方式表示。
一个文件在设置区域不使用引号处理:for /f %%A in (file.txt) do (
使用单引号处理命令:for /f %%A in ('find "abc" file.txt') do (
字符串用双引号处理:for /f %%A in ("hello world") do (
当然,有时您需要处理路径中带有space 的文件,这时您会使用usebackq
选项。此选项仍将处理所有三种类型的数据,但指标会有所不同。
一个文件使用双引号处理:for /f "usebackq" %%A in ("some file.txt") do (
使用反引号处理命令:for /f "usebackq" %%A in (`find "don't" file.txt`) do (
使用单引号处理字符串:for /f "usebackq" %%A in ('19^" screen') do (
从文件路径中删除引号或添加 usebackq
选项将为您设置变量。
@echo off
setlocal enabledelayedexpansion
set "FilePath=.\test_path\"
set "count=0"
for /f "usebackq tokens=*" %%A in ("%FilePath%backup\packs.txt") do (
set /a count+=1
set "url[!count!]=%%A"
)
echo %url[2]%
我想使用批处理脚本读取 .txt 文件。 每行应存储在一个变量中。
我的问题:我必须为命令提供 .txt 文件的文件路径。不幸的是,到目前为止这还没有奏效。解决办法可能很简单,但我还没有找到。
for /f "tokens=*" %%a in ("%FilePath%backup\packs.txt") do (
Set /a count+=1
Set url[!count!]=%%a
)
echo %url[2]%
for /f
循环可以处理三种不同类型的数据——文件、字符串和命令。当您调用 for
命令时,每一个都以不同的方式表示。
一个文件在设置区域不使用引号处理:for /f %%A in (file.txt) do (
使用单引号处理命令:for /f %%A in ('find "abc" file.txt') do (
字符串用双引号处理:for /f %%A in ("hello world") do (
当然,有时您需要处理路径中带有space 的文件,这时您会使用usebackq
选项。此选项仍将处理所有三种类型的数据,但指标会有所不同。
一个文件使用双引号处理:for /f "usebackq" %%A in ("some file.txt") do (
使用反引号处理命令:for /f "usebackq" %%A in (`find "don't" file.txt`) do (
使用单引号处理字符串:for /f "usebackq" %%A in ('19^" screen') do (
从文件路径中删除引号或添加 usebackq
选项将为您设置变量。
@echo off
setlocal enabledelayedexpansion
set "FilePath=.\test_path\"
set "count=0"
for /f "usebackq tokens=*" %%A in ("%FilePath%backup\packs.txt") do (
set /a count+=1
set "url[!count!]=%%A"
)
echo %url[2]%