home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Mods Anthology 2
/
Music-AmigaModsAnthology-2of4-Psychodk.mcsteam.iso
/
Tools
/
Amiga
/
Misc
/
-Archives-
/
xList_106.lha
/
xList_v1.06
/
xListing.sh
< prev
Wrap
Text File
|
1996-02-07
|
3KB
|
160 lines
# This script is Public Domain => You should Modify it !!!
# It makes a recursive listing of a dir using xList
# main:
if $_version < 520
echo "This script needs at least Csh 5.20"
return 0
endif
echo "Csh script for xList 1.05"
if -v 1 # if arg detected
if -nd $1 # if arg is not a dir
set arg1 @filereq( "Select a directory to scan:" ) # popup FileReq.
if $arg1 = ""
echo "*** No dir selected."
return 0
endif
else # else it is a dir
set arg1 $1 # store dir in var 2
endif
else # no args: popup filerequester
set arg1 @filereq( "Select a directory to scan:" )
if $arg1 = ""
echo "*** No dir selected."
return 0
endif
endif
label mychkdir # going to check if it is really a dir
if -nd $arg1
set arg1 @filereq( "Select a directory to scan:" )
goto mychkdir
endif
date -s
resident c:xList >nil:
goto init_aliases
label init1_done
goto init_variables
label init2_done
echo Scanning dir...
ls >t:x2 -cghz "%m%-16n%.5w " $arg1 # building index
init
tackon wildcard $arg1 ".../*"
ls -cqhnd $wildcard | readfile alldirs # finding dirs and subdirs
foreach i ( $alldirs ) "cmplx $i"
end
return 0
###########
# subroutines:
label init_aliases
set stk ""
alias pushd "%a set stk $_cwd @subwords( $stk 1 10 );\\cd $a
alias popd "\\cd @first( $stk );set stk @subwords( $stk 2 10 )
alias init {
echo "" >$dest2
echo -n >>$dest2 " Listing on: "
day $dest2
echo >>$dest2 ""
}
# insert in the alias above 'type >$dest2 "my_intro"'
#
alias day {
%f
unset dat2
echo >env:dat2 `date`
strlen slen $dat2
dec slen 9
strleft dat2 $dat2 $slen
echo >>$f $dat2
delete >nil: env:dat2
}
alias end {
echo `date -r` >env:da1
echo @nameroot( $da1 ) >env:da2
echo Elapsed time: @rpn( $da2 60 / ) min @rpn( $da2 60 % ) s.
echo >>$dest2 Total number of files: $ntotal
echo >>$dest2 ""
echo >>$dest2 "--------------------------------- ╖I╖N╖D╖E╖X╖ ---------------------------------
cat >>$dest2 t:x2
echo >>$dest2 "-------------------------------------------------------------------------------
echo Total number of files: $ntotal
cat >>$dest2 $dest
delete >nil: env:da1 env:da2 $dest t:x2 t:c1
shcrunch
resident -r xList >nil:
unset alldirs choice wildcard dat2 dummy dest dest2 nli nline1 ntotal packer 2 tmp slen
return 0
}
# insert 'type >>$dest2 "my_endtext"' in the alias above, before 'shcrunch'
#
alias shcrunch {
if -f c:xpk
set packer 1
goto crunching
else
if -f c:packx
set packer 2
goto crunching
endif
endif
return 0
label crunching
echo -n "Crunch the list (with xpkNUKE) ? (y/N): "
input -r choice
if -n $choice = y
echo ""
return 0
else
echo Crunching...
if $packer = 1
c:xpk -m NUKE $dest2
else
c:packx $dest2 lib=nuke
endif
endif
}
alias cmplx {
%i
echo $i
xList >>$dest $i LF=4 DL
inc ntotal $xltotal
label endloop
}
#goto nocomms # -(2)-
label commsdone
goto init1_done
label init_variables
set dest2 ram:Listing.txt
set dest t:listx
set tmp t:c1
echo -n >$dest ""
echo -n >$dest2 ""
echo -n >$tmp ""
set ntotal 0
set dummy yes
goto init2_done
# tHanX for reading this up to the end, mate !
# *** Signoff: Reez, the mad modulelister (&raytracoder)