XCopy не сохраняет иерархию папок? - PullRequest
1 голос
/ 28 июля 2011

Я создал пакетный скрипт для резервного копирования определенных папок и подпапок в них. Мне пока не слишком комфортно работать с пакетными сценариями, и я столкнулся с проблемой: когда я пытаюсь сделать резервную копию моего профиля Firefox Portable (он находится на RAMDisk), он копирует содержимое папок App, Data и Other, и выбрасывает их все в одну папку без соответствующих родительских каталогов.

Вот папки, которые я вижу после распаковки файла резервной копии .7z и перехода к папке 2011_07_28 \ ffportablebackups:

  • AppInfo
  • DefaultData
  • Firefox
  • Справка
  • плагинов
  • Профиль
  • настройки
  • Источник
  • readme.txt (файл)

Может ли добрая душа указать, где я ошибся? Вот код:

@echo off
:: variables
set dropboxLocation="%USERPROFILE%\Dropbox"
set sharedObjFolder="%APPDATA%\Macromedia\Flash Player\#SharedObjects"
set FFPortable="R:\FirefoxPortable"
set backupcmd=xcopy /s /c /d /e /h /i /r /y

echo Copying Files...
for /d %%f in (""%sharedObjFolder%\*"") do (
    echo "%%f\chat.kongregate.com"
    %backupcmd% "%%f\chat.kongregate.com" "%temp%\kongbackups\chat.kongregate.com"
    if exist "%%f\kongregate.com" %backupcmd% "%%f\kongregate.com" "%temp%\kongbackups\kongregate.com"
)

echo Backing up FF Portable...
for /d %%g in (""%FFPortable%\*"") do (
    echo "%%g"
    %backupcmd% "%%g" "%temp%\ffportablebackups"
)

echo Compressing Files...
7za a %temp%\kongbackups\%date:~10,4%_%date:~4,2%_%date:~7,2%.7z "%temp%\kongbackups"
7za a %temp%\ffportablebackups\%date:~10,4%_%date:~4,2%_%date:~7,2%.7z "%temp%\ffportablebackups"

echo Moving Files...
mkdir %dropboxLocation%
move "%temp%\kongbackups\*.7z" "%dropboxLocation%\Backups\Kongregate_Backup_Saves\Laptop"
mkdir "%dropboxLocation%\Backups\FF_Portable
move "%temp%\ffportablebackups\*.7z" "%dropboxLocation%\Backups\FF_Portable"
rmdir /S /Q "%temp%\kongbackups"
rmdir /S /Q "%temp%\ffportablebackups"

echo.
echo.
echo Script created by Matthew Ammann, revised by Ventero
echo.
echo Backup Complete!
@pause
...