PDA

Показать полную графическую версию : [архив] Нужна помощь в написании BAT | CMD | VBS | WSH файлов


Страниц : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 [18] 19 20 21 22 23 24 25 26 27 28 29 30 31

Petya V4sechkin
15-09-2008, 21:42
Если вводить полное название, то выдает ошибку еще страннее которую мне не понять
В кавычки надо брать.

truvo
16-09-2008, 03:53
Поскольку на мой вопрос от 12 июня никто пока не ответил, я в надежде на ответ удалил текст вопроса там и помещаю его вновь (в правилах форума запрета на это нет):

Возможен ли батник, изменяющий в Windows местоположение папок "Мои документы" для всех пользователей компа, с переносом, соответственно, содержимого этих папок?
Новый адрес папки "Мои документы" для каждого пользователя должен выглядеть так: "D:\ Документы_Имя учетной записи". То есть при учетных записях "Вася" и "Петя" на диске D должны образоваться две папки: "Документы Вася" и "Документы Петя", заполненные соответственно их документами. Батник должен нормально отрабатывать и на русской, и на английской винде (т. е. исходная папка в Windows может, видимо, иметь разные названия (рус. и англ.).

Medic84
16-09-2008, 12:39
Возможно ли через батник, Взять значения из реестра и записать их в файл .reg??? Если можно то как???

zeroua
16-09-2008, 13:17
Medic84, в описании команды Reg сказано: Добавляет, изменяет и отображает на экране информацию разделов реестра и значение записей реестра.

Можете про нее более детально почитать, и попробывать с ее помощью сделать то что вам нужно...

reg export

Копирование указанных подразделов, записей и значений реестра на локальном компьютере в файл для передачи на другие серверы.
Синтаксис

Reg export имя_раздела имя_файла [/y]
Параметры:
имя_раздела - Задает полный путь к разделу. Операция export работает только на локальном компьютере. имя_раздела должно содержать допустимый корневой раздел. Допустимыми корневыми разделами являются HKLM, HKCU, HKCR, HKU и HKCC.
имя_файла - Имя файла и путь файла, который будет создан в ходе операции. Файл должен иметь расширение .reg.
/y - Заменяет существующий файл с именем имя_файла без запроса на подтверждения.
/? - Отображение справки для команды reg export в командной строке.

Примечания

значения возврата для операции reg expor:.
Значение Описание

0 Успех

1 Сбой

Примеры:

Чтобы экспортировать все подразделы и записи раздела MyApp в файл AppBkUp.reg, введите:

reg export HKLM\Software\MyCo\MyApp AppBkUp.reg

amel27
16-09-2008, 13:17
Medic84
REG EXPORT /?

D_Master
16-09-2008, 14:12
Medic84, полный экспорт реестра:regedit.exe -ea С:\reg.reg
Экспорт ветки:
regedit.exe -ea C:\reg.reg "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services"

Vadikan
17-09-2008, 07:21
Тема переименована, чтобы не ограничивать варианты решения только CMD и не плодить "напишите мне" тем по каждому языку.

[hr]
Нет, ну надо же...

Я уже задавал где-то вопрос, но ответа пока нет: можно ли перенести расположение Documents and Settings с диска C на диск D с помощью bat-файла? Поскольку диск D я обычно форматирую после установки системы.

Отправлено: 19:09, 12-09-2008 »

А чего тут сложного? REG ADD /? для импорта параметра Personal в
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders
MOVE /? для перемещения папки. Пишите батник.

Отправлено: 01:53, 14-09-2008»

Поскольку на мой вопрос от 12 июня никто пока не ответил, я в надежде на ответ удалил текст вопроса там и помещаю его вновь (в правилах форума запрета на это нет):
Возможен ли батник, изменяющий в Windows местоположение папок "Мои документы" для всех пользователей компа, с переносом, соответственно, содержимого этих папок?

Отправлено: 18:53, 15-09-2008 »

truvo предупреждение за кросс-постинг, ОПК 2.2

truvo
18-09-2008, 02:36
А чего тут сложного? »Легко задать такой вопрос чайнику. Тем не менее, никто включая вас на форуме пока не предложил более-менее конкретные варианты решения. Видимо, напротив - ничего простого. Тем более, что решение должно быть реализовано для многопользовательского режима, для всех пользователей сразу и быть универсальным для любой версии Windows.

amel27
18-09-2008, 03:47
Vadikan, Тема переименована »
должно быть WSH (Windows Script Host), а не WHS (Windows Home Server) :)

Medic84
18-09-2008, 14:31
@echo off
Color 0A
set A1=E:\Backup
set A2=E:\Games\CallofDuty4\players\profiles
cls
echo =================================
echo Backup for Call of Duty 4
echo =================================
echo.
echo Вы хотите:
echo.
echo.
echo 1. Сделать Backup личных данных
echo.
echo 2. Восстановить личные данные
echo.
choice /c 12 /m "Сделайте ваш выбор: "
IF ERRORLEVEL 2 goto restore
IF ERRORLEVEL 1 goto backup
:backup
xcopy /E /I /H /Y %A2% %A1%
REG EXPORT "HKLM\Software\Activision\Call of Duty 4\codkey" %A1%\key.reg
pause
:restore
xcopy /E /I /H /Y %A1% %A2%
regedit /s %A1%\key.reg
pause
Выдает ошибку что команда choice не является внутренней или внешной программой и т.д. и т.п.
И после этого идет копирование, хотя копирование находится в метке, а раз команда choice не работает на нее перейти нельзя что не так??
Если можно проверте скрипт на ошибки...

Petya V4sechkin
18-09-2008, 14:42
Выдает ошибку что команда choice не является внутренней или внешной программой
Угу, не является.
Можно кусок:
choice /c 12 /m "Сделайте ваш выбор: "
IF ERRORLEVEL 2 goto restore
IF ERRORLEVEL 1 goto backup

заменить на:
Set /P Ch=Сделайте ваш выбор:
If "%Ch%"=="2" GoTo restore
If "%Ch%"=="1" GoTo backup
Exit /B

Medic84
18-09-2008, 19:47
Экспорт ветки:
Код:
regedit.exe -ea C:\reg.reg "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services" »

Это экспорт ветки, а как сделать экспорт 1 значения из ветки???

amel27
19-09-2008, 07:27
Medic84
не так просто, как вариант:
@Echo Off
:: -- Ключ, параметр рееста и имя выходного файла
Set $RKEY=HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
Set $PARM=DCacheUpdate
Set $FILE=%~dpn0.reg
:: -- Чтение типа параметра и значения в переменные
For /F "Tokens=2-3 Delims= " %%i In ('REG QUERY "%$RKEY%" /v "%$PARM%"') Do (
Set $TYPE=%%i
Set $RVAL=%%j)
)
:: -- Временные ключ реестра и имя файла
Set $RTMP=HKEY_CURRENT_USER\Software\~TMP
Set $FTMP=%~dpn0.tmp
:: -- Копируем параметр во временную ветку и экспоритуем ее в файл
REG DELETE %$RTMP% /f >Nul 2>&1
REG ADD %$RTMP% /v "%$PARM%" /t %$TYPE% /d "%$RVAL%" >Nul
REG EXPORT "%$RTMP%" "%$FTMP%" >Nul
REG DELETE %$RTMP% /f >Nul

IF EXIST "%$FILE%" DEL /F /Q "%$FILE%"
:: -- Замена в REG-файле имени ключа на нужный
CHCP 1251 >Nul
For /F "Delims=" %%i In ('Type %$FTMP%') Do (
IF "%%i"=="[%$RTMP%]" ( @Echo.[%$RKEY%] >>"%$FILE%"
) ELSE ( @Echo.%%i >>"%$FILE%" )
)

illznn
19-09-2008, 14:19
подскажите как удалить из вкладки "безопасность" на диске "D" группу "ВСЕ" и добавить "Опытные пользователи" со всеми правами ?

Admiral
22-09-2008, 15:06
illznn, есть такая утилита cacls, для поставленных задач нужно запустить её дважды с такими параметрами
cacls.exe D:\ /E /R Everyone
cacls.exe D:\ /E /G "Power Users":F
про неё и её применения написано ещё в этой теме (http://forum.oszone.net/thread-41825.html).

illznn
25-09-2008, 09:15
Admiral, обыскался, не могу найти, где ее можно достать ?

Vadikan
25-09-2008, 10:24
illznn, в командной строке вводите команды.

illznn
25-09-2008, 11:12
Vadikan, В КС и ввожу, я думал эта утилита должна быть в корню с батником.
пишет "Именам пользователей не сопоставлены коды защиты данных."
что это может быть...

Petya V4sechkin
25-09-2008, 11:14
Именам пользователей не сопоставлены коды защиты данных.
На русской системе вместо Everyone - Все, а вместо "Power Users" - "Опытные пользователи".

Delirium
02-10-2008, 07:40
Модераторы, поправьте шапку, а то фраза
Певые шаги (русск.) как то не звучит :) То ли Левые шаги, то ли непонятно :)




© OSzone.net 2001-2012