batch-file - cd 进入与 dir 一起使用的找到文件的目录
问题描述
我的 CMD 脚本需要一些帮助。目前我正在做的是搜索一个特定的文件:
cd ../cache
dir /s "filename.exe
当 CMD 找到该文件时,它会输出:
"C:Windows\system32\cache\folder\thefileImlookingfor 目录"
在 CMD 找到该文件之后,我现在想做的是“cd”到我找到该文件的那个目录中。但是,此实例中刚刚称为文件夹的文件夹会不时更改名称。但这无关紧要,因为文件名仍然相同。那么我怎样才能“cd”到我找到的文件名的目录呢?
解决方案
你需要一个for
循环:
@echo off
for /f "delims=" %%i in ('dir /b /a-d /s "filename.exe"') do cd /d "%%~dpi"
或者使用pushd
@echo off
for /f "delims=" %%i in ('dir /b /a-d /s "filename.exe"') do pushd "%%~dpi"
echo do some things here..
popd
为了更好地理解这里发生了什么,打开cmd
并运行for /?
. 特别关注for
变量引用的替换
推荐阅读
- mysql - MySQL 一列中有多少个不同的值,每个值的出现次数是多少?
- python - 定义一个函数来更新类整数属性
- r - 过滤 data.table 当且仅当条件被验证时,尽管 NA
- node.js - Prisma 无需等待即可创建/更新
- dictionary - ThingBoard Dashboard 动态地图在各个点创建路线
- python - 如何使用 django 中的函数在另一个表中显示值
- c++11 - 如何从 C++ 中的 concurrent_vector (PPL) 中弹出第一个元素?
- reactjs - Antd 表单似乎没有处理换行符?
- angular - 高级 Angular:提取 Ng-Content 子项
- django - djangochannelsrestframework websocket 连接失败,错误 500