#!/bin/sh

# przejście do katalogu pracy i wyczyszczenie go z danych po poprzedniej sesji
domowy="`pwd`"
cd=$domowy
if [ -e $domowy/Odzyskany ]; then
:
else
mkdir $domowy/Odzyskany
fi
rm -f $domowy/Odzyskany/*
rm -f $domowy/xa*
umount /mnt/floppy
# ustawienie zmiennych
a=0
b=0
f=0
g=0
h=0
n=1
while [ "$a" = "0" ]; do
# menu wyboru trybu pracy
Xdialog --left --title "Xsplitgui" \
--help " Program pozwala przenosić duże pliki na dyskietkach, w automatycznie ustalanych
porcjach o wielkości zależnej od systemu plików na nośniku po sformatowaniu.
Maksymalna wielkość przenoszonego pliku jest ograniczona do około 30 MB.
Program jest na licencji GNU." \
--menu "Wybierz tryb pracy" 0 0 0 \
"1" "Kopiowanie pliku na dyskietki" \
"2" "Odtwarzanie z dyskietek pliku" \
"3" "Exit" 2> $domowy/.tryb_pracy
b=`cat $domowy/.tryb_pracy`
if [ "$b" = "" ]; then
exit
else
# wybór pliku do podzielenia na części
if [ "$b" = "1" ]; then
c=`Xdialog --stdout --title "Wybierz plik do zapisu" --fselect /home 0 0`
if [ "$c" = "" ]; then
exit
else
# podział w/w pliku na porcje w zależności od systemu plików na dyskietce po formatowaniu
mount /mnt/floppy || exit
h=`df /mnt/floppy | grep "/dev*" | cut -c47-50`
let h=h-10
split -b"$h"k $c
e=`ls -l ./xa* | wc -l`
umount /mnt/floppy
# zapis na dyskietki
if [ "$e" = "0" ]; then
exit
else
for d in xa*
do
Xdialog --msgbox "Włóż dyskietkę - $n /$e
o nazwie - $d" 0 0
mount /mnt/floppy
cp $d /mnt/floppy
umount /mnt/floppy
let n=n+1
done
fi
fi
fi
# odtwarzanie pliku z dyskietek i wyświetlanie informacji o oryginale
if [ "$b" = "2" ]; then
Xdialog --msgbox "Włóż dyskietkę" 0 0
while [ "$f" = "0" ]; do
umount /mnt/floppy
mount /mnt/floppy
cp /mnt/floppy/xa* $domowy/Odzyskany
Xdialog --yesno "Włóż dyskietkę" 0 0
if [ "$?" = "1" ]; then
cat $domowy/Odzyskany/xa* > $domowy/Odzyskany/plik
g=`file -b $domowy/Odzyskany/plik`
file -b $domowy/Odzyskany/plik > $domowy/Odzyskany/dane_oryginalne_o_pliku
Xdialog --title "Oryginalne dane o odzyskanym pliku" \
--msgbox "$g" 0 0
umount /mnt/floppy
cd $domowy
exit
fi
done
fi
# pozycja "Exit" z menu trybu wyboru pracy
if [ "$b" = "3" ]; then
exit
fi
fi
done