| kshWeb |
mkdlbat.sh Shell Script |
|
|   |
|
Events Calendar Business Card File Data Entry System |
Korn Shell Books |
Free E-mail
YourName@ UnixGuru.zzn.com YourName@ UnixWizard.zzn.com YourName@ MCSE.zzn.com ... and many others!!! |
This script generates a DOS batch file to FTP download an entire Unix directory structure including all files.
Cut and paste the following script into a file called "mkdlbat.sh" on your system. Or click on mkdlbat.sh to download a file containing the function.
#!/bin/ksh
#############################################################
# Program: mkdlbat.sh
# Copyright 1999
#
# Description: The purpose of this program is to generate a
# DOS batch file to FTP download an entire
# directory structure from a Unix machine.
#
# Author: Dana French (dfrench@mtxia.com)
#
# (405) 936-2342
#
# Date: 12/21/1999
#
#############################################################
# Modifications:
#
# 12/21/1999 Version: 1.0
# Original Code
################################################################
if [[ "_${1}" = "_" ]] || [[ "_${2}" = "_" ]]
then
print ""
[[ "_${1}" = "_" ]] && print "ERROR: Directory parameter is blank"
[[ "_${2}" = "_" ]] && print "ERROR: DOS Directory parameter is blank"
print "
The purpose of this program is to generate a DOS batch file to
ftp download an entire directory structure from a Unix site.
SYNTAX: mkdlbat.sh UnixDir DosDir
where
UnixDir = Top level Unix directory to begin download
DosDir = Dos directory in which to build downloaded
Unix directory structure
"
exit
fi
print "
@echo off
REM ****************************************************************
REM **** Dana French (dfrench@mtxia.com)
REM **** Copyright 1999
REM ****
REM **** This batch file was automatically generated by the
REM **** program \"${0}\" on the machine
REM **** `uname -n` at `date`.
REM ****
REM **** This batch file is designed to FTP download an entire
REM **** directory structure beginning in the Unix directory:
REM **** \"${1}\"
REM **** and downloading it to the DOS directory:
REM **** \"${2}\"
REM ****************************************************************
if \"_%1\" == \"_\" goto ERROR1
if \"_%2\" == \"_\" goto ERROR2
if \"_%3\" == \"_\" goto ERROR3
"
find "${1}" -type d -print | while read DIR
do
DOSDIR=`echo "${DIR}" | sed -e "s|${1}||g"`
print "mkdir \"${2}${DOSDIR}\"" | sed -e "s|/|\\\|g"
done
print ""
print "echo open %1 > ftp.in"
print "echo user %2 %3 >> ftp.in"
print "echo binary >> ftp.in"
print "echo prompt >> ftp.in"
print "echo hash >> ftp.in"
find "${1}" -type d -print | while read DIR
do
DOSDIR=`echo "${DIR}" | sed -e "s|${1}||g"`
print ""
print "echo cd \"${DIR}\" >> ftp.in"
print "echo pwd >> ftp.in"
print "echo lcd \"${2}${DOSDIR}\" >> ftp.in"
cd "${DIR}"
print "echo ascii >> ftp.in"
ls -1aF | egrep "^\.|\.txt|\.htm|\.html|\.shtml" | grep -v "/$" | grep -v "^$" | sed -e "s|^|echo get \"|g;s|$|\" >> ftp.in|g"
print "echo binary >> ftp.in"
ls -1aF | grep -v "^\." | grep -v "\.txt$" | grep -v "\.html$" | grep -v "\.htm$" | grep -v "\.shtml$" | grep -v "/" | grep -v "^$" | sed -e "s|^|echo get \"|g;s|$|\" >> ftp.in|g"
done
print "
echo quit >> ftp.in
ftp -n < ftp.in
"
print "
goto ENDIT
:ERROR1
echo.
echo ERROR: FTP Hostname not specified
if \"_%2\" == \"_\" goto ERROR2
if \"_%3\" == \"_\" goto ERROR3
goto SYNTAX
:ERROR2
echo ERROR: User ID not specified
if \"_%3\" == \"_\" goto ERROR3
goto SYNTAX
:ERROR3
echo ERROR: Password not specified
goto SYNTAX
:SYNTAX
echo.
echo SYNTAX: %0 FTPhost UserID password
echo.
echo FTPhost = Name of the machine from which to FTP files
echo UserID = User ID to use to login to the FTP host machine
echo password = password associated with the User ID
echo.
goto ENDIT
:ENDIT
"
|
|
Events Calendar Business Card File Data Entry System |
Korn Shell Books |
Free E-mail
YourName@ UnixGuru.zzn.com YourName@ UnixWizard.zzn.com YourName@ MCSE.zzn.com ... and many others!!! |
|   |
For Information regarding this page, contact Dana French ( dfrench@mtxia.com )