home *** CD-ROM | disk | FTP | other *** search
- @echo off
-
- echo ARJ3SORT 3.00, ARJ file sorting tool, Copyright (c) 1990-99 ARJ Software, Inc.
- echo .
-
- if "%1"=="" goto param_error
-
- if "%2"=="" goto sort_start
- if %2==/A goto sort_start
- if %2==/a goto sort_start
- if %2==/C goto sort_start
- if %2==/c goto sort_start
- if %2==/D goto sort_start
- if %2==/d goto sort_start
- if %2==/E goto sort_start
- if %2==/e goto sort_start
- if %2==/F goto sort_start
- if %2==/f goto sort_start
- if %2==/O goto sort_start
- if %2==/o goto sort_start
- if %2==/P goto sort_start
- if %2==/p goto sort_start
- if %2==/R goto sort_start
- if %2==/r goto sort_start
- if %2==/S goto sort_start
- if %2==/s goto sort_start
- if %2==/T goto sort_start
- if %2==/t goto sort_start
- goto param_error
-
- :sort_start
- echo Getting current order of archive: %1
- arj32 v %1 -jv1 -jp- > arjsort.$$1
- if errorlevel 1 goto arj_error
-
- if "%2"=="" goto sort_path
- if %2==/A goto sort_attr
- if %2==/a goto sort_attr
- if %2==/C goto sort_crc
- if %2==/c goto sort_crc
- if %2==/D goto sort_date
- if %2==/d goto sort_date
- if %2==/E goto sort_ext
- if %2==/e goto sort_ext
- if %2==/F goto sort_file
- if %2==/f goto sort_file
- if %2==/O goto sort_ratio
- if %2==/o goto sort_ratio
- if %2==/P goto sort_path
- if %2==/p goto sort_path
- if %2==/R goto r_sort_path
- if %2==/r goto r_sort_path
- if %2==/S goto sort_size
- if %2==/s goto sort_size
- if %2==/T goto sort_time
- if %2==/t goto sort_time
- goto param_error
-
- :sort_path
- echo Sorting by pathname
- echo .
- SORT /+122 %3 < arjsort.$$1 > arjsort.$$$
- goto sort_finish
-
- :r_sort_path
- echo Sorting by pathname
- echo .
- SORT /+122 %2 < arjsort.$$1 > arjsort.$$$
- goto sort_finish
-
- :sort_attr
- echo Sorting by attribute
- echo .
- SORT /+69 %3 < arjsort.$$1 > arjsort.$$$
- goto sort_finish
-
- :sort_crc
- echo Sorting by CRC
- echo .
- SORT /+60 %3 < arjsort.$$1 > arjsort.$$$
- goto sort_finish
-
- :sort_date
- echo Sorting by date/time modified
- echo .
- SORT /+41 %3 < arjsort.$$1 > arjsort.$$$
- goto sort_finish
-
- :sort_ext
- echo Sorting by file extension
- echo .
- SORT /+81 %3 < arjsort.$$1 > arjsort.$$$
- goto sort_finish
-
- :sort_file
- echo Sorting by filename
- echo .
- SORT /+89 %3 < arjsort.$$1 > arjsort.$$$
- goto sort_finish
-
- :sort_ratio
- echo Sorting by compression ratio
- echo .
- SORT /+36 %3 < arjsort.$$1 > arjsort.$$$
- goto sort_finish
-
- :sort_size
- echo Sorting by original file size
- echo .
- SORT /+14 %3 < arjsort.$$1 > arjsort.$$$
- goto sort_finish
-
- :sort_time
- echo Sorting by time modified
- echo .
- SORT /+51 %3 < arjsort.$$1 > arjsort.$$$
- goto sort_finish
-
- :sort_finish
- if errorlevel 1 goto sort_error
-
- arj32 o %1 -!! -jp- !arjsort.$$$
- if errorlevel 1 goto arj_error
- goto stop
-
- :arj_error
- echo ARJ32 error processing %1
- goto stop
-
- :sort_error
- echo Sort error processing %1
- goto stop
-
- :param_error
- echo . Usage: ARJ3SORT archive [/order] [/r]
- echo . Where /order is one of the following:
- echo .
- echo . /a = attribute /o = ratio
- echo . /c = crc /p = pathname
- echo . /d = date/time /s = size
- echo . /e = extension /t = time
- echo . /f = filename
- echo .
- echo . [/r]everse, if specified, must be the last option.
-
- :stop
- if exist arjsort.$$1 del arjsort.$$1 > NUL
- if exist arjsort.$$$ del arjsort.$$$ > NUL
- if exist arjsort.bak del arjsort.bak > NUL
-