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

[文件操作] 批处理FOR命令怎样提取路径?

[复制链接]
发表于 2011-10-25 00:53:08 | 显示全部楼层 |阅读模式
  1. set /p a=请把文件拖入本框内并按下回车。(只能一个一个上传!)
复制代码
这串代码运行完毕后,我只想提取该文件的文件名,WHO来帮一下忙
发表于 2011-10-25 01:08:05 | 显示全部楼层
  1. set /p a=请把文件拖入本框内并按下回车。(只能一个一个上传!)
  2. for /f "delims=" %%i in (%a%) do set "a=%%~nxi"
复制代码

评分

参与人数 1技术 +1 收起 理由
qc5111 + 1 谢谢

查看全部评分

发表于 2011-10-25 05:39:50 | 显示全部楼层
  1. @echo off
  2. set /p a=请把文件拖入本框内并按下回车。(只能一个一个上传!)
  3. call :label %a%
  4. pause
  5. :label
  6. echo %~nx1
  7. goto :eof
复制代码

评分

参与人数 1技术 +1 收起 理由
qc5111 + 1 谢谢

查看全部评分

发表于 2011-10-25 22:59:23 | 显示全部楼层
回复 3# 545810831


    能不能告诉我一下这个《echo %~nx1》中的 %~nx1 是什么意思。
发表于 2011-10-25 23:31:50 | 显示全部楼层
回复 4# 冷玉公子


能不能看看教程?
http://bbs.bathome.net/thread-2205-1-1.html
发表于 2011-10-26 00:57:42 | 显示全部楼层
回复 4# 冷玉公子


由 shell 解释 %0~%1 这十个参数(%0 实也是参数,它对 cmd 来说是 %1,而对批处理本身来说就代表着自身),基本格式如下:
    cmd /c test.bat abc 123 @#$
    此处的 %0=test.bat,%1=abc,%2=123,%3=@#$
    而在 cmd 中能够进一步对 shell 传递来的参数进行扩展解释,%~n0 就是文件名 test,%~x0 是后缀名 .bat,等等等等...其他参数的扩展解释使用相同规则,详见 call /?
发表于 2011-10-26 10:10:50 | 显示全部楼层
回复 6# CrLf


    3Q 原来还真的没看到过这个。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-18 06:19 , Processed in 0.019515 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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