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

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

Автор: klasny
Дата сообщения: 20.09.2007 10:37

Цитата:
klasny
Net use Z: \\192.168.0.2\C$ /User:User_Name user_Password

Добавлено:
Вернее

Net Use \\192.168.0.2 /User:User_Name user_Password

PS. Net /? - очень много интересного узнаешь


Спасибо, работает
Автор: 01MDM
Дата сообщения: 20.09.2007 10:42
dardreams

set /a позволяет использовать переменную без знаков процента
Автор: Elroir
Дата сообщения: 20.09.2007 14:32
01MDM
Rurik
KapralBel
Вообще-то set /a позволяет использовать оператор % (mod).
То есть четность числа или деление на какое-то число без остатка, можно проверять с помощью этого оператора
Автор: KapralBel
Дата сообщения: 20.09.2007 15:02
Elroir
Можно, но короче не станет
Все равно

Код: Set /A
If
Автор: NIKZZZZ
Дата сообщения: 20.09.2007 15:58
KapralBel

Цитата:
Все равно
Set /A
If

Короче не станет, но без IF можно обойтись:

Код: Set /a Swith=x % 2
Goto _%Swith%
:_0
..........
:_1
..........
Автор: KapralBel
Дата сообщения: 20.09.2007 16:52
NIKZZZZ
Elroir
Ну что, кто еще, что придумает для проверки на четность?
Автор: Nagual
Дата сообщения: 20.09.2007 17:02
народ, такая задача, не могу разобраться никак
надо забрать произвольные данные с сайта в переменную, а при ошибке выйти
пример
for /f "tokens=5 delims=>< " %%b in ('curl http://qip.ru/ru/pages/download_qip_ru/^|findstr/i "Build"') do set build=%%b
очень хотется использовать команду, которая в цикле как разделитель, а не использовать ее дважды, то есть если команда завершилась успешно, то продолжить батник, если нет, то выйти из него
можно ли это сделать? и как?
и еще, можно ли заменить стандартными средствами команду в цикле?
Автор: NIKZZZZ
Дата сообщения: 20.09.2007 17:11
KapralBel

Цитата:
Ну что, кто еще, что придумает для проверки на четность?

Ну, можно и от Set /a отказаться.

Код: for /l %%i in (%x%,-2,0) do set xx=%%i
if %xx%==0 (echo even number ) else (echo odd number )
Автор: KapralBel
Дата сообщения: 20.09.2007 17:24
Тогда и IF & FOR лишние


Код: Set na=15
Set no=%na:~-1%
GoTo :l%no%
GoTo :EOF

:l1
:l3
:l5
:l7
:l9
Echo НеЧет
GoTo :EOF

:l0
:l2
:l4
:l6
:l8

Echo Чет
GoTo :EOF
Автор: 01MDM
Дата сообщения: 20.09.2007 18:03

Код:
set n=16
echo %n:~-1% | findstr "0 2 4 6 8" >nul
if %errorlevel%==0 (echo even) else (echo odd)
Автор: king_stiven
Дата сообщения: 20.09.2007 22:50
Nagual
А может так пойдёт

Код: if not defined build goto :EOF
Автор: Nagual
Дата сообщения: 21.09.2007 03:55
king_stiven
именно то, что нужно, спс
Автор: dardreams
Дата сообщения: 21.09.2007 08:34
Парни много лишнего но вот посмотрите исправьте если что не так !

Код:
@echo off
@cls
:::::::::::::::::::::::
@set y=0
@set m=0
@set d=0
@set m=0
@set vis=
@set feb=
@set year=%date:~6,4%"
@set month="%date:~3,2%"
@set day="%date:~0,2%"
if "%year% leq "2006" (goto :m) else (goto :run)
:m
if %month% leq "02" (goto ) else (goto :run)

if %day% lss "23" (echo NO DATE&&goto :eof) else (goto :run)
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:run
if %month%=="08" set month="8"
if %month%=="09" set month="9"
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
for /l %%a in (2000,4,3000) do @(if "%year%=="%%a" (set feb="29"&&set vis="BucokocHblu"&&goto :next) else (set feb="28"&&set vis="HE BucokocHblu"))
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:next
set /a y="%year%-"2006"
set /a m=%month%-"2"
set /a mm=%month%-"1"
@set /a q=(%day%-"23")*-"1"
@set /a qq=(%day%-"23")
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
@if %month%==1 set md=31
if %month%==2 set md=%feb%
@if %month%==3 set md=31
@if %month%==4 set md=30
@if %month%==5 set md=31
@if %month%==6 set md=30
@if %month%==7 set md=31
@if %month%==8 set md=31
@if %month%==9 set md=30
@if %month%==10 set md=31
@if %month%==11 set md=30
@if %month%==12 set md=31
=================================
@if %mm%==1 set md=31
@if %mm%==2 set md=28
@if %mm%==3 set md=31
@if %mm%==4 set md=30
@if %mm%==5 set md=31
@if %mm%==6 set md=30
@if %mm%==7 set md=31
@if %mm%==8 set md=31
@if %mm%==9 set md=30
@if %mm%==10 set md=31
@if %mm%==11 set md=30
@if %mm%==12 set md=31
::-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=::
if %day% lss "23" (set /a y=%y%-1&&set /a m="%m%"-"1"&&set /a d="%md%"-"%q%") else (set /a d="%qq%")
if "%m%"=="-1" set m=11
if "%m%"=="-2" set m=10
::-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=::

:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

::======================================================================::
@col 14&&@echo.&&@echo %y% year %m% month %d% day (%vis%)&&@echo.&&col 10
::======================================================================::
Автор: 01MDM
Дата сообщения: 21.09.2007 10:15
dardreams
ругается на "col", ?
Автор: dardreams
Дата сообщения: 21.09.2007 10:31
01MDM
еще бы это же hs_color )
Автор: 01MDM
Дата сообщения: 21.09.2007 13:55

