无法在批量cmd中写入行变量写入

时间:2017-02-17 00:12:26

标签: windows batch-file cmd

我为我的问题模糊而道歉。

我希望能够获取信息并将其堆叠在一个文件中,从文件中提取信息。

此时我能够做到这一点的方式是:

:: simple setting of variables
Set var1=var..
Set var2=var..
Set var3=var..
Set fullvar=%var1%%var2%%var3%
:: now push to file
Echo fullvar > file

在我提出问题之前,我没有意识到我可以用这种方式堆叠我的变量。

我将通过批处理教程回顾。

这个问题可以关闭吗?

谢谢你的帮助。

下的原始成绩单

我正在寻找一种方法将变量放入文件中。 使用>>我可以添加一个新行,我希望我的var%符合行...

例如:

Type file2

返回     %var1 %% var2 %% var3%

而不是;

%var1%
%var2%
%var3%

:eof

我希望能够在我的批处理程序中将它们用作%1%2%3。

以下是我使用的基本信息。

Echo off
cls
ping /n 1 ipaddress1Var > file
ping /n 1 ipaddress2Var >> file
findstr /i "ttl=" file > file2
Type file2
pause
:eof

这会将ttl =中包含的行返回给新文件。 我不知道如何写出我想要做的事情;

当我>或>>到file2我想添加到它写入的行而不是新行。

不幸的是,我没有我的电脑,我和我一起写了批处理文件。我想扩展脚本的功能。

我正在WinXP笔记本电脑上学习更多中间批量编程。

任何帮助或指向正确的方向都会有所帮助。这不是谷歌。

干杯

也许

Echo %var1% %var2% %var3% > file# 

可以在线构建文件。我只是不确定如何正确阅读和重新分配变量......

1 个答案:

答案 0 :(得分:0)

这就是你想要的吗?

<强> MyFile.bat

for /F "tokens=*" %%a in ('ping /n 1 cnn.com    ^| findstr TTL') do (set TTL_1=%%a)
for /F "tokens=*" %%a in ('ping /n 1 google.com ^| findstr TTL') do (set TTL_2=%%a)
echo %TTL_1% %TTL_2% > OUTPUT.txt

此后,文件OUTPUT.txt包含:

Reply from 151.101.128.73: bytes=32 time=25ms TTL=56 Reply from 216.58.194.142: bytes=32 time=18ms TTL=54

(两个条目,背靠背,在一条线上)