标题: [文件操作] 批处理获得快捷方式地址赋值不完整,怎么改? [打印本页]
作者: Aolnle 时间: 2015-2-11 15:53 标题: 批处理获得快捷方式地址赋值不完整,怎么改?
桌面上有一快捷方式 “*日志.lnk ”指向地址:
C:\Users\Pan\交易\交易总结\2015年02月\周三-20150211-日志.txt
语句 for /f "delims=" %%i in ('type "*日志*.lnk"^|find /i "txt"^|find "\"') do set "dypath=%%i"
可把该快捷方式指向地址赋值给dypath,但赋值结果总是:
Pan\交易\交易总结\2015年02月\周三-20150211-日志.txt
与前相比少了C:\Users\,导致后续在调用dypath的时候找不到路径,请问大神是什么原因导致?语句如何修改?
作者: pcl_test 时间: 2015-2-11 17:47
本帖最后由 pcl_test 于 2015-2-11 18:00 编辑
回复 1# Aolnle
type *.lnk可以这样获取快捷方式的信息?
你在命令提示符里把路径切换到桌面,在输入type "*日志*.lnk",回车看看显示什么?
作者: tmplinshi 时间: 2015-2-11 21:25
本帖最后由 tmplinshi 于 2015-2-11 22:01 编辑
试试这样:- for /f "delims=" %%i in (' find ":\" "*日志*.lnk" ^| findstr /i "^[A-Z]:\\\\" ') do set "dypath=%%i"
复制代码
作者: Aolnle 时间: 2015-2-12 14:59
回复 3# tmplinshi
大神,你的代码我试了,得出的结果是C:\Users;我还试着查找“:”,得出的结果也是C:\Users
我想也许是C:\Users与后面的地址不在同一行,我还是按最笨的办法直接加上就行了do set "dypath=C:\Users\%%i"
非常感谢!
作者: tmplinshi 时间: 2015-2-12 18:09
本帖最后由 tmplinshi 于 2015-2-12 18:10 编辑
把那个快捷方式复制为 txt 文件,上传上来看看:- copy 快捷方式文件名.lnk 快捷方式.lnk.txt
复制代码
或者你自己看一下那个 lnk 的内容:- find /v "" *日志*.lnk >lnk.txt & start lnk.txt
复制代码
然后根据内容写出对应的查找代码。
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |