Ru-Board.club
← Вернуться в раздел «Microsoft Windows»

» Задачи на bat-файлах 2

Автор: WSQ
Дата сообщения: 20.12.2006 21:27
Вопрос: как отличить Windows XP rus от Windows XP eng + MUI?

(результат комманды ver идентичен)
Автор: Munster
Дата сообщения: 20.12.2006 23:04
По поводу
5) удалить все кроме 5 самых последний новых по дате файлов
как я себе это представляю.
сортировка по дате с выводом в текстовый файл.
перебор строк этого файла со счетчиком и условием что счетчик больше 5 то удаление
проблема только с реализацией, хотя может я в чем ошибаюсь
кто может реализовать вылождите пожалуйста код
Автор: Elroir
Дата сообщения: 20.12.2006 23:43
Munster

Код:
@echo off
pushd Directory
for /f "usebackq skip=5 tokens=*" %%I in (`"dir /a-d /b /o-d"`) do del /q "%%I"
popd
Автор: KapralBel
Дата сообщения: 21.12.2006 09:21
WSQ
Сходу могу предложить только следующее
Проверять наличие файла

C:\Documents and Settings\All Users\Start Menu\desktop.ini
C:\Documents and Settings\All Users\Главное меню\desktop.ini

Думаю разберешься какой в каком случае появляется
Автор: Malganus
Дата сообщения: 21.12.2006 10:07
Нужен скрипт (bat-файл обычный), который бы делал следующие 3 шага:
1. В 1С есть такая программа как 1С Server, с помощью ее можно выкидывать пользователей из 1С выделяя их и удаляя. Нужно чтобы скрипт это делал.
2. Копирование одного файла в другой.
3. Удаленно выключение сервера определенного.

Поможите пожалуйста.
Автор: KapralBel
Дата сообщения: 21.12.2006 11:06
Malganus
Как я писал в
Помогите со скриптом
1. Какие ключи у этой программы
2. Какой файл надо скопировать и куда
3. shutDown -s -m \\Server -f
Автор: maverik
Дата сообщения: 21.12.2006 11:14
как выбрать для копирования файлы с текущей датой?
нужно из общей кучи вытаскивать архивы созданные в воскресенье.
Автор: KapralBel
Дата сообщения: 21.12.2006 11:20
maverik
Сегодня
forfiles /d +0
Автор: Malganus
Дата сообщения: 21.12.2006 12:12
KapralBel
Не мог ответить так, как тему заблокировали.

Цитата:
1. Какие ключи у этой программы

А как это узнать?
По поводу вопроса, где найти 1Cserver(в русском варианте Серверы 1С Предприятия)...При установки серверного варианта 1С , так же устанавливается и это приложение. С помощью него можно добовлять(создавать) новые базы, смотреть в каждой базе наличие пользователей и удалять(отключать от базы) их. Это mmc-консоль.

Цитата:
2. Какой файл надо скопировать и куда

Это я уже сделал.
Цитата:
3. shutDown -s -m \\Server -f

Спасибо.

Еще вопрос, мне нужно чтобы все эти 3 шага были в одном файле. Т.е. чтобы я при необходимости просто его запустил и он по-этапно выполнил эти шаги.

Добавлено:
KapralBel
Вопрос еще такой по поводу копирования. Нужно чтобы один файл скопировался(заменяя файл с таким же именем) в n-ое колличество папок. Все папки и сам файл находятся на одном диске.
Пример:
Нужно скопировать файл test.txt, находящийся в с:\a\, в папки :
с:\b\
c:\c\
c:\d\
и т.д.
Автор: KapralBel
Дата сообщения: 21.12.2006 14:47
Malganus
насчет 1С Сервер - ты просто не правильно назвал её и я решил что утилита есть отдельная
А для оснастки ммс-консоли работа с батником не предусмотрена
особенно если ты работаешь с SQL-базой - трудно что посоветовать

Сам батник s.cmd

Код: @Echo Off
Copy C:\a\test.txt C:\b\
Copy C:\a\test.txt C:\c\
Copy C:\a\test.txt C:\d\
Copy C:\a\test.txt C:\e\
Shutdown -s -m \\Server -f
Автор: maverik
Дата сообщения: 21.12.2006 14:51
KapralBel
не понял это какой командой?
Автор: KapralBel
Дата сообщения: 21.12.2006 15:14
maverik
Ты насчет чего?
насчет
Цитата:
Можно конечно копирование сделать по циклу, но так проще
?
тогда попробуй
for %%a in (a b c d) Do Echo %%a
Автор: Malganus
Дата сообщения: 21.12.2006 15:18
KapralBel
А если не батником, но чтоб все 3 шага выполнялись, возможно?
Автор: KapralBel
Дата сообщения: 21.12.2006 15:18
maverik
Все понял
forfiles - 'это маленькая утилита входящая в состав Win2003
если надо могу выслать (эл.ящик мне в ПМ)

Добавлено:
Malganus
В смысле не батником?
Т.е. отдельно каждую команду ?

Так запускай из ком.строки по отдельности
For %a in (b c d e f g h) Do Copy C:\a\test.txt C:\%a\
Shutdown
Автор: Malganus
Дата сообщения: 21.12.2006 15:33
KapralBel

Цитата:
Т.е. отдельно каждую команду ?

Не совсем. Чтобы они выполнялись по нажатию на один файл. Чем написанны не принципиально важно. Главное чтобы я при определенных обстаятельствах мог в срочном порядке запустить этот файл и чтобы он все выполнил без загвосток.
Автор: maverik
Дата сообщения: 21.12.2006 15:37
KapralBel
нашёл утилитку

но никак не соображу как туда функцию копирования прикрутить
исходные данные:
необходимо скопировать из папки с:\1 в папку с:\2 файлы с текущей датой создания
Автор: JohnRD
Дата сообщения: 21.12.2006 15:39
спасибо за предыдущие ответы

есть очередной вопрос
мне нужно прочитать ветку реестра, а конкретнее строковый параметр на многих машинах в сети, это есть серийный номер продукта, как это лучше сделать??

Код:
regedit.exe -ea 1.reg "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\cpdrvlib\license"
Автор: KapralBel
Дата сообщения: 21.12.2006 15:48
maverik

Код:
@Echo Off
C:
CD C:\1
forfiles /d +0 /c "cmd /c Copy @file C:\2"
Автор: Jon_Dow
Дата сообщения: 21.12.2006 16:00
JohnRD - вывод в reg-файл здесь даже не нужен...
Код: FOR /f "usebackq tokens=1,2* skip=4 eol=;" %%a IN (`reg query "HKLM\SYSTEM\ControlSet001\Services\cpdrvlib\license" /v PIDKEY`) DO IF "%%a"=="PIDKEY" SET MY_PIDKEY=%%c
Автор: Malganus
Дата сообщения: 21.12.2006 16:06
KapralBel
а какже по поводу 1С и выключения сервера?....мне нужно, чтобы этот скрипт при его запуске, сначала выкинул всех пользователей из 1С, затем подменил файлы в каждой учетке, на файл который мне нужен, а потом выключил сервер(сервер, который нужно выключить, и сервер, на котором стоит 1С , разные)
Автор: KapralBel
Дата сообщения: 21.12.2006 16:13
Malganus
1С какая?
8.0
7.7
SQL или сетевая?
Автор: Malganus
Дата сообщения: 21.12.2006 16:26
KapralBel

Цитата:
1С какая?
8.0
7.7

8.0

Цитата:
SQL или сетевая?

Серверная)....(в смысле сетевая?)....базы у нас SQL'ые....пользователей порядка 30-40
Автор: KapralBel
Дата сообщения: 21.12.2006 16:41
Malganus
Есть задумки
1. По таймеру на сервере останавливать службу SQL
или
2. В 1С написать код, который по времени срабатывает и принудительно разрегистрирует пользователя из 1С (закроет программу)
Автор: Malganus
Дата сообщения: 21.12.2006 16:47
KapralBel
Это если известно точное время когда это нужно сделать.
На самом деле это не известно. Это нужно, чтобы в случае, если прийдут плохие дяденьки, чтоб я двумя щелычками мыши вывел сервер с базами из сети, и сменил пользовательские базы, на резервные(белые), при запуске 1С. Т.е. у пользователя просто должна тупо закрыться 1С(как вариант терминалка...они все удаленно подключают к серверу) и при следующем запуске 1с у них должна подключиться другая база(белая).
Автор: KapralBel
Дата сообщения: 21.12.2006 16:56
Malganus
Тогда 1-й строкой в батник включай
sc \\server stop <имя службы SQL>
К сожалению из-за того что я сейчас далеко от рабочего места - не смогу сказать как называется точно <имя службы SQL>
Автор: Malganus
Дата сообщения: 21.12.2006 17:47
KapralBel
Смотри, почему задумка с выкидом из 1С нужна. Нужно обязательно чтобы у пользователей закрылась 1С. После этого идет подмена списка баз на другие(пользователи визуально отличий не видят, просто путь будет к другой базе) и затем выключение сервера с основной базой.
Т.е. получается, сидит юзер в 1с, тут она у него просто закрывается, он ее запускает и уже подключается к другой базе(не зная этого). А сервер с основной базой тихо и мирно выключается.
Автор: ra1n
Дата сообщения: 22.12.2006 08:40
Добрый день всем.

У меня вопрос, можно ли написать bat файл, выполняющий следующие действия:


Цитата:
По пунктам:
1. Открываем regedit
2. Становимся на HKEY_USERS
3. File->Load Hive...->Documents and Settings\Default User\NTUSER.DAT->Open
4. В открывшемся диалоге, даем ему имя DefUser
5. В HKEY_USERS появилась ветка DefUser
6. Редактируем ее
7. Чтобы выгрузить эту ветку, становимся на нее и File->Unload Hive


Спасибо!
Автор: KapralBel
Дата сообщения: 22.12.2006 09:03
Malganus
Т.е. надо не придушить доступ к базе, а просто выкинуть их из программы
См.
TaskKill /?

например TaskKill /S Comp1 /U Admin /P Pass_Admina /IM 1cv8.exe /F /T

И так для каждого компа


ЗЫ. чисто личное мнение - у этих приходящих товарищей крайним окажешься ты
Автор: Malganus
Дата сообщения: 22.12.2006 09:33
KapralBel

Цитата:
TaskKill /S Comp1 /U Admin /P Pass_Admina /IM 1cv8.exe /F /T

Вместо Comp1 - имя машины, Admin и Pass_admin - данные учетки админа нужно заменить, так ? Админ локальный или админ домена пойдет? 1cv8.exe - здесь путь к этом файл вписать или нет?
Вопрос такой, я пропишу для всех машин это. Что будет если одна из машин не будет подключена? Он ругаться не будет?

Цитата:
ЗЫ. чисто личное мнение - у этих приходящих товарищей крайним окажешься ты

А как они узнают хоть чтото? Сервер с главной базой будет выключен и территориально его невозможно будет найти. Файлы со списком баз(путями к ним) будут подменены на другие, с путями к другим базам, которые находятся на другом сервере. Следов никаких нет. Ну точней следы то и можно найти, но они то проверят уже белые базы и придраться не к чему будет.
Автор: KapralBel
Дата сообщения: 22.12.2006 09:53
Malganus


Цитата:
1. Вместо Comp1 - имя машины,
2. Admin и Pass_admin - данные учетки админа нужно заменить, так ?
3. Админ локальный или админ домена пойдет?
4. 1cv8.exe - здесь путь к этом файл вписать или нет?

1. Да
2. Да
3. Лучше домена
4. без пути (придушит все открытые 1С)


Цитата:
А как они узнают хоть чтото

1. Захотят к чему либо придраться - найдут
2. Вышел ты (покурить, на обед, подставь на вкус) - пришли дяди - твои действия?
Ладно с этой частью завязываем - это уже тут

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667

Предыдущая тема: Сбой активации XP sp2


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.