Board logo

标题: [ 新手练习 2 ] 批处理字符型变量的交换 [打印本页]

作者: wxcute    时间: 2008-11-26 12:24     标题: [ 新手练习 2 ] 批处理字符型变量的交换

我们假设值为字符串的变量为字符型变量。(好像这里的数字也可以说成是数字字符串,不过在这里我们不深究。)
那么如何交换两个不确定的字符型变量呢?
如:
set A=你好!
set B=你吃了吗?
当然不能用 “set A=你吃了吗?” 与 “set B=你好!” 这种方式来交换,因为 A、B 的值是可能会变化的。

目的:掌握对字符型变量的交换设置方法。虽然和数值型变量交换类似,但为了让新手掌握基础,特意对题目进行细化分解练习。

要求:交换并显示变量 A、B,方法不限。

评分:代码可读性 1 分;
   首个新方法 5 分,第二个 4 分,依次类推,最少 2 分;
   一人可多种方法,新方法追加 3 分,已经出现过的方法追加 1 分。
作者: hxf0759    时间: 2008-11-26 16:30     标题: 不知道这样对不对

  1. @echo off
  2. echo 请输第一个字符串
  3. set/p "a="
  4. echo a=%a%
  5. echo 请输第二个字符串
  6. set/p "b="
  7. echo b=%b%
  8. echo 开始转换 pause
  9. set c=%a%
  10. set a=%b%
  11. set b=%c%
  12. echo 转换结束
  13. echo a=%a%
  14. echo b=%b%
复制代码

[ 本帖最后由 hxf0759 于 2008-11-27 09:23 编辑 ]
作者: pusofalse    时间: 2008-11-27 08:09

大多数时候都在用变量延迟,只是开启变量延迟的原因大概忘记了吧~
  1. @echo Off
  2. set "a=a"
  3. set "a=b" & Echo %a%
  4. Pause>nul
复制代码

作者: zxd11097    时间: 2011-11-1 13:28

本帖最后由 zxd11097 于 2011-11-1 13:29 编辑
  1. @echo off
  2. set/p "a=请输入第一个字符串:"
  3. set/p "b=请输入第二个字符串:"
  4. echo 变量A值为:%a% 变量B值为:%b%
  5. echo 3秒后转换!
  6. ping /n 3 127.1>nul
  7. set "a=%b%"&set "b=%a%"
  8. echo 转换后变量A值为:%a%  变量B值为:%b%
  9. pause
复制代码





欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2