Есть батник:
Задача такая, нужно перевести этот батник в скрипт и сделать так, чтобы
Код:
@ECHO OFF
SET "DISK=D:"
Rem Перемещение папок: Мои документы, Мои изображения, Моя музыка, Мои видеозаписи, Загрузки, Сохраненные игры и Рабочий стол на другой диск.
XCOPY "%USERPROFILE%\Downloads" "%DISK%\Downloads" /H /I /K /O /Q /S /Y || MD "%DISK%\Downloads"
XCOPY "%USERPROFILE%\Music" "%DISK%\Music" /H /I /K /O /Q /S /Y || MD "%DISK%\Music"
XCOPY "%USERPROFILE%\Pictures" "%DISK%\Pictures" /H /I /K /O /Q /S /Y || MD "%DISK%\Pictures"
XCOPY "%USERPROFILE%\Saved Games" "%DISK%\Saved Games" /H /I /K /O /Q /S /Y || MD "%DISK%\Saved Games"
XCOPY "%USERPROFILE%\Videos" "%DISK%\Videos" /H /I /K /O /Q /S /Y || MD "%DISK%\Videos"
REG ADD "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "{374DE290-123F-4565-9164-39C4925E467B}" /t REG_SZ /d "%DISK%\Downloads" /f
REG ADD "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v "{374DE290-123F-4565-9164-39C4925E467B}" /t REG_EXPAND_SZ /d "%DISK%\Downloads" /f
REG ADD "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "My Music" /t REG_SZ /d "%DISK%\Music" /f
REG ADD "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v "My Music" /t REG_EXPAND_SZ /d "%DISK%\Music" /f
REG ADD "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "My Pictures" /t REG_SZ /d "%DISK%\Pictures" /f
REG ADD "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v "My Pictures" /t REG_EXPAND_SZ /d "%DISK%\Pictures" /f
REG ADD "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "{4C5C32FF-BB9D-43B0-B5B4-2D72E54EAAA4}" /t REG_SZ /d "%DISK%\Saved Games" /f
REG ADD "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v "{4C5C32FF-BB9D-43B0-B5B4-2D72E54EAAA4}" /t REG_EXPAND_SZ /d "%DISK%\Saved Games" /f
REG ADD "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "My Video" /t REG_SZ /d "%DISK%\Videos" /f
REG ADD "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v "My Video" /t REG_EXPAND_SZ /d "%DISK%\Videos" /f
RD /S /Q "%USERPROFILE%\Downloads"
RD /S /Q "%USERPROFILE%\Music"
RD /S /Q "%USERPROFILE%\Pictures"
RD /S /Q "%USERPROFILE%\Saved Games"
RD /S /Q "%USERPROFILE%\Videos"
XCOPY "%USERPROFILE%\Desktop" "%DISK%\Desktop" /H /I /K /O /Q /S /Y || MD "%DISK%\Desktop"
XCOPY "%USERPROFILE%\Documents" "%DISK%\Documents" /H /I /K /O /Q /S /Y || MD "%DISK%\Documents"
REG ADD "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "Desktop" /t REG_SZ /d "%DISK%\Desktop" /f
REG ADD "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v "Desktop" /t REG_EXPAND_SZ /d "%DISK%\Desktop" /f
REG ADD "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "Personal" /t REG_SZ /d "%DISK%\Documents" /f
REG ADD "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v "Personal" /t REG_EXPAND_SZ /d "%DISK%\Documents" /f
REG ADD "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\DocFolderPaths" /v %USERNAME% /t REG_SZ /d "%DISK%\Documents" /f
RD /S /Q "%USERPROFILE%\Desktop"
RD /S /Q "%USERPROFILE%\Documents"
Rem Создание символьных ссылок в папке профиля (%UserProfile%).
MKLINK /J "%USERPROFILE%\Downloads" "%DISK%\Downloads"
MKLINK /J "%USERPROFILE%\Music" "%DISK%\Music"
MKLINK /J "%USERPROFILE%\Pictures" "%DISK%\Pictures"
MKLINK /J "%USERPROFILE%\Saved Games" "%DISK%\Saved Games"
MKLINK /J "%USERPROFILE%\Videos" "%DISK%\Videos"
MKLINK /J "%USERPROFILE%\Documents" "%DISK%\Documents"
MKLINK /J "%USERPROFILE%\Desktop" "%DISK%\Desktop"
Rem Добавление атрибутов "Скрытый\Системный" для символьных ссылок.
ATTRIB +H +S "%USERPROFILE%\Downloads" /L
ATTRIB +H +S "%USERPROFILE%\Music" /L
ATTRIB +H +S "%USERPROFILE%\Pictures" /L
ATTRIB +H +S "%USERPROFILE%\Saved Games" /L
ATTRIB +H +S "%USERPROFILE%\Videos" /L
ATTRIB +H +S "%USERPROFILE%\Documents" /L
ATTRIB +H +S "%USERPROFILE%\Desktop" /L
Rem Добавление атрибутов "Скрытый\Системный" для папки Рабочий стол.
ATTRIB +H +S "%DISK%\Desktop"
Rem Копирование личных папок и файлов.
XCOPY "%~dp0USERPROFILE" "%DISK%\" /E /H /I /K /Q /R /Y
EXIT
SET "DISK=D:"
был равен не только D:\ а и все остальные буквы возможных имеющихся дисков. Но обязательное условие, чтобы диск был = 'Fixed'. При запуске скрипта, он должен определять, есть ли в системе диск D:\, если есть, то выполняет все действия прописанные выше без всяких вопросов, если D:\ нет, то проверяет по порядку букв и если допустим D:\ нет, но есть диск E:\ то выдает сообщение: "Перенести пользовательские данные на диск E:\ ?" При нажатии на "Да" выполняет все действия написанные выше, если нажать "Нет" то выполняется DirCopy(@ScriptDir & '\USERPROFILE', @UserProfileDir, 1)
Если в системе только один диск = 'Fixed', допустим C:\, то сразу выполняет DirCopy(@ScriptDir & '\USERPROFILE', @UserProfileDir, 1)
без вопросов. Заранее огромное спасибо за помощь. P.S. в батнике reg add путь везде начинается с HKCU (HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\) но в одном случае он HKLM (HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\)
Последнее редактирование модератором: