我试图让用户从列出的特定目录中输入文件夹名称。以下给出了列表,但包含可能会混淆用户的完整路径。我的字符串%officeL%是指路径位置,例如C:\文件夹1 \文件夹2 \仅列出目录中的文件夹
for /d %%X in (%officeL%*) do echo %%X
理想我想刚刚得到的只是在最后的位置,我的字符串例如指定的文件夹的简单列表客户端1,客户机程序,client3 ...
我试图让用户从列出的特定目录中输入文件夹名称。以下给出了列表,但包含可能会混淆用户的完整路径。我的字符串%officeL%是指路径位置,例如C:\文件夹1 \文件夹2 \仅列出目录中的文件夹
for /d %%X in (%officeL%*) do echo %%X
理想我想刚刚得到的只是在最后的位置,我的字符串例如指定的文件夹的简单列表客户端1,客户机程序,client3 ...
你可以使用批处理参数修饰符:
for /d %%X in (%officeL%*) do echo %%~nX
见http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/percent.mspx?mfr=true或
for /?
更多信息。
下面就为你工作
@Echo OFF
FOR /F %%G IN ('DIR /b %officeL%') DO CALL :Folders "%%G"
EXIT /b
:Folders
SET str1=%~1
Echo %str1%
这很有用,但只列出了我的例程的第一个文件夹,是否需要循环才能获取所有文件? – 2013-02-14 14:40:00
+1,不过你应该使用'%%〜nxX',因为文件夹名可以包含扩展名。 – dbenham 2013-02-13 18:39:17
谢谢,这正是我所需要的。 – 2013-02-14 14:30:46