BAT 获取当前文件夹的名称和文件名

1.代码如下

@echo off
setlocal
for %%I in ("%cd%") do set "folder=%%~nxI"
echo %folder%

或者

@echo off
pushd %1 & for %%I in (.) do set curr=%%~nI
echo %curr%
pause

 

2.选项语法

复制代码
复制代码
     ~I         - 删除任何引号("),扩充 %I
     %~fI        - 将 %I 扩充到一个完全合格的路径名
     %~dI        - 仅将 %I 扩充到一个驱动器号
     %~pI        - 仅将 %I 扩充到一个路径
     %~nI        - 仅将 %I 扩充到一个文件名
     %~xI        - 仅将 %I 扩充到一个文件扩展名
     %~sI        - 扩充的路径只含有短名
     %~aI        - 将 %I 扩充到文件的文件属性
     %~tI        - 将 %I 扩充到文件的日期/时间
     %~zI        - 将 %I 扩充到文件的大小
     %~$PATH:I   - 查找列在路径环境变量的目录,并将 %I 扩充
                   到找到的第一个完全合格的名称。如果环境变量名
                   未被定义,或者没有找到文件,此组合键会扩充到
                   空字符串
复制代码
复制代码

3.组合修饰符

     %~dpI       - 仅将 %I 扩充到一个驱动器号和路径
     %~nxI       - 仅将 %I 扩充到一个文件名和扩展名
     %~fsI       - 仅将 %I 扩充到一个带有短名的完整路径名
     %~dp$PATH:i - 查找列在路径环境变量的目录,并将 %I 扩充到找到的第一个驱动器号和路径。 
     %~ftzaI     - 将 %I 扩充到类似输出线路的 DIR

 4.获取当前目录的绝对路径:  目录中有空格也可以加入""避免找不到路径

复制代码
复制代码
echo 当前盘符:%~d0               -- C
echo 当前盘符和路径:%~dp0           -- C:\Working\docs\
echo 当前批处理全路径:%~f0           -- C:\Working\docs\aaa.bat
echo 当前盘符和路径的短文件名格式:%~sdp0    -- C:\Working\docs\
echo 当前CMD默认目录:%cd%           -- C:\Working\docs
复制代码
复制代码

 

 

2024-12-28 21:23:31【出处】:https://www.cnblogs.com/CRobot/p/15337172.html

=======================================================================================

posted on   jack_Meng  阅读(490)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· NetPad:一个.NET开源、跨平台的C#编辑器
历史上的今天:
2023-12-28 微服务开发,这10个点你要知道
2021-12-28 彻底关闭Win10自动更新--永久关闭
2020-12-28 C# 线程的挂起与唤醒 (AutoResetEvent,ManualResetEvent)
2020-12-28 C#中线程的建立、挂起、继续与销毁

导航

< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8
点击右上角即可分享
微信分享提示

喜欢请打赏

扫描二维码打赏

支付宝打赏

主题色彩