For loop for/f循环未设置多个变量
我试图浏览以数字开头的文件,并将其设置为两个不同的变量 除了最后一部分,我在下面所做的大部分工作都是有效的,即尝试设置%file!num!%For loop for/f循环未设置多个变量,for-loop,batch-file,For Loop,Batch File,我试图浏览以数字开头的文件,并将其设置为两个不同的变量 除了最后一部分,我在下面所做的大部分工作都是有效的,即尝试设置%file!num!% for /R %logs% %%F IN (%S%*.txt) DO ( for /f "tokens=10 delims=\" %%N IN ("%%F") DO ( set /a "num+=1" echo !num!. %%N set "file!num!=%%F" ) ) %%F是文件的完整文件路径 %%N
for /R %logs% %%F IN (%S%*.txt) DO (
for /f "tokens=10 delims=\" %%N IN ("%%F") DO (
set /a "num+=1"
echo !num!. %%N
set "file!num!=%%F"
)
)
%%F是文件的完整文件路径
%%N只是文件名
我想将文件路径%%F设置为%file!num!%要将其设置为file2或w/e number,它是,我从另一个示例中选取了您的代码,并将其与此问题中的代码结合起来 我相信这就是你试图做的
@ECHO OFF
setlocal enabledelayedexpansion
SET "S=Foobar"
SET "num=0"
SET "logs=C:\some path"
for /R "%logs%" %%F IN (%S%*.txt) DO (
set /a "num+=1"
echo !num!. %%~nxF
set "file!num!=%%F"
)
set "choice="
set /p choice="Select File Number, or no to exit: "
if /I "%choice%"=="no" (
goto cleanup
) else (
start "" "!file%choice%!"
pause
)
:cleanup
这回答了你的问题吗?您不需要另一个
FOR
命令来获取文件名。阅读for
命令的帮助。有专门的变量修饰符来解析文件路径和文件名。除此之外,只要启用了延迟扩展,代码就应该可以工作。