为了简短起见,我想在目录中创建文件夹列表,以便用户更容易选择文件夹。
这就是我所拥有的:
@echo off
Setlocal EnableDelayedExpansion
...
set /a Ocount=0
for /d %%a in (...\listofoptions\*) do (
set /a count+=1
set Option !count!=%%a
echo Option !count! - %%a
)
... ... ...
但我的问题是选项0被设置为列表中的最后一个文件夹,并且它是唯一正在创建的变量,但是计数正在回显正确。我是一个名为' OPTION#' ...的变量列表 当我进入'设置o'在我的命令行中,只显示选项0。
Option 0 = last folder
Ocount = 26
答案 0 :(得分:0)
Echo Off
Setlocal ENABLEDELAYEDEXPANSION
Set Count=0
For /f "delims=" %%A in ('dir /ad /b c:\windows') do (
Set /a "Count=Count + 1"
Echo !Count! %%A
)
正如您echo off
一样,您没有看到SelLocal
命令错误的信息(错误拼写错误的套管)。
这是毫无意义的(...\listofoptions\\
。 ...
是父母父母的Novell OS标准。当前窗口不支持。 \\
表示在字符串的开头跟随一个UNC样式路径。
count+=1
前面需要set /a
。
这会给你一个对话框
on error resume next
Set bffShell = CreateObject("Shell.Application")
Set bff = bffShell.BrowseForFolder(0, "Select the My Documents folder", 9)
If Err.number<>0 Then
MsgBox "Error Setting up Browse for Folder"
Else
A = bff.ParentFolder.ParseName(bff.Title).Path
If err.number=424 then err.clear
wscript.echo A
End If
将其命名为bff.vbs
使用
For /f "delims=" %%A in ('cscript //nologo "c:\folder\bff.vbs"') Do echo %%A