标题: [已解决]批处理执行一条命令后为什么会换行,怎么能让它不换行? [打印本页]
作者: er8852973 时间: 2010-12-8 10:05 标题: [已解决]批处理执行一条命令后为什么会换行,怎么能让它不换行?
批处理执行一条命令后为什么会换行 怎么能让它不换行
[ 本帖最后由 er8852973 于 2010-12-8 12:09 编辑 ]
作者: hanyeguxing 时间: 2010-12-8 10:32
为什么不让他换行呢?
作者: er8852973 时间: 2010-12-8 11:00
因为我想输出99乘法表 1*1=1
2*1=2 2*2=4
所以我要让同一乘数的在一行 不同的乘数在不同行
作者: yangfengoo 时间: 2010-12-8 11:11
set 尝试下
作者: er8852973 时间: 2010-12-8 11:30
我用set了 可以了 但请帮我比较以下两段代码 说说用echo代替set/p怎么就不行呢? 此代码为99乘法表 呵呵
第一个代码- setlocal EnableDelayedExpansion
- for /l %%i in (1,1,9) do (
- for /l %%j in (1,1,9) do (
- if %%i geq %%j (
- set /a z=%%i*%%j
- set/p= %%i*%%j=!z!<nul" "
- ))
- echo.
- )
复制代码
第二个代码- setlocal EnableDelayedExpansion
- for /l %%i in (1,1,9) do (
- for /l %%j in (1,1,9) do (
- if %%i geq %%j (
- set /a z=%%i*%%j
- echo %%i*%%j=!z!<nul" "
- ))
- echo.
- )
复制代码
作者: broly 时间: 2010-12-8 11:35
- @echo off&setlocal enabledelayedexpansion
- for /l %%i in (1 1 9) do (
- for /l %%j in (1 1 %%i) do (
- set/a t=%%i*%%j
- set "str=%%i*%%j="
- set/p "=!str!!t! "<nul
- )
- echo.
- )
- pause
复制代码
作者: er8852973 时间: 2010-12-8 11:40
我楼上的 我运行了你的代码 和我的第一个代码效果一样 还要比哦的代码巧妙些 呵呵
但我想知道我的第一与第二代码的区别 为什么第一代码能执行 第二代码就不行啊 就是set与echo的不同啊?
作者: broly 时间: 2010-12-8 11:46
复制代码
这一句,echo 跟set 不同。区别在这
作者: er8852973 时间: 2010-12-8 11:55
是 这两代码是我编的 我知道这一句不同 我是要问的为什么用echo就不能自行 啊?
作者: broly 时间: 2010-12-8 12:02 标题: 回复 9楼 的帖子
这个命令就是这样。要不可以叫微软改改
作者: er8852973 时间: 2010-12-8 12:08
不过还是要谢谢您 提醒我用set 呵呵
作者: gapkiller 时间: 2010-12-8 17:53
使用echo- @echo off&setlocal enabledelayedexpansion
- for /l %%i in (1 1 9) do (
- set str=
- for /l %%j in (1 1 %%i) do (
- set/a t=%%i*%%j
- set str=!str!%%j*%%i=!t!
- )
- echo !str!
- )
- pause
复制代码
[ 本帖最后由 gapkiller 于 2010-12-8 17:58 编辑 ]
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |