批处理文件,用于打开一个文件夹名为

时间:2016-12-23 10:29:19

标签: batch-file

我需要批量直接打开文件夹,因为地址太大了。

例如我有这个文件夹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_1Folder_2Folder_3Folder_4Folder_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%*所以它会打开我的文档文件夹。

1 个答案:

答案 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"
)