标题: [文本处理] [已解决]批处理如何获取目录路径 \ 符号最后的变量? [打印本页]
作者: kswdiy 时间: 2011-10-7 20:43 标题: [已解决]批处理如何获取目录路径 \ 符号最后的变量?
本帖最后由 kswdiy 于 2011-11-18 11:22 编辑
如题目所示
哦想做一个 文件目录的 结构 复制的 批处理
现 出现 一个 小问题
就是 只有一级目录的 结构 有点 问题
所以 想 如何 用批处理获取
目录路径 最后一个\ 符号后面的变量
举个例子 c:\a
c:\aa\a
c:\aa d\a
c:\aa\aa\aaa c
想获取 就是 最后一个 \ 符号后面的变量 红字索要的变量 怎么写啊
望知道 大大 赐教。。。
作者: CrLf 时间: 2011-10-7 20:48
- for %%a in ("c:\aa\bb\cc") do echo %%~nxa
复制代码
要注意的是,这会去除 cc 后的空格,还有别的方法,但是只对付文件的话,这是最优方案
作者: kswdiy 时间: 2011-10-7 21:07
回复 2# CrLf
你这个 写法 我是 写过 的
发现对于 一级目录的 不行的 就如 我提取 c:\a 我要 提取 这个a 就不行了
老大我用来就是 针对 目录 提取的用的
作者: CrLf 时间: 2011-10-7 21:16
文件夹不是一样的吗?你给出的顶楼样本用这种方法是没有问题的,至于3楼给出的路径好像是用全角冒号
作者: kswdiy 时间: 2011-10-7 21:30
回老大 的话 看了一下 原来是 是 这里面 出错了
for %%a in ("c:\aa\bb\cc") do echo %%~nxa
中 的 ()里面的变量 要 加 “” 符号
不让 针对 一级目录的 就是 在根目录的 文件夹 就无法 执行 程序了
谢谢诶 以后要 注意 双引号的 用法 呵呵 谢谢诶
作者: FOR 时间: 2011-10-8 00:57
不丢弃最后的空格- @echo off
- set i=a\b\d\dkk
- set i="%i:\=" "%"
- for %%a in (%i%) do set "str=%%~a"
- echo,【%str%】
- pause
复制代码
作者: kswdiy 时间: 2011-10-8 09:49
回复 6# FOR
谢谢你 代码 收藏中 并改进中。。。
作者: CrLf 时间: 2011-11-18 13:24
本帖最后由 CrLf 于 2011-11-18 13:26 编辑
回复 6# FOR
有更简单的办法...养生秘诀:缺啥补啥- @echo off
- set "i=a\b\d\dkk "
- for %%a in ("%i%.#") do echo 【%%~na】
- pause
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |