中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-02 01:25
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 变量怎么用ECHO显示不了? 查看 963 回复 1
楼 主 变量怎么用ECHO显示不了? 发表于 2006-08-26 11:46 ·  中国 广东 东莞 电信
中级用户
★★
积分 387
发帖 104
注册 2004-11-19 00:00
21年会员
UID 33813
性别 男
状态 离线
代码如下,为什么ECHO %STR%,没有输出结果?,而SET STR就有结果。

望能解释

我用变量延迟也一样,不知道有什么解决方法!

@echo off
reg export "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" sf.txt >nul 2>nul
echo.
set path11=\\
set path22=\

for /f "skip=3 tokens=2 delims==" %%i in ('type sf.txt') do (
set "str=%%i"
set "str=!str:%path11%=%path22%!"
set str
echo %str%
)
pause
2 发表于 2006-08-26 11:56 ·  中国 四川 成都 鹏博士宽带
荣誉版主
★★★★
batch fan
积分 5,226
发帖 1,737
注册 2006-03-10 00:38
20年会员
UID 51697
来自 成都
状态 离线
  修改如下,请自行比较差异:

@echo off
setlocal enabledelayedexpansion
reg export "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" sf.txt >nul 2>nul
echo.
set path11=\\
set path22=\

for /f "skip=3 tokens=2 delims==" %%i in ('type sf.txt') do (
set "str=%%i"
set "str=!str:%path11%=%path22%!"
echo !str!
)
pause
尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
论坛跳转: