Board logo

标题: [文件操作] [已解决]批处理命令set /p中路径提取文件名 [打印本页]

作者: pZjVa0    时间: 2013-7-27 13:06     标题: [已解决]批处理命令set /p中路径提取文件名

假设
  1. @echo off
  2. set /p name=
  3. echo %name%
  4. pause
复制代码
这段代码是直接把输入的内容输出,如果用户直接把一个文件拖到窗口里,就会获得类似下面地址
  1. "C:\Program Files\7-Zip\readme.txt"
复制代码
我开始的想法是直接采用for 语句进行过滤,但如果用户单纯输入readme.txt就会出错误。

我的问题是,如何可以在输出时只提取保留文件名 (readme.txt),但同时也支持像上面批处理代码一样手动输入文件名时可以正确获取到文件名?
作者: apang    时间: 2013-7-27 13:38

不明白你想干什么。
这样试试:
  1. @echo off
  2. set /p name=输入或拖入:
  3. for %%a in ("%name:"=%") do echo,%%~nxa
  4. pause
复制代码

作者: weichenxiehou    时间: 2013-7-27 13:39

  1. @echo off
  2. set /p name=
  3. for %%a in (%name%) do echo %%~nxa
  4. pause
复制代码

作者: pZjVa0    时间: 2013-7-27 14:21

回复 3# weichenxiehou


    非常好。我很喜欢你的签名
作者: Batcher    时间: 2013-7-28 12:21

回复 4# pZjVa0


    别人帮你解决了问题之后,请给人家加分。
作者: pZjVa0    时间: 2013-7-28 12:41

回复 5# Batcher


    昨天他回答时我的分提前用了,所以加不了,抱歉。




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2