[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

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

需求:获取路径中的末级文件夹名,如输入路径“C:\AA\BB(CC)”,预期结果为“BB(CC)”。
过程:我曾尝试用%~n1,发现当路径中包含括号时就不能获取到正确的结果。
求助:望各位大佬提供下解决方案。

  1. for %%i in ("%cd%") do echo %%~ni
  2. 具体用法如下
  3. for %%i in ("%cd%") do (
  4.     :: 这里可以放自己的for代码
  5. )
复制代码

TOP

回复 1# Amigo
  1. @echo off
  2. set "FullFolder=C:\AA\BB(CC)"
  3. for %%i in ("%FullFolder%") do (
  4.     echo,%%~nxi
  5. )
  6. pause
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

本帖最后由 Amigo 于 2023-3-31 10:52 编辑

回复 2# lancer
老哥,我刚试了下,这样只能得到“AA”呀,不是末级的文件夹名。

TOP

回复  Amigo
Batcher 发表于 2023-3-31 10:39


这段代码我试了下,运行闪退了。

TOP

回复 3# Batcher
这段代码我试了下,闪退了。

TOP

回复 6# Amigo

我试了站长的代码,正常,你可以新建一个批处理文件,然后手敲代码或者全选复制,试试
bat小白,请多指教!谢谢!

TOP

回复 4# Amigo
  1. @echo off
  2. for %%i in ("%cd%") do (
  3.     echo,%%~ni
  4. )
  5. pause
复制代码
运行批处理时,批处理要位于BB(CC)目录下面才行。。。你是不是放在AA目录下面运行的。。

TOP

回复 6# Amigo


请参考Q-04把3楼的bat文件保存为ANSI编码:
https://mp.weixin.qq.com/s/Koje4FufWxWBs7ioDy_LJA
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

返回列表