Команды SFK


    1        2        3        4        5        6        7        8        9        10    

Раздел 1. File System - Файловая cистема
copy | deblank | delete | deltree | filefind | filetime | fixfile | index | list | mkdir | name | olist | partcopy | rename | setbytes | space | sync | touch | treesize |

Help:   Рус   |   Eng        Refer:   Рус   |   Eng  

Команда: copy
sfk copy srcRoot dstRoot [-dir subdir1 subdir2] [-file .ext1 .ext2]
sfk sync srcRoot dstRoot [-dir subdir1 subdir2] [-file .ext1 .ext2]


   Копировать дерево каталогов, обновление копии и синхронизация

   Если место назначения еще не существует, копируется все содержимое источника,
   включая скрытые и системные файлы. Если пункт назначения уже существует,
   копируются только обновления.

   Символические ссылки не сохраняются, но их содержимое дублируется. Если это
   проблема, используйте вместо этого команду копирования вашей операционной системы.

   copy   копирует файлы из источника в место назначения, если целевой файл
          еще не существует, или если источник новее, чем цель.
          Не будет копировать старые файлы поверх новых файлов.
          Более того, файлы, которые существуют в месте назначения, но не в источнике,
          не удаляются, поэтому копия будет добавлять и заменять, но не удалять.

   sync   почти так же, как копирование, однако файлы, которые существуют в месте назначения,
          но не в источнике, считаются устаревшими файлами и удаляются,
          если их возраст не менее 30 дней.

          ВНИМАНИЕ ! Использовать с осторожностью. Если вы укажете неправильно
          папки или маски файлов, это может привести к непреднамеренному удалению файлов.
          Внимательно посмотрите на вывод режима имитации, который
          активен по умолчанию

    Опции:

-mirror        с синхронизацией, копирование даже старых файлов из источника
               по месту назначения

-wipe          удалить устаревшие файлы сейчас (игнорируя возраст файлов)

-nocopy        с синхронизацией, не копировать файлы, запускать только очистку удаления.
Можно использовать, если вы хотите сначала скопировать файлы с другим
               скопируйте программу, а затем запустите sfk sync-delete.

-diff          список файлов в месте назначения, которые были изменены после
               последний экземпляр. Всякий раз, когда вы получаете краткую информацию
               "n differing files in dest", добавьте -dif, чтобы получить список их имен

-since         или -sincedir/dif/add/chg копирует в другой каталог только файлы,
               выбранные по возрасту или разнице. Подробнее см. 'sfk list'

-nohidden      исключить из копирования скрытые и системные файлы

-nofollow      не следует за содержимым каталога символической ссылки

-nodirtime     время папки копируется по умолчанию, чтобы отключить его, используйте
               этот параметр или установите SFK_CONFIG=nodirtime

-stat          в симуляции: не перечислять имена файлов, только статистику размера

-keepstale=n   изменить 30-дневный лимит для устаревших файлов до удаления

-noinfo        не комментировать пропущенные файлы

-rel[names]    только с цепочкой ввода: удаляет имена исходных корневых каталогов
               из имен файлов. Если не выбрано, начинаются абсолютные пути
               например, C:\ или /tmp будут удалены автоматически
               Некоторые команды цепочки могут предоставлять имена файлов без отдельного
               каталога, в этом случае -relnames выдаст ошибку

-ltarg         всегда перечислять имена целевых файлов (вместо имен исходных файлов)

-flat[=c]      не создавать подпапки на выходе, а копировать все в тот же единственный
               выходной каталог с длинными прямиыми именами, соединяющими части пути
               с помощью «-» или заданного символа 'c'.

