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

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

  1. set /p a=请把文件拖入本框内并按下回车。(只能一个一个上传!)
复制代码
这串代码运行完毕后,我只想提取该文件的文件名,WHO来帮一下忙

  1. set /p a=请把文件拖入本框内并按下回车。(只能一个一个上传!)
  2. for /f "delims=" %%i in (%a%) do set "a=%%~nxi"
复制代码
1

评分人数

---学无止境---

TOP

  1. @echo off
  2. set /p a=请把文件拖入本框内并按下回车。(只能一个一个上传!)
  3. call :label %a%
  4. pause
  5. :label
  6. echo %~nx1
  7. goto :eof
复制代码
1

评分人数

TOP

回复 3# 545810831


    能不能告诉我一下这个《echo %~nx1》中的 %~nx1 是什么意思。

TOP

回复 4# 冷玉公子


能不能看看教程?
http://bbs.bathome.net/thread-2205-1-1.html

TOP

回复 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 /?

TOP

回复 6# CrLf


    3Q 原来还真的没看到过这个。

TOP

返回列表