[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
本帖最后由 慕夜蓝化 于 2014-12-24 19:56 编辑

在for语句中使用变量延迟可以很好的解决问题。
@echo off
set /a a=2,b=3
for /l %%i in (1 1 1) do (
    set b=%a%&set a=%b%
    call echo,%%a%% %%b%%
)
pause
不,只要是在复合语句中,都能达到题目的要求
@echo off
set /a a=2,b=3
set b=%a%&set a=%b%
echo,%a% %b%
pause
踏实一些点.不要着急.你想要的时间都会给你.2

TOP

答:
  1. @echo off
  2. set a=2
  3. set b=3
  4. echo 替换前: a=%a% b=%b%
  5. set zs=%a%
  6. call set a=%%a:%a%=%b%%%
  7. call set b=%%a:%b%=%zs%%%
  8. echo 替换后: a=%a% b=%b%
  9. pause>nul
复制代码


====可以吧......
end;

TOP

@echo off
set a=2
set b=3
echo 原来的值:a=%a% b=%b%

set b=%a% & set a=%b%
echo 交换后的值:a=%a% b=%b%

pause

这个测试可以。

TOP

  1. @echo off
  2. set a=23
  3. set b=32
  4. set t=%a%
  5. set a=%b%
  6. set b=%t%
  7. echo a:%a%, b:%b%
  8. pause
复制代码

[ 本帖最后由 atsivsucks 于 2009-8-19 08:55 编辑 ]

TOP

[code]
@echo off
set /p numa=a=
set /p numb=b=
cls
echo a=%numa% b=%numb%
pause
goto exchange

:exchange
cls
echo 交换后如下:
echo a=%numb% b=%numa%
pause
[code/]

TOP

不用变量延迟 直接换就可以了....
o(∩_∩)o...~~~
空间:http://hi.baidu.com/fair_jm
喜欢批处理的没事的话去逛逛哦~~

TOP

回复 34楼 Lumiere 的帖子

测试一下其他回复的代码就能了解意思了。
批处理之家论坛官方 QQ 群 :【当前人数/人数上限】【2009-07-08】
群①:43011867(181/200);群②:(暂缺数据);群③:66165582(120/200)。

TOP

  1. @echo off
  2. set a=2
  3. set b=3
  4. echo a=%a%
  5. echo b=%b%
  6. set /a a=a+b
  7. set /a b=a-b
  8. set /a a=a-b
  9. echo a=%a%
  10. echo b=%b%
  11. pause
复制代码

[ 本帖最后由 wayaoqiang 于 2009-8-17 21:06 编辑 ]

TOP

题目的意思没看懂……
Still with wax

TOP

  1. @echo  off
  2. set /p a=请输入第一个数:
  3. set /p b=请输入第二个数:
  4. echo 交换前a的值是:%a%
  5. echo 交换前b的值是:%b%
  6. set c=%a%
  7. set a=%b%
  8. set b=%c%
  9. setlocal enabledelayedexpansion
  10. echo 交换后a的值是: %a%
  11. echo 交换后b的值是:%b%
  12. pause>nul
复制代码
1

评分人数

    • wxcute: 提供了交互方式,鼓励下。PB + 1

TOP

  1. Set "a=%random%" & set "b=%random%"
  2. echo %a% %b%
  3. set b=%a%&set a=%b%
  4. echo %a% %b%
  5. pause
复制代码
我怎么只用set 也可以呢,不用set/a啊
1

评分人数

TOP

回复 7楼 的帖子

  1. Set "a=%random%" & set "b=%random%"
  2. echo %a% %b%
  3. set /a b=a,a=b
  4. echo %a% %b%
复制代码
好像应该是set/a b=%a%,a=%b%吧,,好像少了%%号
1

评分人数

    • wxcute: 观察很仔细,谢谢指正。PB + 1

TOP

@echo off
set/p a=请输入a:
set/p b=请输入b:
set c=0
set /a c=%a%
set /a a=%b%
set /a b=%c%

echo %a% %b%
pause
1

评分人数

    • wxcute: 中间变量法,鼓励一下。PB + 1

TOP

回复 28楼 loop3231262 的帖子

管道在哪里? 不是连接符吗?
批处理之家论坛官方 QQ 群 :【当前人数/人数上限】【2009-07-08】
群①:43011867(181/200);群②:(暂缺数据);群③:66165582(120/200)。

TOP

@echo off
set a=2
set b=3
set a=%b% & set b=%a%
echo %a% & echo %b%
pause

只要用上管道,由于预处理  好象就可以了……

TOP

返回列表