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

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

Автор: Smitis
Дата сообщения: 28.12.2005 23:12
Ignat
Прочитать параметр по умолчанию в
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\Excel.exe
Всегда укажет на последний установленный эксель. Прочитать можно использую reg.exe query или моим скриптом на kixtart-е в этой теме http://forum.ru-board.com/topic.cgi?forum=8&bm=1&topic=10659#1
Автор: Ignat
Дата сообщения: 29.12.2005 00:00
Alan Mon Спасибо, но Excel из батника не запускается В чем может быть проблема? Спасибо
vu1tur

Цитата:
Так пусть операционная система сама разбирается:
start %1

В чем разбирается?, запускается коммандная оболочка и все. Или это мы так шутим? Спасибо
Автор: Alan Mon
Дата сообщения: 29.12.2005 09:06
Ignat

Цитата:
Excel из батника не запускается

А он и не должен из него запускаться. Этот батник заносит в переменную OFFICE_PATH путь к Excel.exe. А дальше уже делай с этим путем все, что тебе нужно. Ты ведь это спрашивал?

Цитата:
Задача: написать батник с относительным путем к excel.exe

Добавь в конец start %OFFICE_PATH%excel.exe %1

Вариант Smitis определения пути к excel.exe гораздо проще. Вот мой переделанный батник с его идеей:

Код: acregl.exe "%TEMP%\SetPath.cmd" OFFICE_PATH "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\excel.exe" Path ""
call "%TEMP%\SetPath.cmd"
del "%TEMP%\SetPath.cmd" 2>&1
start %OFFICE_PATH%excel.exe %1
Автор: vu1tur
Дата сообщения: 29.12.2005 19:51
Ignat

Цитата:
В чем разбирается?

в том, чем открывать файл.

Цитата:
запускается коммандная оболочка и все. Или это мы так шутим?

У меня по start filename.xls запускается excel и открывается файл. Что я делаю не так?

Добавлено:
перечитал вопрос...

Цитата:
call C:\Progra~1\Micros~1\Office\excel.exe %1

а в %1 что?
Автор: MonsterMax
Дата сообщения: 29.12.2005 22:05
Мне бы такой скрипт который в XP пробегался по всем пользователям на предмет обнаружения имен и создавал на диске, например D:\ папки типа 'user1_temp' 'user2_temp' ? где user1=имя первого пользователя итд. И вносил в реестр значения путей папок temp для каждого пользователя свой.
Ну то есть на системном диске есть директория Documents and Settings внутри нее есть много папок (профилей) пользователей и у каждого внутри его профиля есть своя скытая директория temp.
Надо сделать чтоб на диске D:\ было много temp'ов каждый из которых относился бы к определенному пользователю существующих в данной системе. Еще было бы круто чтоб доступ в свой temp был только у собственника и у администратора. Чтоб другой пользователь не смог заходить в чужой temp.
Надеюсь задачу разжевал довольно подробно.
Спасибо.
Я примерно знаю как выполнить эту задачу. Не могу понять как собрать имена пользователей и на основе их сделать папки temp.
Буду признателен за полное решение задачи.
Автор: olegupb
Дата сообщения: 30.12.2005 01:04
hacsoft
А насколько сложно выполнить такую задачу:

Допустим есть множество файлов в которых содержится нужный и ненужный текст такого формата

\\ ненужный текст1
нужный текст
\\ ненужный текст2


или если все это множество слито в один файл, то соответственно выглядит так:

\\ ненужный текст1
нужный текст
\\ ненужный текст2
\\ ненужный текст1
нужный текст
\\ ненужный текст2
\\ ненужный текст1
нужный текст
\\ ненужный текст2
и т. д.

Нужно сделать так чтоб нужный текст отделялся от ненужного и записывался(дописывался) в другой файл!

\\ ненужный текст1- значение не изменяеться
\\ ненужный текст2 - значение не изменяеться
Автор: Alan Mon
Дата сообщения: 30.12.2005 08:51
olegupb
Я так понял признаком "ненужности" текста является наличие в начале "\\". Если так,

Код: for /F "tokens=1,*" %%i in (text.txt) do echo %%i | find "\\" && echo %%i%%j >> text1.txt
Автор: Ignat
Дата сообщения: 30.12.2005 09:59
vu1tur
Цитата:
а в %1 что?

