基于CMD输入的网络驱动器指定目录文件夹快速打开脚本需求
解决方案:CMD脚本快速查找并打开指定工作文件夹
我写了一个批处理脚本刚好能满足你的需求,直接在CMD里就能运行,还能处理找不到目标文件夹或者找到多个重复结果的情况:
@echo off setlocal enabledelayedexpansion :: 提示用户输入要查找的文件夹名称 set /p "targetFolder=请输入要打开的文件夹名称:" :: 定义要搜索的根目录 set "searchRoot=G:\Work_A" :: 搜索2017和2018目录下的目标文件夹,只返回目录路径 dir /s /b /ad "%searchRoot%\2017\%targetFolder%" > temp.txt dir /s /b /ad "%searchRoot%\2018\%targetFolder%" >> temp.txt :: 统计找到的结果数量 for /f %%a in ('find /c /v "" ^< temp.txt') do set "count=%%a" :: 根据结果数量执行不同操作 if !count! equ 1 ( :: 读取找到的路径并打开 set /p "folderPath="<temp.txt echo 正在打开文件夹:!folderPath! explorer "!folderPath!" ) else if !count! equ 0 ( echo 错误:未找到名为"%targetFolder%"的文件夹 ) else ( echo 错误:找到多个名为"%targetFolder%"的文件夹,请检查名称唯一性 ) :: 清理临时文件 del temp.txt endlocal pause
脚本说明
@echo off:关闭命令行的回显,让输出更整洁set /p "targetFolder=...":获取你输入的文件夹名称dir /s /b /ad:递归搜索指定路径下的目录(/ad表示只找目录),/b返回纯路径格式- 用临时文件
temp.txt存储搜索结果,避免处理复杂的管道输出 find /c /v "":统计临时文件里的行数,也就是找到的文件夹数量- 根据数量判断:唯一结果就用
explorer打开;没找到或多结果就给出提示 - 最后自动清理临时文件,避免残留
使用步骤
- 把上面的代码复制到记事本里,保存为
OpenWorkFolder.bat(注意保存类型选“所有文件”,编码用ANSI) - 打开CMD,导航到脚本所在的文件夹,或者直接把脚本放到系统PATH能识别的目录里(比如
C:\Windows) - 运行
OpenWorkFolder.bat,输入你要找的文件夹名称(比如Folder_A),回车即可
注意事项
- 确保你的网络驱动器G盘已经正常挂载,且有权限访问
G:\Work_A\2017和G:\Work_A\2018目录 - 目标文件夹名称必须是唯一的,如果2017和2018目录里有同名文件夹,脚本会提示错误,避免打开错误的目录
内容的提问来源于stack exchange,提问作者crazy.Proj.mgr
相关产品推荐
相关产品推荐

