batch-file - 批处理文件打开一个具有部分文件夹名称的文件夹

标签 batch-file

由于地址太大,我需要批量直接打开文件夹。

例如我有这个文件夹结构:

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_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%* 因此它会打开我的文档文件夹。

最佳答案

只能在路径的最后一个元素中使用通配符(?*);使用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/

相关文章:

windows - 用于关闭的批处理文件,带有提示选项以中止它并在一定时间后重新运行?

parsing - Dos 批处理 : How to get filename from variable that isn't an argument?

windows - 如何从命令行查找 Microsoft Office 路径

windows - 在 Windows 上运行开放式 SSL 的脚本

unix - ftp mget 在脚本中使用时不起作用

windows - 尝试使用批处理将文件从当前目录复制到另一个目录

powershell - ExecutionPolicy错误后如何强制Powershell设置ERRORLEVEL变量

batch-file - 以管理员身份自动运行批处理文件

apache - 用于判断网站是启动还是关闭的批处理脚本

batch-file - 批处理文件,用于识别指定窗口是否打开,然后将其关闭