Цитата:
еще бы это же hs_color


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


Автор: Fors127
Дата сообщения: 21.09.2007 22:48
Можно ли написать такой батник.В идеале: приходишь в офис, запускаешь батник на любом ПК сети и всё готово: т.е. к этой сети и к каждому из её компьютеров можно будет теперь удаленно подключаться! Интересуют три варианта:
1. ПК(динамический IP) подключен прямо к инету
2. Сеть одноранговая обединена простым HUBом. Главный ПК подключен к инету, остальным раздача инета по ICS(динамический IP у всех ПК)
3. Описан в этой теме: http://forum.ru-board.com/topic.cgi?forum=8&topic=23513#1
Задача : одним батником или 3мя батниками (свой для каждого варианта.Запускаем его 1 раз) создать условия, чтобы в каждом варианте обеспечивался удаленный доступ к каждому ПК. Например ipconfig /all >c:\1.txt и отправлять blat ом. Как это сделать, чтобы (после запуска батника) с этих ПК приходили e-mail ы на указанный адрес и по определенному таким образом IP можно было удаленно обратиться к этим ПК, например(и в первую очередь !) Radmin ом. Желательно, чтобы эти e-mailы приходили при подключении к инету(с новым динамическим IP).И чтобы это всё функционировало скрытно: те никаких окон, сообщений, иконок и тд
Автор: cluster
Дата сообщения: 24.09.2007 02:18
ребят, появилась задачка:
написать bat-ник, чтобы удалял все файлы из директории старше недели, а файл созданный в последний день месяца копировал в определённую папку.
Нашёл похожий wsf-скрипт, но он удаляет файлы и в подкаталогах, что не нужно.
Автор: Elroir
Дата сообщения: 24.09.2007 02:35
cluster

Цитата:
а файл созданный в последний день месяца копировал в определённую папку

Последний день какого месяца? Предыдущего? Или последний день любого месяца? Високосные годы учитывать? В каком формате выводится дата файла после команды "for %a in (*.*) do @echo %~ta"?
Автор: olezi
Дата сообщения: 24.09.2007 09:28
 Здраствуйте.
Как, зная среднесуточное отклонение системного времени на компьютере, скорректировать его с помощью bat-файла?
 Спасибо.
Автор: KapralBel
Дата сообщения: 24.09.2007 10:04
olezi
А не проще ли синхронизировать его с серверами точного времени
Автор: cluster
Дата сообщения: 24.09.2007 13:10
Elroir

Цитата:
Последний день какого месяца? Предыдущего? Или последний день любого месяца? Високосные годы учитывать? В каком формате выводится дата файла после команды "for %a in (*.*) do @echo %~ta"?

последний день каждого месяца. високосные? пусть будут.
при запуске команды выводится сообщение:

Код: Следующее использование оператора пути при подстановке параметров
в пакетных файлах является недопустимым: %~ta
Автор: wolf0425
Дата сообщения: 24.09.2007 13:33
cluster

Цитата:
Следующее использование оператора пути при подстановке параметров
в пакетных файлах является недопустимым: %~ta
для батника оба % в строке надо удвоить: for %%a in (*.*) do @echo %%~ta

Автор: Garik_Lugansk
Дата сообщения: 24.09.2007 13:37
Скажите пожалуйста, а можно ли через cmd перезапустить или "Исправить" сетевое подключение?
Перезапустить нашёл, а исправить можно через батник?
Автор: olezi
Дата сообщения: 24.09.2007 13:40
KapralBel
 Интернет есть невсегда.
Автор: Elroir
Дата сообщения: 24.09.2007 13:47
cluster

Цитата:
Следующее использование оператора пути при подстановке параметров
в пакетных файлах является недопустимым: %~ta

Я имел в виду запуск команды из командной строки - не из батника.

Цитата:
для батника оба % в строке надо удвоить: for %%a in (*.*) do @echo %%~ta

Автор: KapralBel
Дата сообщения: 24.09.2007 13:51
olezi
Ну можно через eventtriggers отслеживать соединение с интернетом


Код: EVENTTRIGGERS /Create /EID 20158 /tr Internet-On /tk C:\Internet-On.cmd
Автор: Elroir
Дата сообщения: 24.09.2007 14:09
Garik_Lugansk

Цитата:
Перезапустить нашёл, а исправить можно через батник?

Нет.

Добавлено:
Поторопился с ответом - можно попробовать следующую последовательность команд:

Код: arp -d *
nbtstat -R
ipconfig /flushdns
nbtstat -RR
ipconfig /registerdns
Автор: Garik_Lugansk
Дата сообщения: 24.09.2007 14:50
Elroir
Спасибо, очень помогло.
Автор: cluster
Дата сообщения: 24.09.2007 14:52
Elroir

Цитата:
В каком формате выводится дата файла после команды "for %a in (*.*) do @echo %~ta"?

21.09.2007 23:50

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869

Предыдущая тема: Доступ к реестру через RegEdit?


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