-flat2        похож на -flat, но без частей пути,
              нет проверки на избыточные выходные имена

  * файлы с копируемым содержимым отображаются цветом по умолчанию
  * файлы, которые будут удалены во время синхронизации, отмечены предупреждающим цветом
  * файлы с разным временем, но одинаковым содержимым, отображаются цветом времени

   Полнота и эффективность:
   - под Windows SFK использует API-функцию CopyFileEx, которая должна
     иметь возможность копировать большинство атрибутов и содержимого файлов так же хорошо и быстро
     как команда XCopy, поставляемая с Windows

   - под Linux нет встроенной функции копирования, поэтому SFK может
     не иметь возможности копировать все атрибуты, права доступа и временные метки
     исходных файлов. Кроме того, копирование может быть медленнее, чем командой "cp"

   - атрибуты каталога, права доступа и метки времени не могут быть
     полностью воспроизведены как в Windows, так и в Linux

   - переходы с/на летнее время, разные часовые пояса или копии
     между FAT и NTFS всегда может копировать файлы, которые уже были скопированы.

     При переходах на летнее время и обратно, смене часовых поясов,
     а также при копировании между FAT и NTFS всегда могут копировать файлы,
     которые уже были скопированы. Это общая проблема всех команд копирования

   Использование представлений файловой системы:
    если вы хотите указать много деревьев каталогов и масок каталогов/файлов,
    вы можете создать набор файлов, содержащий список каталогов.
    Подробности см. "sfk help fileset"

   ВНИМАНИЕ ! НЕТ ГАРАНТИЙ ЦЕЛОСТНОСТИ ДАННЫХ.

   Команда SFK copy очень удобна в использовании,
   но если вам нужно скопировать огромное количество очень важных данных, то
   рекомендуется использовать исходную команду копирования вашей операционной системы.

   После больших копий сделайте выборочную проверку, действительно ли важные файлы
   были скопированы без изменений. Всегда дважды проверяйте надежность внешних носителей,
   таких как USB-накопители, т.е. путем создания списков md5 (см. "sfk md5gento" )

   смотрите также
      sfk move перемещает файлы между двумя папками
      sfk syncnames синхронизирует изменения имени файла

   веб-ссылка
      http://stahlworks.com/sfk-копия

   Примеры:
   1)   sfk copy g:\myimage.zip
         скопировать файл myimage.zip с диска G: в текущую папку.
         выполнение этого с помощью sfk покажет прогресс во время копирования.

   2)   sfk copy c:\work d:\arc\work -dir . !\tmp\ !\save\ -file !.bak
         скопировать дерево каталогов c:\work в d:\arc\work, исключая все каталоги
         с именем 'tmp' или 'save', включая все файлы, кроме файлов .bak.

   3)   sfk copy d:\proj v:\team\proj -dir foosys\include foosys\source tools
         в дереве каталогов proj скопировать деревья подкаталогов foosys\include,
         foosys\source и инструменты, включая все файлы в нем.

   4)   sfk filter testfiles -+foo +copy\tmp
         скопируйте все файлы из testfiles, содержащие «foo», в папку \tmp

   5)   sfk copy work archive -fileset myflist.txt
         скопируйте файлы, указанные в myflist.txt, из папки 'work' в 'archive'
         обратите внимание, что «-yes» нужно указывать сразу после «copy»
         см. также "sfk help fileset"

   6)  sfk list mydir .txt .doc code.cpp +copy d:\save
         копирует все файлы .txt, .doc и code.cpp из mydir,
         включая все подкаталоги, в d:\save.
         Также копирует mycode.cpp, subcode.cpp.1 и т.д.,
         поскольку «code.cpp» — это просто шаблон

   7)  sfk list -sincedir mydir1 -dir mydir2 -subdir !\save\
       -file !.bak +copy mydir3  (введите всю команду в одну строку)
         копирует все файлы, которые были добавлены или изменены между mydir1
         и mydir2 в mydir3, за исключением файлов в подпапках «save»
         и исключая файлы .bak
         См. "sfk list" чтобы узнать больше о -sincedir, -sinceadd или -sincedif.

   8)  sfk sel website .jpg .png .gif +copy tmp -flat
         скопировать все изображения из всех подпапок на веб-сайте в
         единую прямую (flat) выходную папку 'tmp' без каких-либо подпапок.
         Это позволяет сделать промотр изображений (галерею), открыв
         tmp в проводнике Windows.

   9)  sfk sel a.txt b.txt c.txt +copy \tmp
       скопировать перечисленные файлы в \tmp

   10) sfk fromclip +copy \tmp
         скопировать файлы из буфера обмена в \tmp