无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 611|回复: 8
打印 上一主题 下一主题

[求助] 路径变量在批处理中不成功,查复制粘贴在命令行中成功

[复制链接]
跳转到指定楼层
1#
发表于 2024-10-11 16:23:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. ::
  2. set "mypath="
  3. for /f "tokens=2*" %%a in ('REG QUERY "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v NetHood ^| find "_SZ"') do set "mypath=%%b"
  4. cd /d "%mypath%"
  5. cd
  6. pause
复制代码
  1. HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders
  2.     nethood    REG_EXPAND_SZ    %USERPROFILE%\AppData\Roaming\Microsoft\Windows\Network Shortcuts
复制代码
  1. D:\test>p1

  2. D:\test>set "mypath="

  3. D:\test>for /F "tokens=2*" %a in ('REG QUERY "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v NetHood | find "_SZ"') do set "mypath=%b"

  4. D:\test>set "mypath=%USERPROFILE%\AppData\Roaming\Microsoft\Windows\Network Shortcuts"

  5. D:\test>cd /d "%USERPROFILE%\AppData\Roaming\Microsoft\Windows\Network Shortcuts"
  6. 系统找不到指定的路径。

  7. D:\test>cd
  8. D:\test

  9. D:\test>pause
  10. 请按任意键继续. . .
复制代码
第一处代码是批处理,得到注册表中的值,第二处代码是注册表值
第三处代码是执行批处理后的结果,cd /d "%mypath%"  不成功,但复制在命令行中手动执行成功
另个把 cd /d "%mypath%"改成:md "%mypath%" 在当前文件夹建立了一个有百分号的文件夹%USERPROFILE%


2#
发表于 2024-10-11 16:31:50 | 只看该作者
感谢分享
回复

使用道具 举报

3#
发表于 2024-10-11 16:56:06 来自手机 | 只看该作者
本帖最后由 倒垃圾的歌者 于 2024-10-11 16:58 编辑

%USERPROFILE%\AppData\Roaming\Microsoft\Windows\Network Shortcuts等同于%AppData%\Microsoft\Windows\Network Shortcuts
回复

使用道具 举报

4#
发表于 2024-10-11 17:55:33 | 只看该作者
把 do set 改成 do call set 即可

点评

5大牛B,学习下  详情 回复 发表于 2024-10-11 20:39
牛哦,这个是什么原理  详情 回复 发表于 2024-10-11 19:18
能否讲解一下 为啥吗??  发表于 2024-10-11 19:14
回复

使用道具 举报

5#
 楼主| 发表于 2024-10-11 19:18:27 | 只看该作者
527104427 发表于 2024-10-11 17:55
把 do set 改成 do call set 即可

牛哦,这个是什么原理

点评

https://www.jb51.net/article/193245.htm  详情 回复 发表于 2024-10-11 19:25
回复

使用道具 举报

6#
发表于 2024-10-11 19:25:42 | 只看该作者

点评

谢谢,原来是变量延迟在作怪  详情 回复 发表于 2024-10-11 19:33
回复

使用道具 举报

7#
 楼主| 发表于 2024-10-11 19:33:15 | 只看该作者
527104427 发表于 2024-10-11 19:25
https://www.jb51.net/article/193245.htm

谢谢,原来是变量延迟在作怪
回复

使用道具 举报

8#
发表于 2024-10-11 20:39:27 | 只看该作者
527104427 发表于 2024-10-11 17:55
把 do set 改成 do call set 即可

5大牛B,学习下
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-8 19:45

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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