Swadhin Ray
asked on
Open URL from batch file and copy the text to a file
Hello Experts,
I want to make a batch file which should something like ....
Once run the batch file that should perform the below activities:
Now when every I run the batch that should do the same operation but if I run 2 times then the text copied will be twice on the same file.
For example i open www.####.com
that URL will have the only say :
ABCEDED
Now when I run it , all the text will be copied to my text file named as test.txt and then when run again this should also do the same thing but if opened the text it should be like below :
output of test.text
time taken <<time when the batch was executed >>:
ABCEDED
time taken <<time when the batch was executed >>:
ABCEDED
I want to make a batch file which should something like ....
Once run the batch file that should perform the below activities:
Open a URL
copy all the text from the URL
paste it on one text file.
Now when every I run the batch that should do the same operation but if I run 2 times then the text copied will be twice on the same file.
For example i open www.####.com
that URL will have the only say :
ABCEDED
Now when I run it , all the text will be copied to my text file named as test.txt and then when run again this should also do the same thing but if opened the text it should be like below :
output of test.text
time taken <<time when the batch was executed >>:
ABCEDED
time taken <<time when the batch was executed >>:
ABCEDED
"Open" and "paste" is not a big deal. What may be problematic is "copy all the text", as it takes megabytes of browser suites to just "display text" coming from a website. If you don't want the html source code, the plain text interesting you might be extractable, but that requires knowledge of the exact source you want.
The script below uses curl.exe (project page http://curl.haxx.se/download.html, direct Windows download http://www.paehl.com/open_source/?download=curl_735_0_ssl.zip. Unzip curl.exe (no dependencies) from the download and put it either into the script's folder or in any folder that's in the path.
The script below uses curl.exe (project page http://curl.haxx.se/download.html, direct Windows download http://www.paehl.com/open_source/?download=curl_735_0_ssl.zip. Unzip curl.exe (no dependencies) from the download and put it either into the script's folder or in any folder that's in the path.
@echo off
setlocal enabledelayedexpansion
set OutFile=C:\Temp\test.txt
set URL=http://checkip.dyndns.org/
>>"%OutFile%" echo --------------------------------------------------------------------------------
>>"%OutFile%" echo Source of 'URL', %Date% %Time%
>>"%OutFile%" curl.exe -s -S %URL%
if errorlevel 1 (
echo "Download of '%URL%' failed!"
) else (
echo "Download of %URL% successful."
)
>>"%OutFile%" echo --------------------------------------------------------------------------------
VBS and PowerShell have powerful means to parse web page content, so that would be another option.
ASKER
@oBda: I tried your solution but when I do it is not selecting all the text that are there when we open in browser :
my output file gets :
my output file gets :
--------------------------------------------------------------------------------
Source of 'URL', Fri 03/07/2014 19:23:25.04
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
Source of 'URL', Fri 03/07/2014 19:23:51.21
--------------------------------------------------------------------------------
That's somewhat not enough.
Is there any output on the screen when you run this? If you started the script using a double-click in Explorer, please open a command prompt, enter "cd /d Path to the script", and then run the script again from there.
What's the output when you enter "curl.exe http://checkip.dyndns.org" in the command prompt?
Are you using a proxy to connect to the internet?
In line 6, there are percent signs missing around "URL", but that's just cosmetic.
Is there any output on the screen when you run this? If you started the script using a double-click in Explorer, please open a command prompt, enter "cd /d Path to the script", and then run the script again from there.
What's the output when you enter "curl.exe http://checkip.dyndns.org" in the command prompt?
Are you using a proxy to connect to the internet?
In line 6, there are percent signs missing around "URL", but that's just cosmetic.
ASKER
When I run your script I get the below:
--------------------------------------------------------------------------------
Source of 'URL', Fri 03/07/2014 20:27:37.82
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
Source of 'URL', Fri 03/07/2014 20:27:46.64
--------------------------------------------------------------------------------
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
Ok go it ..
But I have another problem ..
My URL is having username and password .
Once login to the URL I need to open another tab and then open another link for which I need to get the data what the provided script is doing
But I have another problem ..
My URL is having username and password .
Once login to the URL I need to open another tab and then open another link for which I need to get the data what the provided script is doing
ASKER
thanks this helps a lot.
Get it working on system wide your PC (put it somewhere with the dependency dll's, preferably in system32)
batch file will have the lines:
time < null >> logfile
wget "url"
The trick is to know which file is created (probably index.html but could be slightly different, so test it)
Next is to have the batch file do:
type index.html >> logfile
del index.html
because otherwise wget will add the file again next time with a different filename (adding ".1" or ".2" etc)