无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 1858|回复: 16
打印 上一主题 下一主题

[已解决] 【已解决】求助:获取快捷方式路径.bat,不支持文件名有空格,谢谢

[复制链接]
跳转到指定楼层
1#
发表于 2023-9-16 01:17:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 yyz2191958 于 2023-9-16 21:36 编辑

完美解决了:
::【获取快捷方式路径】
版本1:
@echo off
for %%a in ("*.lnk") do echo %%~fa >>123.txt
exit
版本2
@echo off
::【获取快捷方式路径,保存为:#.txt】
(for /f "tokens=*" %%a in ('dir *.lnk /b') do echo;%%~fa)>"%~dp0#.txt"
exit
*****************************************************

*********************************
原来的问题:
已有批处理:获取快捷方式路径.bat
@echo off
::【获取快捷方式路径,保存为:#.txt】
(for /f %%a in ('dir *.lnk /b') do echo;%%~fa)>"%~dp0#.txt"
exit
*****************************************
运行以后结果是:
D:\桌面\Desktop\000研究\获取快捷方式路径\关
D:\桌面\Desktop\000研究\获取快捷方式路径\重启网.bat.lnk
D:\桌面\Desktop\000研究\获取快捷方式路径\重启进
++++++++++++++++++++++++++++++++++++++++++++++
希望得到的结果(不要子目录的快捷方式路径):
D:\桌面\Desktop\000研究\获取快捷方式路径\关 机网.bat.lnk
D:\桌面\Desktop\000研究\获取快捷方式路径\重启网.bat.lnk
D:\桌面\Desktop\000研究\获取快捷方式路径\重启进 Win7.bat.lnk


2#
发表于 2023-9-16 03:13:21 | 只看该作者
for /f "delims=" %%i

点评

一直用这种,方便  详情 回复 发表于 2023-9-16 12:45
不成功 辛苦了  详情 回复 发表于 2023-9-16 07:59
我试一试先 谢谢  详情 回复 发表于 2023-9-16 07:52
"delims=" 这永远是无用代码,默认就以空格分隔的,帮倒忙。 应该是 "tokens=*",视作整体,实测结果正确。  详情 回复 发表于 2023-9-16 03:30

评分

参与人数 1无忧币 +5 收起 理由
yyz2191958 + 5 赞一个!

查看全部评分

回复

使用道具 举报

3#
发表于 2023-9-16 03:30:34 | 只看该作者

"delims=" 这永远是无用代码,默认就以空格分隔的,帮倒忙。
应该是 "tokens=*",视作整体,实测结果正确。

点评

"delims="不是以空格为分隔符而是取消分隔符,"delims= "才是以空格为分隔符,for /f 是默认以空白字符分隔。  详情 回复 发表于 2023-9-16 10:13
成功了 非常感谢  详情 回复 发表于 2023-9-16 08:00
谢谢  详情 回复 发表于 2023-9-16 07:56

评分

参与人数 1无忧币 +5 收起 理由
yyz2191958 + 5 赞一个!

查看全部评分

回复

使用道具 举报

4#
 楼主| 发表于 2023-9-16 07:52:02 | 只看该作者

我试一试先 谢谢
回复

使用道具 举报

5#
 楼主| 发表于 2023-9-16 07:56:11 | 只看该作者
2010hook 发表于 2023-9-16 03:30
"delims=" 这永远是无用代码,默认就以空格分隔的,帮倒忙。
应该是 "tokens=*",视作整体,实测结果正 ...

谢谢
回复

使用道具 举报

6#
 楼主| 发表于 2023-9-16 07:59:52 | 只看该作者

不成功  辛苦了
回复

使用道具 举报

7#
 楼主| 发表于 2023-9-16 08:00:29 | 只看该作者
2010hook 发表于 2023-9-16 03:30
"delims=" 这永远是无用代码,默认就以空格分隔的,帮倒忙。
应该是 "tokens=*",视作整体,实测结果正 ...

成功了 非常感谢
回复

使用道具 举报

8#
发表于 2023-9-16 10:13:26 | 只看该作者
2010hook 发表于 2023-9-16 03:30
"delims=" 这永远是无用代码,默认就以空格分隔的,帮倒忙。
应该是 "tokens=*",视作整体,实测结果正 ...

"delims="不是以空格为分隔符而是取消分隔符,"delims= "才是以空格为分隔符,for /f 是默认以空白字符分隔。
回复

使用道具 举报

9#
发表于 2023-9-16 12:45:07 来自手机 | 只看该作者
wxinchun92 发表于 2023-9-16 03:13
for /f "delims=" %%i

一直用这种,方便
回复

使用道具 举报

10#
发表于 2023-9-16 16:06:22 | 只看该作者
学习学习
回复

使用道具 举报

11#
发表于 2023-9-16 20:25:03 | 只看该作者

for %%a in ("*.lnk") do echo %%~fa >>123.txt

点评

成功了 再次感谢  详情 回复 发表于 2023-9-16 21:43
大道至简  详情 回复 发表于 2023-9-16 20:49

评分

参与人数 1无忧币 +5 收起 理由
yyz2191958 + 5 大道至简

查看全部评分

回复

使用道具 举报

12#
 楼主| 发表于 2023-9-16 20:49:53 | 只看该作者
ppll2030 发表于 2023-9-16 20:25
for %%a in ("*.lnk") do echo %%~fa >>123.txt

大道至简
回复

使用道具 举报

13#
 楼主| 发表于 2023-9-16 21:43:38 | 只看该作者
ppll2030 发表于 2023-9-16 20:25
for %%a in ("*.lnk") do echo %%~fa >>123.txt

成功了 再次感谢
回复

使用道具 举报

14#
发表于 2023-9-16 21:58:55 | 只看该作者
恭喜恭喜
学习了

点评

共同进步  详情 回复 发表于 2023-9-16 22:07
回复

使用道具 举报

15#
 楼主| 发表于 2023-9-16 22:07:32 | 只看该作者

共同进步
回复

使用道具 举报

16#
发表于 2023-10-12 10:17:03 | 只看该作者
学习学习
回复

使用道具 举报

17#
 楼主| 发表于 2023-10-12 12:00:20 | 只看该作者
学习使人进步
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-5-5 05:50

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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