Use redirection, for example:
ping 192.168.1.1 -t > filename.txt
This will redirect all (standard) output from the program into
filename.txt, which will be created if it doesn't exist and overwritten if it does.
You can use
>> instead of
> to redirect the output to a file and append the results to the end of the file, instead of overwriting (with thanks to @Jane T for the reminder).
Note that you will not receive the normal on-screen output if you do this.
Update in response to comment
To delay between pings and record the time of each, you can do some scripting.
Here is a quick Windows batch file I've thrown together. It prints the time, pings Google, then waits for 3 seconds before repeating itself. I'm not a batch file expert so if anyone spots any problems please flag them up! And this probably isn't the "best" way to achieve what you are after - that might make for a separate question really.
ping www.google.com -n 4
sleep -m 3000
Save this in a
.bat file somewhere, edit the ping target and delay time as you need it, then run the
.bat using redirection to pump the output of the whole thing to a file. You may need to replace the
sleep -m 3000 command with
timeout /T 3 depending on your Windows version.
Note that this batch file never ends, but can be terminated by Ctrl + C and then Y if run from
cmd. (You must press Y because it asks if you want to stop the batch file - even though you cannot see the question because you've redirected the output!)