yyz2191958 发表于 2023-9-16 01:17:43

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

本帖最后由 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


wxinchun92 发表于 2023-9-16 03:13:21

for /f "delims=" %%i

2010hook 发表于 2023-9-16 03:30:34

wxinchun92 发表于 2023-9-16 03:13
for /f "delims=" %%i

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

yyz2191958 发表于 2023-9-16 07:52:02

wxinchun92 发表于 2023-9-16 03:13
for /f "delims=" %%i

我试一试先 谢谢

yyz2191958 发表于 2023-9-16 07:56:11

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

谢谢

yyz2191958 发表于 2023-9-16 07:59:52

wxinchun92 发表于 2023-9-16 03:13
for /f "delims=" %%i

不成功辛苦了

yyz2191958 发表于 2023-9-16 08:00:29

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

成功了 非常感谢

batche 发表于 2023-9-16 10:13:26

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

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

szwp 发表于 2023-9-16 12:45:07

wxinchun92 发表于 2023-9-16 03:13
for /f "delims=" %%i

一直用这种,方便

nathan6498 发表于 2023-9-16 16:06:22

学习学习

ppll2030 发表于 2023-9-16 20:25:03


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

yyz2191958 发表于 2023-9-16 20:49:53

ppll2030 发表于 2023-9-16 20:25
for %%a in ("*.lnk") do echo %%~fa >>123.txt

大道至简

yyz2191958 发表于 2023-9-16 21:43:38

ppll2030 发表于 2023-9-16 20:25
for %%a in ("*.lnk") do echo %%~fa >>123.txt

成功了 再次感谢

martin313 发表于 2023-9-16 21:58:55

恭喜恭喜
学习了

yyz2191958 发表于 2023-9-16 22:07:32

martin313 发表于 2023-9-16 21:58
恭喜恭喜
学习了

共同进步

无犹启动 发表于 2023-10-12 10:17:03

学习学习

yyz2191958 发表于 2023-10-12 12:00:20

学习使人进步
页: [1]
查看完整版本: 【已解决】求助:获取快捷方式路径.bat,不支持文件名有空格,谢谢