Ru-Board.club
← Вернуться в раздел «Программы»

» Командная строка, батники, сценарии (bat, cmd) 2

Автор: SLasH
Дата сообщения: 27.09.2008 17:34
Elroir
Спасибо большое!!!

Добавлено:
А можно как-нибудь сделать так, чтобы при перенаправлении в файл, там было всё в кодировке cp1251 ?
Делаю так:

Код: @echo off
chcp 1251

"%~dp0\auCDtect.exe" -v -m0 "E:\Temp\01 - Базар - Bivis.wav" > "E:\Temp\auCDtect.log"
Автор: Elroir
Дата сообщения: 27.09.2008 18:48
SLasH
Проще всего использовать утилиты перекодировки xcode или iconv
Автор: SLasH
Дата сообщения: 27.09.2008 19:15
Elroir
Ещё раз спасибо !!!
xcode по описанию рулит
Автор: Birds999
Дата сообщения: 27.09.2008 19:46
Народ, помогите!!!!
Целый день по форуму лазию, нужно решение в CMD пустая директория или нет. Т.е. интересует следующая конструкция:
Если директория не пустая, то выполняем батник, если в директории файлов нет, то завершить работу.
Автор: Elroir
Дата сообщения: 27.09.2008 20:00
Birds999
Предположим, что проверяемая директория - это c:\temp. Тогда:

Код:
@echo off
for %%a in (c:\temp\*.*) do goto next
goto :EOF
:next
::дальше код твоего батника
...
...
Автор: Birds999
Дата сообщения: 27.09.2008 21:48
Спасибо огромное!!! Выручил!
Автор: goodman4444
Дата сообщения: 29.09.2008 18:21
Попробовал несколько ссылок из шапки - ни одна не работает
Может быть, старожилы из закромов выложат утилиты для работы
с BATCH-файлами ?
СПС заранее
Автор: KapralBel
Дата сообщения: 29.09.2008 19:47
goodman4444
А что тебе надо?
Автор: Elroir
Дата сообщения: 29.09.2008 21:51
goodman4444

Цитата:
Попробовал несколько ссылок из шапки - ни одна не работает

Надо же. Я попробовал все ссылки из шапки - не работает только одна, а именно "Пакет утилит для организации интерфейса в bat-файлах".
Автор: guru431
Дата сообщения: 30.09.2008 11:09
Помогите пожалуйста!!!

У меня есть некая переменная вида:
%pnp1%=part1&part2&part3

Как мне получить вторую переменую из этой заменив символы "&" на "*":
%pnp2%=part1*part2*part3
Автор: KapralBel
Дата сообщения: 30.09.2008 11:17
guru431

Код: @Echo Off
Set pnp1=part1^&part2^&part3
Set pnp2=%pnp1:&=*%
set pnp
Автор: guru431
Дата сообщения: 30.09.2008 12:01
Спасибо!!! помогло!

Но появилась проблема - переменная pnp2 у меня получается около 60 знаков.
Мне нужно только первые 40.

Как отрезать остальные?

Добавлено:
Спасибо!!! помогло!

Но появилась проблема - переменная pnp2 у меня получается около 60 знаков.
Мне нужно только первые 40.

Как отрезать остальные?
Автор: KapralBel
Дата сообщения: 30.09.2008 12:52
guru431
Вырезать первые 11

Код: set pnp2=123456789012345678901234567890
set pnp3=%pnp2:~0,11%
set pnp
Автор: guru431
Дата сообщения: 30.09.2008 13:35
Вообщем БОЛЬШОЕ СПАСИБО KapralBel!!!

Всё, что я хотел получилось!

Кому интересно выкладываю:


:: Новое имя Локального подключения
set name1=Lan

:: Новое имя Беспроводного подключения
set name2=Wi-Fi

:: Новый Mac-адрес Локального подключения
set mac1=0013d409a812

:: Новый Mac-адрес Беспроводного подключения
set mac2=0013d409a812

set reged=HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control

:: _____Lan______________________________________________________

:: Определение %netnum1% (н.п. 0008)
FOR %%A IN (0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 0020) DO (REG QUERY %reged%\Class\{4D36E972-E325-11CE-BFC1-08002bE10318}\%%A\Ndi\Params\NetworkAddress /v type | findstr /i /v ",edit" | findstr /i edit > nul: 2>&1 && SET netnum1=%%A)

:: Определение %netcfg1% (н.п. {E7CD9D89-0B1A-41CC-9C12-7871C8B71F74})
FOR /F "skip=4 tokens=3" %%A IN ('REG QUERY %reged%\Class\{4D36E972-E325-11CE-BFC1-08002bE10318}\%netnum1% /v NetCfgInstanceId') DO SET netcfg1=%%A

:: Определение %pnp1% (н.п. PCI\\VEN_1969&DEV_1048&SUBSYS_82261043&REV_B0\\4&38D2602C&0&00E1)
FOR /F "skip=4 tokens=3" %%A IN ('REG QUERY %reged%\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}\%netcfg1%\Connection /v PnpInstanceID') DO SET pnp1=%%A

:: Переименовывание подключения
REG ADD "%reged%\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}\%netcfg1%\Connection" /V Name /t REG_SZ /D "%name1%" /f

:: При подключения вывести значек в области уведомлений
REG ADD "%reged%\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}\%netcfg1%\Connection" /V ShowIcon /t REG_DWORD /D 1 /f

:: Изменение Mac-адреса
REG ADD "%reged%\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}\%netnum1%" /V NetworkAddress /t REG_SZ /D %mac1% /f

:: Приводим %pnp1% к необходимым требованиям devcon
set pnp1a=%pnp1:&=*%
set pnp1b=%pnp1a:~0,44%

:: Перезагружаем Lan
devcon disable %pnp1b%
devcon enable %pnp1b%

:: _____Wi-Fi_____________________________________________________

:: Определение %netnum2% (н.п. 0008)
FOR %%A IN (0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 0020) DO (REG QUERY %reged%\Class\{4D36E972-E325-11CE-BFC1-08002bE10318}\%%A\Ndi\Interfaces /v LowerRange | findstr /i /v ",ethernet,wifimon" | findstr /i "ethernet,wifimon" > nul: 2>&1 && SET netnum2=%%A)

:: Определение %netcfg2% (н.п. {E7CD9D89-0B1A-41CC-9C12-7871C8B71F74})
FOR /F "skip=4 tokens=3" %%A IN ('REG QUERY %reged%\Class\{4D36E972-E325-11CE-BFC1-08002bE10318}\%netnum2% /v NetCfgInstanceId') DO SET netcfg2=%%A

:: Определение %pnp2% (н.п. PCI\\VEN_1969&DEV_1048&SUBSYS_82261043&REV_B0\\4&38D2602C&0&00E1)
FOR /F "skip=4 tokens=3" %%A IN ('REG QUERY %reged%\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}\%netcfg2%\Connection /v PnpInstanceID') DO SET pnp2=%%A

:: Переименовывание подключения
REG ADD "%reged%\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}\%netcfg2%\Connection" /V Name /t REG_SZ /D "%name2%" /f

:: При подключения вывести значек в области уведомлений
REG ADD "%reged%\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}\%netcfg2%\Connection" /V ShowIcon /t REG_DWORD /D 1 /f

:: Изменение Mac-адреса
REG ADD "%reged%\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}\%netnum2%" /V NetworkAddress /t REG_SZ /D %mac2% /f

:: Приводим %pnp2% к необходимым требованиям devcon
set pnp2a=%pnp2:&=*%
set pnp2b=%pnp2a:~0,44%

:: Перезагружаем Wi-Fi
devcon disable %pnp2b%
devcon enable %pnp2b%
Автор: GRom V
Дата сообщения: 02.10.2008 08:09
Может кто сталкивался......стоит родной виндовый файервол. операционка ХП. Комп на пинг не отвечает. Нужно переодически пинговать комп. Как открыть эту возможность с командной строки?
Автор: KapralBel
Дата сообщения: 02.10.2008 11:57
GRom V
ping -t comp1
Автор: vserd
Дата сообщения: 02.10.2008 12:28
GRom V

Цитата:
стоит родной виндовый файервол. операционка ХП. Комп на пинг не отвечает. Нужно переодически пинговать комп. Как открыть эту возможность с командной строки?

Смотри в сторону netsh firewall.

KapralBel

Цитата:
ping -t comp1

Ему не пинговать комп нужно, а дать и забрать разрешение на входящее эхо (ping) в файрволе.
Автор: amt2001
Дата сообщения: 02.10.2008 16:39
Здравствуйте!

При попытке на ХРSP2 запустить в батнике start /wait sfc.exe /scannow не происходит ожидания окончания процесса. Подозрение на синтаксис, но кавычки (двойные и одинрные) не помогают.
sfc - system file controller -виндовая утилита проверки ЭЦП системных файлов

В чем может быть причина? Спасибо.
Автор: pan812
Дата сообщения: 02.10.2008 19:38
Hello ALL!

Дано:


Код: set /P us="Введите LOGIN (domain\login): "
echo %us%