Предполагаю, сама команда "вывода документа на печать" программы. Я не разработчик программы, я сопровождаю , а разработчик отписал мне, что: "При работе в рамках ЛВС Excel на всех рабочих станциях должен быть установлен по одному пути." Это на 70-ти машинах то! где я не админ, а "приходящий сопровождающий". Поэтому я здесь и прошу помощи, будучи сам несведущим
Автор: KapralBel
Дата сообщения: 30.12.2005 10:11
Ignat
Т.е. тебе надо вывести на печать Экселевский файл, при условии того что сам Эксель установлен по разным путям?
Автор: vu1tur
Дата сообщения: 30.12.2005 11:05
Ignat

Цитата:
Предполагаю, сама команда "вывода документа на печать" программы. Я не разработчик программы,

ну так напиши батник:

echo %1

и узнаешь что он там передаёт
Автор: olegupb
Дата сообщения: 30.12.2005 14:43
Alan Mon

Цитата:
Я так понял признаком "ненужности" текста является наличие в начале "\\".

Нет
Признаком ненужного текста1
есть строка которая начинаеться, например, с "Начало сегодня..." и все что находиться выше нее, а признаком ненужного текста2
есть строка, например, "Завтра начинаеться" и все что ниже ее до (если все файлы слитые в один) строки с ненужным текстом1

Автор: S_Leha
Дата сообщения: 31.12.2005 10:40
Подскажите как bat-ом запустить подключение к интернету?
Автор: vu1tur
Дата сообщения: 31.12.2005 11:06
S_Leha
rasdial /?
rasdial entryname [username [password]]
Автор: Sebbic
Дата сообщения: 02.01.2006 20:35
Даже стыдно со своим вопросом сюда... Но все же подскажите, плз, почему после отработки бат файла окно cmd остается открытым? Как сделать, что бы оно само закрывалось? Система ХР. Вот сам файл
@ECHO OFF
"C:\Total Commander XP\TOTALCMD.EXE" /I=".\Profiles\Prof\main.ini" /F=".\Profiles\Prof\ftp.ini""
Автор: hacsoft
Дата сообщения: 02.01.2006 22:15
Окно будет висеть, пока не закроете запущенную программу.
Что бы этого не произошло, добавь в начало 2-й строки start
Автор: Sebbic
Дата сообщения: 02.01.2006 22:23
Спасибо
Автор: giccanat9
Дата сообщения: 06.01.2006 00:33
Не работает .bat следуещего содержания

net use p: /delete
net use p: \\server\buh /persistent:no /yes

из комондной строки все ок и из autoexec.bat все работает.
Как решить задачу переназначения сетевого ресурса, т.е. для одной программы надо диск P подключить \\server1\buh, а для другой \\server2\work?
Автор: LeonSab
Дата сообщения: 06.01.2006 00:41
Добрый день собратья по оружию! =) Посмотрел данную тему форума и волосы встали дыбом, я и представить себе не мог, что такое можно делать при помощи *.cmd. Ну и решил подкинуть еще одну задачку с которой я не могу справиться по причине малой грамотности в вопросах *.cmd и отсутсвия опыта в их разработке. А задача следующая: Есть текстовый фай в OEM кодировке следующего формата:

"часть имени файла 1" "дата создания" "группа"
"часть имени файла 2" "дата создания" "группа"
"строка текста" // признаком строки считается то, чо она начинается с русской буквы "В"
"часть имени файла 3" "дата создания" "группа"
"часть имени файла 4" "дата создания" "группа"
...
"строка текста"
"часть имени файла 60" "дата создания" "группа"

Так вот нужна процедура ввиде cmd файла которая, берет из строк "часть имени файла", и ищет файл (одной из указанных папок), у которого в название присутствует данная строка например "asd67" а файл - asd67rew.exe. Найдя последний она запускает его на выполнение и выдает строку из файла на экран jкомандой echo. Встретив строку начинающуюся с "В" просто выводит ее на экран и так пока файл *.txt не кончиться.


Автор: Venchik
Дата сообщения: 06.01.2006 01:57

Цитата:
Проверить, есть-ли пинг на айпи. Если есть, то скачать через NETBIOS 3 файла. Если копирование всех трех прошло успешно, то заменить ими 3 файла в папке Х, предварительно переместив заменяемые файлы в папку Y.
Все это надо сделать в свернутом окне...или лучше вообще без окна, если это возможно.
Это реальная задача по обновлению антивируса McAfee по сети из расшаренной папки. Очень удобно будет поставить такой батник в планировщик.
Никто не возьмется помочь?
Автор: KapralBel
Дата сообщения: 06.01.2006 09:35
Venchik
Какая у тебя система? ХР/2003/98?
А может быть настроить антивирус на обновление из указанной папки?
Автор: Zueuk
Дата сообщения: 06.01.2006 10:31
Народ, подскажите (хотя не совсем задача).
Нужно из командной строки (или лучше из бата) менять ip адрес сетевого устройства (сетевая карта и т.д.). С помощью стандартного ipconfig не прошло, хотя делал как написано в помощи.

Т.е. нужно менять ip-адрес, который устанавливается автоматически Виндами менять на тот, который нужен мне и можно дополнительные параметры (шлюз, DHCP и т.д.).
Автор: Venchik
Дата сообщения: 06.01.2006 10:32
KapralBel, XP Pro
Антивирус не умеет из папки обновляться.
Автор: KapralBel
Дата сообщения: 06.01.2006 10:41
Venchik
Фи, антивирусу...
А если объявить ту папку как ФТП-Сервер, надеюсь с ФТП данный АВ может обновляться? Кстати расшаренная папка на какой системе?
По некоторым причинам я аналогичную функцию сделал для каспера... Папка с обновлениями на сервере 2003, объявил её как ФТП-сервер - и все ОК...

Если же надо именно тем способом как ты написал с начала, то можно помочь, но гемморой будет еще тот...

Добавлено:
Zueuk
При помощи IPConfig /ReNew - можно получить новый адрес от DHCP-сервер, но почти со 100% вероятность данный сервер выделит тебе старый АйПи назад...

Зачем тебе данная фича? Может быть можно другим способом помочь?
Автор: Zueuk
Дата сообщения: 06.01.2006 11:09
KapralBel
Я создаю с помощью OpenVPN соединение. При подключении в виртуальную сетевуху Винда втыкает ip не из той сети, которая нужна. Поэтому приходится каждый раз изменять ip вручную. Причем, устанавливаю ip вручную. Потом опять захожу в свойства устройства, у ставлю галочки для автоматической установки с помощью DHCP. Вот такой маразм
Да, еще забыл. Менять ip нужно до создания соединения, т.к. уже написал, ип-адрес не из той сети, поетому DHCP автоматом никак не пропишет хотя бы старый адрес.
Автор: KapralBel
Дата сообщения: 06.01.2006 11:19
Zueuk
так по порядку?
1. Есть какое-то виртуальная сетевая карта
2. она прописана постоянно?
3. ты инициализируешь её (в свойствах имеется динамическое выделение АйПи)
4. Выделяется неверно
5. в ручную прописывается нужный АйПи - все ОК
6. Меняешь конкртный АйПи на Динамический - пошли проблемы

Если все так, то зачем делать пункт 6, пусть у неё и остается прописанный АйПи
Автор: Zueuk
Дата сообщения: 06.01.2006 11:43
1. Да
2. Присутствует как обычная, физическая карта. Т.е. постоянно.
3. В свойствах TCP/IP установлено автоматическое получение IP и DNS автоматически.
4. Верно.
5. Меняю вручную (по сути пункт 3 меняется на противоположный)
6. Меняю настройки TCP/IP на автоматические (т.к. как в п.3), но уже IP на "карточке" тот, который нужно.

Изначально я и думал, что п.6 лишнее, но при соединении OpenVPN выдаёт:

Fri Jan 06 12:36:55 2006 WARNING: You have selected '--ip-win32 dynamic', which will not work unless the TAP-Win32 TCP/IP properties are set to 'Obtain an IP address automatically'

Поэтому приходиться извращаться.

PS Еще уточняю: при загрузке ip ставится 168.х.х.х, мне нужен 192.х.х.х
Автор: KapralBel
Дата сообщения: 06.01.2006 12:19
Zueuk
А какие проблемы еще при конкретном АйПи на этой сетевой?
Доступ к DHCP серверу есть? задай статистическое выделение АйПи-адреса для конкретной сетевой карты (по МАС-адресу)
Автор: Zueuk
Дата сообщения: 06.01.2006 12:40
KapralBel
Проблема только вышеописанная (неверное присвоение ip).
DHCP при соединении виден (он в локалке).

Да это все особо не требуется (про статическое выделение).
В итоге соединение устанавливается после танцев с бубном.

У меня вопрос о том, как из консоли принудительно указывать нужный ip.
В Линухе это легко и понятно. А в Винде по аналогии не получается.
Может есть утилита, которой под силу сменить ip без участия стандартных средств Винды?!
Автор: KapralBel
Дата сообщения: 06.01.2006 12:49
Zueuk
С утилитой смены АйПи помочь не смогу
А Вот если на DHCP - назанчить статичесое выделение нужного АйПи для виртуальной сетевой карты - то у неё будет динамическое АйПи, но всегда одно и тоже и причем нужное...
Автор: Alan Mon
Дата сообщения: 06.01.2006 16:33
Zueuk
netsh /?

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667

Предыдущая тема: Вернуть библиотеку АТМ (поддержка шрифтов Type 1)


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