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

[文本处理] 批处理echo定向到一个文件时文件名如果是变量怎么办?

例如:
  1. set /a N=11
  2. echo 123 > %N%.txt
复制代码
我这样写不行,谁能帮忙下吗?是不是%N%.txt这里错了?

set /a n=11这里错了
详情请查看set/?
set/a是数学运算 不是赋值!
改为
set n=11
echo 123>%n%.txt
就OK了

[ 本帖最后由 jcy0307 于 2010-4-12 23:07 编辑 ]

TOP

原帖由 lj84831253 于 2010-4-12 22:40 发表
例如:
set /a N=11
echo 123 > %N%.txt
我这样写不行,谁能帮忙下吗?是不是%N%.txt这里错了?
  1. set N=11
  2. >%N%.txt echo 123
复制代码
这样写。
你的错误是3被作为>的句柄,而不是输出内容
1句柄是正常输出,2句柄是错误输出
例如echo.2>nul
至于set/a 赋值是容易产生问题的,例如set/a a=08,这样会产生错误

[ 本帖最后由 hanyeguxing 于 2010-4-13 01:20 编辑 ]
寒夜孤星:在没有说明的情况下,本人所有代码均运行在 XP SP3 下 (有问题请发贴,QQ临时会话已关闭)

TOP

  1. set N=11
  2. >%N%.txt echo 123
复制代码

TOP

返回列表