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

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

Автор: BorlandIMHO
Дата сообщения: 28.08.2009 21:33
postullatt
Напрямик на батнике - нельзя. Тем более так, как Вы "пробивали"...
Нужно искать консольный конвертер картинок типа http://www.pictview.com/pvw.htm и изучать его опции. Это для модификации картинок...
А вот для того, чтобы всё это хозяйство запихать в ворд - это уже без VBS/VBA никак не обойтись...
Автор: AgentMario
Дата сообщения: 29.08.2009 02:11
Народ, помогите! Вобщем вот кусок кода, который обновляет время и дату. (Он неправильный начиная с "if", нужно починить)


@echo off
w32tm /resync
if errorlevel 1 msg * OMG


Если дата различается больше чем на месяц то выбивает "Синхронизация не выполнена, поскольку запрошенное изменение слишком велико". Нужно сделать чтоб если выбивало такой эррор, то писалось сообщение.
И как вообще узнать эти еррорлевелы?





Всё уже не надо)


w32tm /resync
if errorlevel == 0 msg * .....
Автор: GRom V
Дата сообщения: 29.08.2009 08:00
нет так нет
Автор: kacnelbogen
Дата сообщения: 29.08.2009 23:36
Доброй ночи!
Есть текстовый файл text1 такого вида:

"83.229.127.0","83.229.127.255","1407549184","1407549439","US","United States"
"83.229.128.0","83.229.255.255","1407549440","1407582207","RU","Russia"
"83.230.0.0","83.230.127.255","1407582208","1407614975","PL","Poland"
"83.230.128.0","83.231.127.255","1407614976","1407680511","ES","Spain"
"83.231.128.0","83.231.255.255","1407680512","1407713279","GB","United Kingdom"
"83.234.0.0","83.234.255.255","1407844352","1407909887","RU","Russia"

Можно ли с помощью батника найти все строки со словом Russia (или RU)
и переписать их в новый текстовый файл text2 ?
На скорую руку не нашёл программы с помощью которой можно это сделать.
Спасибо.
Автор: NIKZZZZ
Дата сообщения: 29.08.2009 23:41
kacnelbogen

Код: type text1.txt|find "Russia">Rus.txt
Автор: kacnelbogen
Дата сообщения: 30.08.2009 00:01
NIKZZZZ, Спасибо.

А если попробовать немного усложнить ?
Что-бы в новом файле Rus.txt строки принимали вид:

83.234.0.0-83.234.255.255

Вместо:

"83.234.0.0","83.234.255.255","1407844352","1407909887","RU","Russia"

Спасибо.
Автор: b2pip
Дата сообщения: 30.08.2009 00:05
простой вопрос: В сетевых компах есть папки, файлы в которых в процессе использования меняются (типа portablesoft). На сервере исходные папки с оригиналами.
Нужен батник, который будет копировать с исходных папок в сетевые только те файлы, которые не сходятся по дате (ну и новые).
Типа xcopy d:\sourse\ \\comp1\d\destination /... Но /D копирует только новые, а нужно те, где дата не совпадает
Автор: NIKZZZZ
Дата сообщения: 30.08.2009 00:16
kacnelbogen

Цитата:
немного усложнить


Код: echo. 2>Rus.txt
FOR /F "usebackq tokens=1,2 delims=," %%i IN (`Type text1.txt^|find "Russia"`) DO echo %%~i-%%~j>>Rus.txt
Автор: kacnelbogen
Дата сообщения: 30.08.2009 00:29
NIKZZZZ, Благодарю, всё прекрасно работает.
Автор: anachrom
Дата сообщения: 30.08.2009 10:43
NIKZZZZ
Спасибо, интересная и очень полезная утилита. Принцип её работы как я понял сначала вывод операции на экран, а потом по её окончанию в файл (если прервать на середине то файл пустой). Очень пригодится.
------------------------------------------------------------------------
Вот еще задачка.
Нужно запускать 1с так, что бы пользователь не смог узнать путь базы (меры предосторожности). Так вот решил сделать хитро: написать батник и перегнать его в exe.
Код на запуск 1с такой:

Код:
"c:\program files\1cv81\bin\1cv8.exe" enterprise /f "\\192.168.0.1\1c"
Автор: wolf0425
Дата сообщения: 30.08.2009 13:59

Цитата:
как можно запустить через батник так, что бы и путь не открывать и пароли незапрашивались?
А поставить домен и назначить пользователям права на каталоги - совсем не судьба, хочется поизвращаться?
Автор: NIKZZZZ
Дата сообщения: 30.08.2009 15:06
anachrom

Цитата:
сначала вывод операции на экран, а потом по её окончанию в файл

Нет, вывод одновременный, просто файл не закрывается, поэтому и пустой.

Цитата:
если запустить повторно

Эту ошибку легко обойти, поставив на первое место строку

Код: FOR /F "usebackq" %%i IN (`tasklist^|find /i "1cv8.exe"`) DO goto :eof
Автор: serg53
Дата сообщения: 30.08.2009 19:08
Сделал архивацию файлов сервака на рабочую машину. Теперь не могу придумать как оставлять нужное количество последних архивов (скажем 5). Файлы архивируются ночью на серваке, днем архивы в автомате переносятся на рабочку, поэтому в понедельник появляются пятн, субб, воск архивы.
Автор: RcT
Дата сообщения: 30.08.2009 19:19
Есть файл со списком строк. Этот файл подается на вход батнику который для каждой строки этого файла выполняет определенную команду. Как вывести на экран процесс выполнения работы срипта? Например чтобы были сообщения типа:
Код: Выполнено (1 из 100)
Выполнено (1 из 100)
Выполнено (2 из 100)
Выполнено (3 из 100)
.....
Выполнено (100 из 100)
Автор: NIKZZZZ
Дата сообщения: 30.08.2009 19:23
serg53

Код: FOR /F "usebackq skip=5 tokens=* delims=" %%i IN (`dir /o-d /b "*.rar"`) DO del "%%i"
Автор: anachrom
Дата сообщения: 30.08.2009 19:56
wolf0425

Цитата:
А поставить домен и назначить пользователям права на каталоги - совсем не судьба, хочется поизвращаться?

Во первых разворачивать домен ради максимум 10 машин находяшихся в 2 метрах друг от друга в одной комнате, неотгороженной перегоротками, по моемому это извращение. Во вторых, домен для Windows XP Home? В третих как правилами указать что каталог использовать можно, а вот копировать от туда нельзя, эт как?
NIKZZZZ

Цитата:
А как именно запрашивается пароль? Может просто послать его из батника?

Вот и хочется его из батника посылать. Т.е. сначало посылается имя пароль для опрделенного места, затом из этой директории запускается база.
Автор: NIKZZZZ
Дата сообщения: 30.08.2009 21:03
anachrom

Цитата:
Вот и хочется его из батника посылать.

Так я и спрашиваю, что это за место? Куда вводится пароль?
Автор: anachrom
Дата сообщения: 30.08.2009 22:24
Суть в следующем. На клиентской машине установленна "1с Предприятие", база находится на сервере. Когда пытаешься поключиться вывовид ошибку запрета. Если в адресной строке набрать адрес места где храниться база (\\192.168.1.1\base) выподает запрос на логин и пароль (как при стандартном подключении к сетевому диску). Так вот и надо, что бы логин и пароль к папке с базой (на сервере) указывался через батник.
Вот пример

Код:
net use s: "\\192.168.0.1\1c" /user:login password
"c:\program files\1cv81\bin\1cv8.exe" enterprise /f s:
net use s: /delete
Автор: Kirillhome
Дата сообщения: 31.08.2009 00:06
RcT

Код:
for /L %%i in (1,1,%1) do (
echo %%i
)
Автор: RcT
Дата сообщения: 31.08.2009 00:32
Kirillhome
Спасибо за ответ, конечно, но мне нужно обработать файл построчно, а для этого нужно использовать for /F
Автор: wolf0425
Дата сообщения: 31.08.2009 01:13
RcT


Код: setlocal enabledelayedexpansion

set /a i=0
for /F in (%1) do (
set /a i+=1
echo !i!
)
Автор: NIKZZZZ
Дата сообщения: 31.08.2009 01:27
anachrom

Цитата:
выподает запрос на логин и пароль

Так можно на этот запрос и ответить, послав нужные символы. Если не ошибаюсь, nircmd это умеет.
Автор: wolf0425
Дата сообщения: 31.08.2009 01:44
anachrom

Цитата:
В третих как правилами указать что каталог использовать можно, а вот копировать от туда нельзя, эт как?
А так у тебя и не получится - если 1с работает под текущим пользователем, то пользователю никто не может помешать во время работы 1С зайти эксплорером в тот же каталог, предварительно выяснив с каким ключом запущена 1С.

