标题: [文件操作] [已解决]批处理如何获取文件所在文件夹名称 [打印本页]
作者: smss 时间: 2019-6-23 17:15 标题: [已解决]批处理如何获取文件所在文件夹名称
例如
manifest.xml的所在文件夹名称 同时获取所在文件夹之前的绝对路径
- @echo off&setlocal enabledelayedexpansion
- for /f "delims=" %%i in ('dir /b /a /s "%1\manifest.xml"') do (set "p=%%~dpi"
- cd/d "!p!..\."
- call set "pf=%%p:!cd!\=%%"
- echo !p:~,-1!复制到"!pf:~,-1!")
- pause
复制代码
作者: miqilaosu 时间: 2019-6-23 17:26
本帖最后由 miqilaosu 于 2019-6-23 19:07 编辑
刚才看错了- cd /d %userprofile%\Desktop\A\
- for /f %%i in ('dir /b /s 1.txt' ) do echo.%%~dpi
复制代码
在手机上打的没测试反正就是先进入到根目录不然容易出错,然后for读取到%%i
%%~dpi输出就可以了
manifest.xml 这个就是你的1.txt吧 前边加个空格就行 还有在for之前最好用cd进入根目录 不然会读取到a同级别目录里边文件- for /f "delims=" %%b in ('dir /b /a-h /s "%1\*.xml"') do (
- cd /d "%1"
- for /f "delims=" %%a in ('dir /b /a /s "%1" "\manifest.xml"') do (set "BatDir=%%~dpa"
- echo "!BatDir:~,-1!"
- ))
复制代码
作者: smss 时间: 2019-6-23 19:06
本帖最后由 smss 于 2019-6-23 20:18 编辑
回复 2# miqilaosu
!BatDir:~,-1!不含\的 盘符路径
能实测下再回复吗 CD到一个变动的循环中 就会进入无限死循环的
作者: miqilaosu 时间: 2019-6-23 19:11
回复 3# smss
之前弄过记得是用" delims=/"
实现的 一会用电脑看下
作者: smss 时间: 2019-6-23 19:18
回复 4# miqilaosu
for /f "tokens=1,2 delims=:" %%a in (易经.txt) do echo %%a %%b
看过这样切分的 我太菜还没理解
作者: miqilaosu 时间: 2019-6-23 19:44
回复 5# smss
你去新手练功里看下我那里有大家总结的经验,我记得以前做过
作者: smss 时间: 2019-6-23 20:58
回复 6# miqilaosu 解决了 感谢帮助
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |