Да, список теперь создаётся, но когда доходим до русских имён файлов и папок, получаем файл-список в DOS-кодировке.
Опять те же папки c:\test, c:\test2. В папке c:\test файлы текст_1.txt, текст_2.txt, текст_3.txt, текст_4.txt и две вложенные папки: Тест1 с файлом текст_5.txt и Тест2 с файлом текст_6.txt.
На выходе получаем файл-список в DOS-кодировке:
c:\test\⥪бв_1.txt
c:\test\⥪бв_2.txt
c:\test\⥪бв_3.txt
c:\test\⥪бв_4.txt
c:\test\’Ґбв1\⥪бв_5.txt
c:\test\’Ґбв2\⥪бв_6.txt
И когда я пытаюсь использовать этот же файл-список для копирования файлов, nnbackup выдаёт ошибку и ничего не копирует. То есть не может прочитать собственный файл-список.
Поведение одинаково, если запускать с командной строки или из nnCron:
-- создание списка
- Code: Select all
#( list_create_nnbackup
RunOnce
NoDel
Time: 2 11 28 2 * 2006
Action:
StartIn: "C:\Program Files\nnBackup"
ShowNormal NormalPriority
START-APPW: C:\Program Files\nnBackup\nnbackup.exe copy -i c:\test -o c:\test2 -s -v -fp -list c:\filelist.log -nocopy
)#
-- копирование с помощью списка
#( list_copy_nnbackup
RunOnce
NoDel
Time: 2 11 28 2 * 2006
Action:
StartIn: "C:\Program Files\nnBackup"
ShowNormal NormalPriority
START-APPW: C:\Program Files\nnBackup\nnbackup.exe copy -i @c:\filelist.log -o c:\test2 -s -v
)#
После часа экспериментов поставил 2.28. Там всё работает нормально:
c:\test\текст_1.txt
c:\test\текст_2.txt
c:\test\текст_3.txt
c:\test\текст_4.txt
c:\test\Тест1\текст_5.txt
c:\test\Тест2\текст_6.txt
файлы с его помощью копируются.
И просто удобно, когда посмотреть файл-список можно через встроенный Блокнот Windows.
-----------------------------------------------------------
Два вопроса-пожелания.
1. При использовании файл-списка в качестве источника (-i) все файлы копируются в одну папку, как при использовании ключа -flat. Структура папок не сохраняется. Планируется ли возможность сохранения относительных путей (например без буквы диска, или с использованием (последней) части пути)?
2. Файл-список (судя по названию тоже) создаётся только для файлов, а создать список каталогов с его помощью нельзя. Но в некоторых случаях было бы удобно создать список из нескольких каталогов (например, если их содержимое меняется), а потом его использовать. Конечно, это можно делать в nnCron:
- Code: Select all
#( list_dir_create_nncron
RunOnce
NoDel
Time: 3 11 28 2 * 2006
Action:
FILE-EXIST: "c:\filelist.log"
IF FILE-DELETE: "c:\filelist.log" THEN
RECURSIVE
FOR-FILES: "c:\test\*"
IS-DIR?
IF LOG: "c:\filelist.log" "%FOUND-FULLPATH%" THEN
;FOR-FILES
)#
но почему бы не расширить возможности файл-списка новым ключом, или ввести список только катологов, чтобы не было путаницы.