чего еще можно сделать... перейти на клиент-серверный вариант 1С (благо он у 8.1 есть): там никакие каталоги не шарятся, прямой доступ к файлам базы есть только у сервера. но это стоит хороших денег.

Автор: anachrom
Дата сообщения: 31.08.2009 08:11

Цитата:
А так у тебя и не получится - если 1с работает под текущим пользователем, то пользователю никто не может помешать во время работы 1С зайти эксплорером в тот же каталог, предварительно выяснив с каким ключом запущена 1С.

Вот от этого я и хочу избавиться. Если все ключи указать в батнике, в самом начале которого поставить @echo off, и пережать батник в exe (программ для этого написано достаточно), то пользователь и не узнает откуда что берется. Так вот здесь мы и подошли к самой задаче. Параетры запуска 1с:
"c:\program files\1cv81\bin\1cv8.exe" enterprise /f "\\192.168.0.1\1c"
где:
"c:\program files\1cv81\bin\1cv8.exe" путь до установленной программы
enterprise - запуск 1с в режиме предприятия
/f "\\192.168.0.1\1c" - путь до информационной базы
Но это не суть. Суть в том, что при обычном создании сетевого диска или попытке удаленно забрести на другой компутер полазить по шарам у нас запрашивают логин и пароль. Вот и в моем случае при подключении 1с к сетевому ресурсу, сетевой ресурс запрашивает логин и пароль. Вот и сама задача: как передать этому сетевому ресурсу из командной строки логин и пароль.
Нашел ключ к команде net use, /savecred который вроде и запоминает пароли, и сделать можно батник который при входе будет подключать и отключать сетевой диск с запоминанием пароля. А в дальнейшем опять же перегнать батник в exe, что бы пользователь ничего неувидел. Но вот проблема, параметр /savecred может и работает, только тайным для меня образом. вот мой код :

Код:
@echo off
net use s: "\\192.168.0.1\1c" /user:login password /savecred
net use s: /delete
Автор: 01MDM
Дата сообщения: 31.08.2009 08:42
RcT

Цитата:
что-то наподобие прогресс-бара и процент выполнения.


Такой пример. Прогресс-бар. Здесь главное, чтобы при обработке файла ничего не выводилось в консоль.

Код:
@echo off
setlocal

for /f %%i in (1.txt) do set /a cnt+=1


:: Шаг в прогресс-баре, это ~1/10 часть обработанных строк в файле. Спорно, просто пример.
set /a step=cnt/10
set cnt=0

0>nul set /p=wait [
for /f "tokens=*" %%i in (1.txt) do (
call:progress
1>nul ping -n 1 localhost
)
0>nul set /p=] done
echo.
goto:eof

:progress
set /a cnt+=1
if %cnt%==%step% (
set cnt=0
0>nul set /p=#
)
Автор: Alvick82
Дата сообщения: 31.08.2009 09:00
Подскажите пож-ста можно ли как-то посчитать количество не пустых строк на первом листе в большом кол-ве xls-файлов и сумму вывести в текстовый файлик?
Спасибо.
Автор: RcT
Дата сообщения: 31.08.2009 10:07
wolf0425
01MDM
Спасибо огромное, очень помогли!
Автор: Dem_anywhere
Дата сообщения: 31.08.2009 11:01
anachrom

Цитата:
Так вот нодо, что бы этот логин и пароль указывались к данному пути без подключения сетевого диска

Так просто имя диска в команде не указываешь
net use "\\192.168.0.1\1c" /user:login password
Автор: anachrom
Дата сообщения: 31.08.2009 11:26
Dem_anywhere
Спасибо, как всегда все гениально и просто. Теперь не украдут.

Добавлено:
Интересно вот стало, а обратное действие можно сделать. В смысле забыть пароль и логин неперезагружая компу?
Автор: Ta78Rus
Дата сообщения: 31.08.2009 11:59
Доброго всем времени суток!
Никак не могу реализовать средствами DOS или UNIX-DOS следующую задачу:
-----
Имеется текстовый файл, который надо проверить на наличие определенной строки. Если строка есть - продолжаем выполнение батника далее.
Если строки нет - дописать в искомый файл другой текстовый файл.
----
Ранее с таким не сталкивался, - подскажите?

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778

Предыдущая тема: во вкладке автозагрузка


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