我需要批量直接打开文件夹,因为地址太大了。
例如我有这个文件夹stuct:
Z:\Folder_1\1234_name1\Folder_2\Folder_3\Folder_4\Folder_5 Z:\Folder_1\3456_name2\Folder_2\Folder_3\Folder_4\Folder_5 Z:\Folder_1\7891_name3\Folder_2\Folder_3\Folder_4\Folder_5 Z:\Folder_1\1596_name4\Folder_2\Folder_3\Folder_4\Folder_5 ...
所以我需要一个可以输入数字的批处理,例如7891
,然后打开与该数字Z:\Folder_1\7891_name3\Folder_2\Folder_3\Folder_4\Folder_5
匹配的文件夹。
问题是我只知道数字,但从不知道它前面的名字。其余的Folder_1
,Folder_2
,Folder_3
,Folder_4
和Folder_5
始终是相同的名称。
我正在尝试类似的事情:
cls
@ECHO OFF
:CALLNUMBER
echo Number?
set/p "Number=>"
%SystemRoot%\explorer.exe "Z:\Folder_1\%Number%*\Folder_2\Folder_3\Folder_4\Folder_5"
这不起作用,因为它不接受%Number%*
所以它会打开我的文档文件夹。
答案 0 :(得分:0)
您只能在路径的最后一个元素中使用通配符(?
,*
);使用for
作为解决方法:
@echo off
echo Number?
set /P Number=">"
for /D %%D in ("Z:\Folder_1\%Number%_*") do (
"%SystemRoot%\explorer.exe" "%%~D\Folder_2\Folder_3\Folder_4\Folder_5"
)