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

[已解决]批处理执行一条命令后为什么会换行,怎么能让它不换行?

批处理执行一条命令后为什么会换行 怎么能让它不换行

[ 本帖最后由 er8852973 于 2010-12-8 12:09 编辑 ]
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

为什么不让他换行呢?
寒夜孤星:在没有说明的情况下,本人所有代码均运行在 XP SP3 下 (有问题请发贴,QQ临时会话已关闭)

TOP

因为我想输出99乘法表  1*1=1
                                              2*1=2  2*2=4
所以我要让同一乘数的在一行 不同的乘数在不同行

TOP

set 尝试下

TOP

我用set了 可以了 但请帮我比较以下两段代码 说说用echo代替set/p怎么就不行呢? 此代码为99乘法表 呵呵
第一个代码
  1. setlocal EnableDelayedExpansion
  2. for /l %%i in (1,1,9) do (
  3. for /l %%j in (1,1,9)   do (
  4. if %%i geq %%j (
  5. set /a z=%%i*%%j
  6. set/p= %%i*%%j=!z!<nul" "
  7. ))
  8. echo.
  9. )
复制代码
第二个代码
  1. setlocal EnableDelayedExpansion
  2. for /l %%i in (1,1,9) do (
  3. for /l %%j in (1,1,9)   do (
  4. if %%i geq %%j (
  5. set /a z=%%i*%%j
  6. echo %%i*%%j=!z!<nul" "
  7. ))
  8. echo.
  9. )
复制代码

TOP

  1. @echo off&setlocal enabledelayedexpansion
  2. for /l %%i in (1 1 9) do (
  3.   for /l %%j in (1 1 %%i) do (
  4.      set/a t=%%i*%%j
  5.      set "str=%%i*%%j="
  6.      set/p "=!str!!t! "<nul
  7.   )
  8.   echo.
  9. )
  10. pause
复制代码
1

评分人数

---学无止境---

TOP

我楼上的  我运行了你的代码 和我的第一个代码效果一样 还要比哦的代码巧妙些 呵呵
但我想知道我的第一与第二代码的区别 为什么第一代码能执行 第二代码就不行啊  就是set与echo的不同啊?

TOP

  1. echo %%i*%%j=!z!<nul" "
复制代码

这一句,echo 跟set 不同。区别在这
---学无止境---

TOP

是 这两代码是我编的 我知道这一句不同 我是要问的为什么用echo就不能自行 啊?

TOP

回复 9楼 的帖子

这个命令就是这样。要不可以叫微软改改
---学无止境---

TOP

不过还是要谢谢您 提醒我用set  呵呵

TOP

使用echo
  1. @echo off&setlocal enabledelayedexpansion
  2. for /l %%i in (1 1 9) do (
  3. set str=
  4. for /l %%j in (1 1 %%i) do (
  5. set/a t=%%i*%%j
  6. set str=!str!%%j*%%i=!t!
  7. )
  8. echo !str!
  9. )
  10. pause
复制代码

[ 本帖最后由 gapkiller 于 2010-12-8 17:58 编辑 ]

TOP

返回列表