批处理脚本回显或写入2个文件

时间:2013-04-29 15:42:10

标签: batch-file

我有以下批处理文件。

@if(@a==@b) @end
/* :: batch portion
@ECHO OFF
setlocal 
if exist "%~1" ( 
  cscript /nologo /e:jscript "%~f0" < "%~1"
 ) else ( 
  cscript /nologo /e:jscript "%~f0" 
 )
 exit /b 
:: JScript portion */ 
while (!WSH.StdIn.AtEndOfLine) {
 var line=WSH.StdIn.ReadLine();
 var st_token = line.split('\t');
WSH.Echo(st_token[i]);

它将令牌回显到控制台并将其重定向到文件。是否可以有一个额外的echo来重定向到另一个文件?

是否可以为echo指定一个文件名,这样如果我必须回显标记我echoto文件A,如果它有一些信息,比如一条日志消息,我就回显一个og文件。

我希望能够将进度记录到日志文件中。我希望能够做类似的事情。 WSH.echo('a.txt', st_token[i]);将令牌写入a.txt并将WSH.echo('b.txt', 'Token written successfully');日志消息写入b.txt。如果提供了输入文件,您的选项会将标记写入a.txt;如果未提供输入,则写入b.txt。我希望能够替代地写入文件。像WSH.echo('a.txt', st_token[1]); WSH.echo('b.txt', 'Token 1 written successfully'); WSH.echo('a.txt', st_token[2]); WSH.echo('b.txt', 'Token 2 written successfully');那样......

1 个答案:

答案 0 :(得分:0)

@if(@a==@b) @end
/* :: batch portion
@ECHO OFF
setlocal 
if exist "%~1" ( 
  >FILE1.TXT cscript /nologo /e:jscript "%~f0" < "%~1"
 ) else ( 
  >FILE2.TXT cscript /nologo /e:jscript "%~f0" 
 )
 exit /b 
:: JScript portion */ 
while (!WSH.StdIn.AtEndOfLine) {
 var line=WSH.StdIn.ReadLine();
 var st_token = line.split('\t');
WSH.Echo(st_token[i]);

我相信这应该做你需要的,批量语法和语言障碍允许......