Вот код под убунту. Сделайте, пожалуйста похожий батник под винду.
Код: #!/bin/bash
# $1 для ввода пути считывания, например для теста.
NAME1="actual_list.txt"
# проверка установленного пакета для монтирования ftp
cmd=$(dpkg --status "curlftpfs" 2>/dev/null | grep "ok installed")
if [ $? == 0 ]
then 2>/dev/null
else echo " Необходимый пакет curlftpfs не установлен,
пожалуйста установите его вручную командой:
sudo apt-get install curlftpfs "
exit 0
fi
# проверка наличия "старого" файла и директории монтирования
if test ! -f "old_list.txt"
then echo -n "Похоже, это первый запуск. Пробуем скачать список файлов [Y/n] ?"
read item
case "$item" in
y|Y) echo "Приступаем. При необходимости для монтирования будет создана директория mnt_ftp "
;;
n|N) echo "Отказ пользователя, выход."
exit 0
;;
#"Ничего не ввели. Выполняем действие по умолчанию..."
*) echo "Приступаем. При необходимости для монтирования будет создана директория mnt_ftp "
;;
esac
NAME1="old_list.txt" # при первом запуске заполняем этот файл
fi
# проверка директории для монтирования
if test ! -w "mnt_ftp"
then mkdir mnt_ftp
# else echo "Директория для монтирования уже существует!"
fi
# соединяемся
curlftpfs -r
ftp://login:password@hostname/ mnt_ftp -o,gid=1000,uid=1000,umask=002 2>/dev/null &&
# пишем во временный файл
find "mnt_ftp/$1" > tmp_file &&
# отмотируем
sleep 5s
cmd=$(fusermount -u mnt_ftp)
# меняем кодировку
iconv -f cp1251 -t utf8 tmp_file > $NAME1
rm tmp_file
echo "Список файлов можно посмотреть в файле $NAME1"
# если первый запуск то проверка не нужна, естественно при первом запуске "actual_list.txt" нет, не будет и проверки
if test -f "actual_list.txt"
then DIFF=$(diff -q "old_list.txt" $NAME1)
if [ "$DIFF" != "" ]
then echo "Есть изменения"
diff "old_list.txt" $NAME1 > diff_list.txt
cat diff_list.txt
echo "Эти сведения сохранены в файле diff_list.txt"
echo -n "Если вы уверены что это не сбой чтения, то заменим эталонный файл [Y/n] ?"
read item
case "$item" in
y|Y) echo "Файл заменен"
;;
n|N) echo "Отказ пользователя, выход."
exit 0
;;
*) echo "Файл заменен "
;;
esac
mv actual_list.txt old_list.txt
echo -n "Хотите сейчас запустить копирование новых файлов? [Y/n] ?"
read item
case "$item" in
y|Y) echo "Файл(ы) будут скопированы в каталог new_files"
;;
n|N) echo "Отказ пользователя, выход."
exit 0
;;
*) echo "Файл(ы) будут скопированы в каталог new_files"
;;
esac
exec ./copy_file.sh
else echo "Изменений нет"
fi
fi
echo "Удачного времени суток!"
exit 0