[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
  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

  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

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

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

回复 34楼 Lumiere 的帖子

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

TOP

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

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

  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

@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=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

本帖最后由 慕夜蓝化 于 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. setlocal enabledelayedexpansion
  3. set /p a=请输入变量a的值:
  4. set /p b=请输入变量b的值:
  5. for /f "delims=# tokens=1-3 eol=" %%a in ('echo !b!#!a!') do (
  6. set a=%%a
  7. set b=%%b
  8. goto:end
  9. )
  10. :end
  11. echo a=!a!
  12. echo b=!b!
  13. pause>nul
复制代码
变量a和b中不能含有#号,其他都可以。

TOP

  1. @echo off
  2. rem 交换前的赋值
  3. set a=%random%
  4. set b=%random%
  5. echo 交换前:a=%a%,b=%b%
  6. echo.
  7. rem 交换后的结果
  8. set temp=%a%
  9. set a=%b%
  10. set b=%temp%
  11. echo 交换后:a=%a%,b=%b%
  12. pause
复制代码

TOP

  1. @echo off
  2. ::交换变量a,b的值
  3. set /p a=请输入a=
  4. set /p b=请输入b=
  5. set a=%b%&set b=%a%
  6. echo 交换数值后,a=%a%,b=%b%
  7. pause
复制代码

TOP

@echo off
set /p x=请输入a的值
set /p y=请输入b的值
echo 您输入的a的信息是%x%
echo 您输入的b的信息是%y%
echo 开始转换
set a=%y%
set b=%x%
echo 转换之后a的信息是%a%
echo 转换之后b的信息是%b%
pause

简化的
@echo off
set /p x=请输入a的值
set /p y=请输入y的值
echo 您输入的a的值是%x%
echo 您输入的b的值是%y%
echo 转换之后您输入的a的值是%y%
echo 转换之后您输入的b的值是%x%
pause

TOP

返回列表