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

[文件操作] 批处理获得快捷方式地址赋值不完整,怎么改?

[复制链接]
发表于 2015-2-11 15:53:39 | 显示全部楼层 |阅读模式
桌面上有一快捷方式 “*日志.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的时候找不到路径,请问大神是什么原因导致?语句如何修改?
发表于 2015-2-11 17:47:00 | 显示全部楼层
本帖最后由 pcl_test 于 2015-2-11 18:00 编辑

回复 1# Aolnle


  type *.lnk可以这样获取快捷方式的信息?
你在命令提示符里把路径切换到桌面,在输入type "*日志*.lnk",回车看看显示什么?
发表于 2015-2-11 21:25:42 | 显示全部楼层
本帖最后由 tmplinshi 于 2015-2-11 22:01 编辑

试试这样:
  1. for /f "delims=" %%i in (' find ":" "*日志*.lnk" ^| findstr /i "^[A-Z]:\\\" ') do set "dypath=%%i"
复制代码

评分

参与人数 1技术 +1 收起 理由
CrLf + 1 不潜水都是好同志

查看全部评分

 楼主| 发表于 2015-2-12 14:59:53 | 显示全部楼层
回复 3# tmplinshi

大神,你的代码我试了,得出的结果是C:\Users;我还试着查找“:”,得出的结果也是C:\Users
我想也许是C:\Users与后面的地址不在同一行,我还是按最笨的办法直接加上就行了do set "dypath=C:\Users\%%i"
非常感谢!
发表于 2015-2-12 18:09:26 | 显示全部楼层
本帖最后由 tmplinshi 于 2015-2-12 18:10 编辑

把那个快捷方式复制为 txt 文件,上传上来看看:
  1. copy 快捷方式文件名.lnk 快捷方式.lnk.txt
复制代码



或者你自己看一下那个 lnk 的内容:
  1. find /v "" *日志*.lnk >lnk.txt & start lnk.txt
复制代码
然后根据内容写出对应的查找代码。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-19 16:33 , Processed in 0.018737 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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