标题: [文本处理] [已解决]批处理如何获取当前目录的名称? [打印本页]
作者: chishingchan 时间: 2023-4-16 19:19 标题: [已解决]批处理如何获取当前目录的名称?
例如:
在 C:\A\B\C 目录下运行 C:\A\B\C\DirName.bat 获取当前目录的名称,结果:C
在 C:\A\BC\DEF\GHIJ 目录下运行 C:\A\BC\DEF\GHIJ\DirName.bat 获取目录的名称,结果:GHIJ
谢谢!
作者: czjt1234 时间: 2023-4-16 19:33
把 %cd% 作为参数传递给 C:\A\B\C\DirName.bat
作者: chishingchan 时间: 2023-4-16 19:42
回复 2# czjt1234
可是 %cd% 是个完整的路径!
为什么 1# 有两个例子?因为需要这个批处理能通用。
作者: czjt1234 时间: 2023-4-16 20:11
在 C:\A\B\C\DirName.bat 中 %~n1 就是文件夹名
echo %~n1
作者: chishingchan 时间: 2023-4-16 20:56
本帖最后由 chishingchan 于 2023-4-16 21:00 编辑
回复 4# czjt1234
谢谢!换了个思路,算解决问题了!
但是还是获取目录名称更好用。未结贴,希望得到帮助,谢谢!
将文件拖入批处理:- @echo off
- cd /d "%~dp0"
- echo EXPAND.EXE %~n1.cab -F:*.* .
- pause
复制代码
作者: buyiyang 时间: 2023-4-16 21:03
- set "p=%~dp0"
- for %%i in ("%p:~0,-1%") do echo,%%~ni
复制代码
- for %%i in ("%cd%") do echo,%%~ni
复制代码
作者: 77七 时间: 2023-4-16 21:26
- @echo off
- rem 由此更改 http://bbs.bathome.net/redirect.php?goto=findpost&ptid=42293&pid=192838
- for %%I in (.\.) do echo=%%~nI
- pause
复制代码
作者: buyiyang 时间: 2023-4-16 21:58
回复 7# 77七
.也可以扩展?那这样也行- for %%I in (.) do echo,%%~nI
复制代码
作者: 77七 时间: 2023-4-16 22:12
本帖最后由 77七 于 2023-4-16 22:16 编辑
回复 8# buyiyang
我是乱改的那个代码。
确实可行,真奇妙啊...学习了!
作者: Batcher 时间: 2023-4-17 10:31
回复 8# buyiyang
用%%~nxi比较安全- @echo off
- for %%i in (.) do (
- echo,%%~nxi
- )
- pause
复制代码
- @echo off
- for %%i in ("%~f0\..") do (
- echo,%%~nxi
- )
- pause
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |