由于地址太大,我需要批量直接打开文件夹。
例如我有这个文件夹结构:
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\文件夹_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%*
因此它会打开我的文档文件夹。
最佳答案
只能在路径的最后一个元素中使用通配符(?
、*
);使用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"
)
关于batch-file - 批处理文件打开一个具有部分文件夹名称的文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41299657/