set /P pas="Введите пароль: "
echo %pas%
Автор: vladshishkin
Дата сообщения: 02.10.2008 20:48
как в командной строке выполнить действие - ОБНОВИТЬ (все окна windows PS )
Автор: gryu
Дата сообщения: 02.10.2008 21:00
pan812
Тфу блин.
Ступил.
eсho это как раз указание ОТОБРАЗИТЬ на экране переменную %pas%

Автор: GRom V
Дата сообщения: 03.10.2008 02:50
vserd

Цитата:
Смотри в сторону netsh firewall.

Спасибки...- netsh firewall ipv4 set icmpsetting type=8
Автор: crom86
Дата сообщения: 03.10.2008 09:35
Привет всем.
Нужна помощь.
Задача: осуществить обновление некоторой папки на ПК пользователей с моей машины. Т. е. проверить, есть ли такая папка, если да то очистить её и скопировать новые файлы с сервера \ моего ПК, создать на рабочем столе ярлыки. Причем делается это .cmd файлом, который копируется на ПК пользователя и выполняется от определенного имени, например psexec’ом.
Полазив пару дней по форуму наваял следующее:

Psexec @list.txt -u домен\пользователь -p пароль -c obnovlenie.cmd

Сам .cmd:
:begin
@if not exist c:\program goto not
@echo "connection - OK, c:\program - OK. Pres ENTER to continue"
@pause >nul
cd /d c:\program
rd /s /q c:\program >nul
net use w: \\10.30.120.5\program /persistent:no
xcopy /i /e /y /h /z /c w:\ c:\program 2>>c:\xcopy.log
copy /y c:\program\main.lnk "c:\Documents and settings\All users\desktop\"
copy /y c:\ program\sub.lnk "c:\Documents and settings\All users\desktop\"
copy /y c:\ program\main.lnk "c:\Documents and settings\All users\Рабочий стол\"
copy /y c:\ program\sub.lnk "c:\Documents and settings\All users\Рабочий стол\"
:end
@exit /b
:not
@echo "c:\program does not exist, pres ENTER to continue"
@pause >nul
@goto end

Вроде работает. Но я в сценариях вообще 0 – это мой первый опыт. Поэтому: что тут плохо, как можно лучше, могут ли быть какие-либо затыки.
Хотелось сделать так: xcopy /i /e /y /h /z /c w:\ c:\program >nul и чтобы после копирования показыл сколько файлов скопировано (и если возможно общий размер), но как – не знаю.
PS: где можно книги какие посмотреть по командной строке\bat\cmd.
Заранее спасибо всем.
Автор: vitrzn
Дата сообщения: 03.10.2008 20:12
поскажите в чём трабл

вот сам батник, точнее строка

бла бла бла

cd E:\Veda\Obnobki\
start /w E:\Veda\Obnobki\run.cmd

а вот батник run.cmd
php -f indexWse.php

т.е. идёт запуск одного батника из другого, и процесс зависает и не делает то что нужно

если запустить run.cmd в ручную, то всё ОК

так тоже не работает
cd E:\Veda\Obnobki\
start /w run.cmd
Автор: Taciturn
Дата сообщения: 03.10.2008 21:51
vitrzn
Вместо start используй call.
Автор: SLasH
Дата сообщения: 03.10.2008 23:14
vitrzn
используй start, но убери параметр /w
Автор: Elroir
Дата сообщения: 04.10.2008 00:30
vitrzn
А мне кажется, что можно сделать одним батником:

Код:
cd E:\Veda\Obnobki\
start /wait php -f indexWse.php
Автор: pav4
Дата сообщения: 04.10.2008 08:43
люди есть проблема с батником, при скармиливании большой строки выдает ошибку: "Слишком длинная входная строка". Как увеличить размер этой строки(буфера)?
Автор: vitrzn
Дата сообщения: 04.10.2008 09:08
Огромное СПАСИБО ВСЕМ кто откликнулся !!!

Taciturn
SLasH
Elroir

Но команда Call которую предложил Taciturn решила весь трабл !
Автор: mypka123
Дата сообщения: 04.10.2008 12:43
Доброе время суток уважаемые форумчане, вот сейчас столкнулся с задачкой:
Значит есть у мя сервачок дома который раздает торрентики, так вот есть небольшая трабла иногда сетка вырубается и только после перезагрузки опять появляется...
так вот нужен небольшой батничик который ну например.. пинговал постоянно впн сервак а если пинга с ним нет просто перезагружал сервер и усё. Помогите плиз.

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172

Предыдущая тема: DVD-video (ДВД-видео) - что и как (часть 3)


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