找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 19701|回复: 8

[文本处理] 求助批处理截取路径中的文件夹名

[复制链接]
发表于 2023-3-31 10:32:10 | 显示全部楼层 |阅读模式
需求:获取路径中的末级文件夹名,如输入路径“C:\AA\BB(CC)”,预期结果为“BB(CC)”。
过程:我曾尝试用%~n1,发现当路径中包含括号时就不能获取到正确的结果。
求助:望各位大佬提供下解决方案。
发表于 2023-3-31 10:37:50 | 显示全部楼层
  1. for %%i in ("%cd%") do echo %%~ni

  2. 具体用法如下
  3. for %%i in ("%cd%") do (
  4.     :: 这里可以放自己的for代码
  5. )
复制代码
发表于 2023-3-31 10:39:50 | 显示全部楼层
回复 1# Amigo
  1. @echo off
  2. set "FullFolder=C:\AA\BB(CC)"
  3. for %%i in ("%FullFolder%") do (
  4.     echo,%%~nxi
  5. )
  6. pause
复制代码
 楼主| 发表于 2023-3-31 10:45:07 | 显示全部楼层
本帖最后由 Amigo 于 2023-3-31 10:52 编辑

回复 2# lancer
老哥,我刚试了下,这样只能得到“AA”呀,不是末级的文件夹名。
 楼主| 发表于 2023-3-31 10:54:15 | 显示全部楼层
回复  Amigo
Batcher 发表于 2023-3-31 10:39


这段代码我试了下,运行闪退了。
 楼主| 发表于 2023-3-31 10:55:19 | 显示全部楼层
回复 3# Batcher
这段代码我试了下,闪退了。
发表于 2023-3-31 13:20:02 | 显示全部楼层
回复 6# Amigo

我试了站长的代码,正常,你可以新建一个批处理文件,然后手敲代码或者全选复制,试试
发表于 2023-3-31 15:02:03 | 显示全部楼层
回复 4# Amigo
  1. @echo off
  2. for %%i in ("%cd%") do (
  3.     echo,%%~ni
  4. )
  5. pause
复制代码
运行批处理时,批处理要位于BB(CC)目录下面才行。。。你是不是放在AA目录下面运行的。。
发表于 2023-3-31 17:36:18 | 显示全部楼层
回复 6# Amigo


请参考Q-04把3楼的bat文件保存为ANSI编码:
https://mp.weixin.qq.com/s/Koje4FufWxWBs7ioDy_LJA
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-19 01:04 , Processed in 0.018870 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表