Reputation: 16239
Need to write batch script which copies file from FTP to local drive
I'm trying to achieve this using cmd
command prompt
inside batch file
please help me or paste any thread.
I found the answer thanks a lot but,
I need to use 2files script.txt
and batch.bat
which contains script.txt code:
open ftp.server.com
username
password
cd folderpath/newfolder
get file1.xml
close
bye
and batch.bat code
ftp -v -i -s:script.txt
echo done!
But How can i do it using only
.bat
file so that I need only 1 file not 2 files
Upvotes: 2
Views: 16029
Reputation: 514
As a starting point:
- Perform a NSLOOKUP for the FTP site, e.g. nslookup ftp.microsoft.com make a note of the IP address
- Edit the LMHOSTS file (in %systemroot%\system32\drivers\etc)
- Add line MicrosoftFTP #PRE e.g. 207.46.133.140 MicrosoftFTP #PRE
- Save the file
- Open a CMD.EXE session. Enter command: nbtstat -R This purges and reloads the name table cache
- Type command: net view \MicrosoftFTP You should see information on the site
- Now map a drive (to share data) net use * \MicrosoftFTP\data /user:anonymous
- All done. It will pass a drive letter for the connection
The next step would be to make steps 1-4 automatic by scripting the commands and using file/string manipulation to update the hosts file if necessary.
With a drive mapped you can then presumably do a normal Xcopy from one drive to another.
Reference: http://answers.yahoo.com/question/index?qid=20080612073002AAruBR0
UPDATE In response to your edit:
In your main batch.bat file, dynamically create script.txt as follows:
@echo off
@echo open ftp.server.com > script.txt
@echo username >> script.txt
@echo password >> script.txt
@echo cd folderpath/newfolder >> script.txt
@echo get file1.xml >> script.txt
@echo close >> script.txt
@echo bye >> script.txt
Then do
ftp -v -i -s:script.txt
Finally - to tidy-up, remove the temporary script.txt:
del script.txt
Upvotes: 2