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

[文本处理] [已解决]批处理如何获取当前目录的名称?

例如:
在 C:\A\B\C 目录下运行 C:\A\B\C\DirName.bat 获取当前目录的名称,结果:C
在 C:\A\BC\DEF\GHIJ 目录下运行 C:\A\BC\DEF\GHIJ\DirName.bat 获取目录的名称,结果:GHIJ
谢谢!
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

把 %cd% 作为参数传递给 C:\A\B\C\DirName.bat

QQ 20147578

TOP

回复 2# czjt1234


    可是 %cd% 是个完整的路径!
为什么 1# 有两个例子?因为需要这个批处理能通用。

TOP

在 C:\A\B\C\DirName.bat 中  %~n1 就是文件夹名

echo %~n1
1

评分人数


QQ 20147578

TOP

本帖最后由 chishingchan 于 2023-4-16 21:00 编辑

回复 4# czjt1234



    谢谢!换了个思路,算解决问题了!
但是还是获取目录名称更好用。未结贴,希望得到帮助,谢谢!

将文件拖入批处理:
  1. @echo off
  2. cd /d "%~dp0"
  3. echo EXPAND.EXE %~n1.cab -F:*.* .
  4. pause
复制代码

TOP

  1. set "p=%~dp0"
  2. for %%i in ("%p:~0,-1%") do echo,%%~ni
复制代码
  1. for %%i in ("%cd%") do echo,%%~ni
复制代码
1

评分人数

TOP

  1. @echo off
  2. rem 由此更改 http://bbs.bathome.net/redirect.php?goto=findpost&ptid=42293&pid=192838
  3. for %%I in (.\.) do echo=%%~nI
  4. pause
复制代码
1

评分人数

bat小白,请多指教!谢谢!

TOP

回复 7# 77七


    .也可以扩展?那这样也行
  1. for %%I in (.) do echo,%%~nI
复制代码
1

评分人数

TOP

本帖最后由 77七 于 2023-4-16 22:16 编辑

回复 8# buyiyang

我是乱改的那个代码。
   确实可行,真奇妙啊...学习了!
bat小白,请多指教!谢谢!

TOP

回复 8# buyiyang


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

TOP

返回列表