标题: [其他] 如何截取利用set /p拖曳/拖放文件到cmd窗口得到的文件的相对路径 [打印本页]
作者: kswdiy 时间: 2010-3-29 21:19 标题: 如何截取利用set /p拖曳/拖放文件到cmd窗口得到的文件的相对路径
[已解决] 具体看 7楼的回复
看题目大家应该知道了吧??
不知道的 我 举个例子吧
比如的
批处理1.cmd 和2.txt 都在同一分区
有个文件在 与批处理为 1.cmd 在 c:\ 路径为 C:\1.cmd
有个文件为2.txt 在 C:\新文件夹\ 的里面 路径为 C:\新文件夹\2.txt
我在 1.cmd里面写有:
set /p file=请把要释放资源的文件拖动至此:
下面不会写了。。。
我想把截取新的变量为: newpath
这个行 的变量 是 截取 将2.txt文件 拖入到 1.cmd 窗口中后的 路径 减去 本批处理路径后剩下 路径 也就是 剩下 新文件夹\2.txt (这个才是我要的变量 )
就是2.txt文件路径 C:\新文件夹\2.txt
我这个 批处理的 路径在C:\
也就是说的 newpath 变量是 C:\新文件夹\2.txt 减去 C:\ 后剩下的 新文件夹\2.txt
这个通用批处理该如何写啊?
作者: bat007 时间: 2010-3-29 22:06
如果批处理放在C盘,文本文件放在D盘,怎么减?
作者: kswdiy 时间: 2010-3-29 22:16 标题: 回复 2楼 的帖子
修改好了等待 大大门 帮助。。。。
作者: namejm 时间: 2010-3-29 22:37
无论是标题还是内容,都写得绕口至极,能换个正常的描述吗?实在是看不懂了。
作者: bat007 时间: 2010-3-29 22:49
- @echo off
- set /p file=请把要释放资源的文件拖动至此:
- set newpath=%file:C:\=%
- echo,%newpath%
- pause
复制代码
作者: kswdiy 时间: 2010-3-29 23:38 标题: 回复 5楼 的帖子
兄弟你这个不通用啊 能否智能截取 C:\ 呢??
作者: slore 时间: 2010-3-29 23:52
@echo off&setlocal EnableDelayedExpansion
set /p file=请把要释放资源的文件拖动至此:
set newpath=!file:%~dp0=!
echo,%newpath%
pause
作者: caruko 时间: 2010-3-30 08:13
无法截取带:字符的,请分别用%~d0 跟%~p0 然后组合
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |