Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #NoTrayIcon
- ; Запустить скрипт, он проверит диски HDD кроме B: и X:, найдёт пользовательские папки, найдёт в них профили FF, предложит скопировать один. После этого можно запускать FF
- #include <File.au3>
- ; #include <Array.au3>
- $aArray = DriveGetDrive("FIXED")
- If @error Then Exit MsgBox(4096, 'Ошибка', 'Произошла ошибка при поиске дисков.')
- $c = 0
- For $i = 1 To $aArray[0]
- If $aArray[$i] = 'B:' Or $aArray[$i] = 'X:' Or Not FileExists($aArray[$i] & '\Users') Then ContinueLoop
- $c += 1
- $aArray[$c] = StringUpper($aArray[$i])
- Next
- If Not $c Then Exit MsgBox(4096, 'Ошибка', 'Не найдена папка "Пользователь"')
- ReDim $aArray[$c+1]
- $aArray[0] = $c
- $sFileList = ''
- Local $aDirNot[5] = ['All Users', 'Default', 'Default User', 'Все пользователи', 'Public']
- For $i = 1 To $aArray[0]
- $aFileList = _FileListToArray($aArray[$i] & '\Users')
- For $x = 1 To $aFileList[0]
- If _FO_IsDir($aArray[$i] & '\Users\' & $aFileList[$x]) Then
- For $y = 0 To 4
- If $aFileList[$x] = $aDirNot[$y] Then
- $aFileList[$x] = ''
- ContinueLoop
- EndIf
- Next
- If $aFileList[$x] Then $sFileList &= $aArray[$i] & '\Users\' & $aFileList[$x] & '|'
- EndIf
- Next
- Next
- If $sFileList Then $sFileList = StringTrimRight($sFileList, 1)
- ; массив папок пользователя
- $aArray = StringSplit($sFileList, '|')
- ; теперь для Firefox
- $sDest = 'X:\Users\Default\AppData\Roaming\Mozilla\Firefox'
- $c = 0
- For $i = 1 To $aArray[0]
- ; MsgBox(0, 'Сообщение', $aArra[$i]y & '\AppData\Roaming\Mozilla\Firefox')
- If Not FileExists($aArray[$i] & '\AppData\Roaming\Mozilla\Firefox') Then ContinueLoop
- $c += 1
- $aArray[$c] = $aArray[$i] & '\AppData\Roaming\Mozilla\Firefox'
- Next
- If Not $c Then Exit MsgBox(4096, 'Ошибка', 'Не найден профиль Firefox')
- ReDim $aArray[$c+1]
- $aArray[0] = $c
- If $c = 1 And MsgBox(4096 + 4, 'Копировать?', 'Хотите скопировать найденный профиль:' & @CRLF & '"' & $aArray[1] & '"' & @CRLF & 'в папку:' & @CRLF & '"' & $sDest & '"?') = 6 Then
- $e = 2
- $e -= DirCopy($aArray[1] & '\Profiles', $sDest & '\Profiles', 1)
- $e -= FileCopy($aArray[1] & '\profiles.ini', $sDest, 9)
- If $e Then Exit MsgBox(4096, 'Ошибка', 'Ошибка при копировании = ' & $e)
- MsgBox(4096, 'Готово', 'Готово, скопировано')
- Exit
- EndIf
- If $c > 1 Then
- $sFileList = ''
- For $i = 1 To $aArray[0]
- $sFileList &= $i & ' - ' & $aArray[$i] & @CRLF
- Next
- $sFileList = StringTrimRight($sFileList, 2)
- $sFileList = StringReplace($sFileList, '\AppData\Roaming\Mozilla\Firefox', '...')
- $sFileList = StringReplace($sFileList, ':\Users\', ':\...')
- $answer = InputBox("Выберите номер профиля", $sFileList, "1", " M1", 300, 20*$c + 100, Default, Default)
- If @error = 1 Then Exit ; Отмена
- If @error Then Exit MsgBox(4096, 'Ошибка', 'Ошибка, код = ' & @error)
- If Not StringIsDigit($answer) Then Exit MsgBox(4096, 'Ошибка', 'Вводите только число')
- $answer = Number($answer)
- If $answer = 0 Or $answer > $aArray[0] Then Exit MsgBox(4096, 'Ошибка', 'Число не соответствует диапазону')
- $e = 2
- $e -= DirCopy($aArray[$answer] & '\Profiles', $sDest & '\Profiles', 1)
- $e -= FileCopy($aArray[$answer] & '\profiles.ini', $sDest, 9)
- If $e Then Exit MsgBox(4096, 'Ошибка', 'Ошибка при копировании = ' & $e)
- EndIf
- Exit
- Func _FO_IsDir($sTmp)
- $sTmp = FileGetAttrib($sTmp)
- Return SetError(@error, 0, StringInStr($sTmp, 'D', 2) > 0)
- EndFunc ;==>_FO_IsDir
Add Comment
Please, Sign In to add comment