copy | deblank | delete | deltree | filefind | filetime | fixfile | index | list | mkdir | name | olist | partcopy | rename | setbytes | space | sync | touch | treesize | Команда: 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 |