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

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

Автор: Evgeniy15
Дата сообщения: 10.09.2007 23:37
Тогда имя папки будет выглядеть 123.01, а мне нужно 123-01.
Автор: Elroir
Дата сообщения: 10.09.2007 23:38
Стоп. Не так. Вот правильный вариант:

Код:
@echo off
setlocal enabledelayedexpansion
for /d %%a in (*.*) do (
set "dir_name=%%~na"
set "dir_ext=%%~xa"
for %%b in (1 2 3 4 5 6 7 8 9 0) do if "!dir_name:~0,1!"=="%%b" set "doit=yes"
if defined doit (
set "dir_name=!dir_name:.=-!"
if "!dir_ext:~2,1!"=="" set "dir_ext=-0!dir_ext:~1!"
ren "%%a" "!dir_name!!dir_ext!"
set "doit="))
Автор: Evgeniy15
Дата сообщения: 10.09.2007 23:48
Не, этот вариант поменяет "." на "-" только там, где допишет "0"
Автор: Elroir
Дата сообщения: 11.09.2007 00:28
Evgeniy15

Цитата:
Не, этот вариант поменяет "." на "-" только там, где допишет "0"

Прав
Тогда так:

Код:
@echo off
setlocal enabledelayedexpansion
for /d %%a in (*.*) do (
set "dir_name=%%~na"
set "dir_ext=%%~xa"
if defined dir_ext set "dir_ext=-!dir_ext:~1!"
for %%b in (1 2 3 4 5 6 7 8 9 0) do if "!dir_name:~0,1!"=="%%b" set "doit=yes"
if defined doit (
set "dir_name=!dir_name:.=-!"
if "!dir_ext:~2,1!"=="" set "dir_ext=-0!dir_ext:~1!"
ren "%%a" "!dir_name!!dir_ext!"
set "doit="))
Автор: Elroir
Дата сообщения: 11.09.2007 04:20
sv9205

Цитата:
Как возможно завернуть автоматом все сразу, WinRAR архивы второй раз?(по два архива в один независимо).


Код:
@echo off
setlocal enabledelayedexpansion
set "counter=1"
for %%a in (*.rar) do call :archive "%%a"
if defined files rar a -m0 "!name!_pair.rar" !files!
goto :EOF
:archive
if defined files (
set "files=!files! %1"
set "pair=second"
set "name=!name!_%~n1"
) else (
set "files=%1"
set "pair=first"
set "name=%~n1"
)
if "!pair!"=="second" call :compress %1
goto :EOF
:compress
set "count=!counter!"
if !count! LSS 10 set "count=0!count!"
rar a -m0 "!name!_pair.rar" !files!
set /a "counter+=1"
set "files="
)
Автор: Evgeniy15
Дата сообщения: 11.09.2007 17:46
Elroir


Спасибо, это работает!
Правда я так и не разобрался с синтаксисом.
Где можно почитать?
Автор: KapralBel
Дата сообщения: 11.09.2007 18:02
Evgeniy15
IF /?
FOR /?
SETLOCAL /?
Автор: Rotorina
Дата сообщения: 14.09.2007 09:44
Как при помощи батника подключить диск машины из локалки?
Автор: vserd
Дата сообщения: 14.09.2007 10:09
Rotorina

Цитата:
Как при помощи батника подключить диск машины из локалки?

Net use /? тебе поможет
Автор: Rotorina
Дата сообщения: 14.09.2007 11:58
vserd
Что не так?

Код:
net use E: name_in_my_computer \\computer_name\katalog user passwd
Автор: KapralBel
Дата сообщения: 14.09.2007 12:05
Rotorina

Код: Net use E: \\Computer_Name\Katalog /User:User_Name User_Password
Автор: Elroir
Дата сообщения: 14.09.2007 12:10
Rotorina
Правильно так:

Код: net use E: \\computer_name\katalog passwd /USER:user
Автор: Rotorina
Дата сообщения: 14.09.2007 12:10
всё просто

Цитата:
Net use E: \\Computer_Name\Katalog

так заработало
сенкс
Автор: Elroir
Дата сообщения: 14.09.2007 12:11
KapralBel
Не увидел, что ты уже ответил
Автор: Rotorina
Дата сообщения: 14.09.2007 19:04
Нужен батник, который такую картинку - [] преобразует вот в эту - []
Автор: Elroir
Дата сообщения: 14.09.2007 19:13
Rotorina

Цитата:
Нужен батник, который такую картинку - [] преобразует в эту - []

В тексте поменять : gigi : на : lol : ?
Автор: Rotorina
Дата сообщения: 14.09.2007 19:14
Elroir
Неет, нужно вот эту картинку [] развернуть и заставить дивагстья вот так - []
Автор: Elroir
Дата сообщения: 14.09.2007 19:23
Rotorina
Как говорил известный персонаж мультика - "ничего не понимаю"!
Картинки, про которые ты говоришь, подставляет движок форума вместо кодов :гиги: и :лол: (латинскими буквами). При этом, я не понимаю, что тебе требуется заменить и где.
Автор: VeenK
Дата сообщения: 14.09.2007 19:58
Люди помогите советом =)
Батник запускает последовательно 2 процесса(проги). Как при завершении первого сделать автоматическое завершение второго? И возможно ли закрытие самого батника после запуска последнего процесса без ожидания его завершения ?
Расскажите или киньте умную ссылку плиз )
Автор: Rotorina
Дата сообщения: 14.09.2007 20:05
Elroir
Я имел ввиду развернуть изображение и сделать его анимированным, что аж никак невозможно.
Сорри, если вынудил напрячься и оторвал время. Сегодня ж пятница ) . Думал, сразу станет ясно что к чему
Автор: Elroir
Дата сообщения: 14.09.2007 20:06
VeenK

Цитата:
Как при завершении первого сделать автоматическое завершение второго?

Автоматически - никак. Нужно настроить постоянную проверку существования данного процесса (tasklist.exe) и в тот момент, когда его "не окажется в живых", убить второй процесс (taskkill.exe).

Цитата:
И возможно ли закрытие самого батника после запуска последнего процесса без ожидания его завершения ?

Запускай процессы командой "start /b "" process.exe" - батник не будет ожидать их завершения и закроется после запуска последнего.

Добавлено:
Rotorina
Все нормально
Автор: VeenK
Дата сообщения: 14.09.2007 23:31

Цитата:
Нужно настроить постоянную проверку существования данного процесса (tasklist.exe) и в тот момент, когда его "не окажется в живых", убить второй процесс (taskkill.exe).

А можно поподробней ...
1. Как анализировать полученный с помощью tasklist.exe результат?
2. Как организовать постоянный контроль за процессом в фоновом режиме (если это ваще возможно)?
Прошу прощение за возможно очевидные вопросы просто я не очн силен в батниках
Автор: Elroir
Дата сообщения: 15.09.2007 05:45
VeenK

Цитата:
А можно поподробней ...

Можно.
Первый батник start_procs.cmd :

Код:
@echo off
start notepad.exe
hstart /nowindow kill_second_process.cmd
start calc.exe
Автор: KBJ
Дата сообщения: 15.09.2007 23:40
Ребята, можно ли решить задачу с помощью батника ?:

нужно поменять IP, маску, шлюз на строго одном сетевом соединении. Из исходных данных известно, что сейчас IP вида 192.168.1.х. Так как имя соединения неизвестно, а соединений может быть несколько не могу "в лоб" воспользоватся netsh interface ip set.
Автор: VeenK
Дата сообщения: 16.09.2007 17:27
Elroir

Цитата:
Во время работы второго батника, процессор грузится на 100 процентов.

Меня чет это не очень устраивает =))
Я думал о том, чтобы при завершени процесса автоматически запускался батник и убивал 2 процесс. Скорее всего это можно реализовать токо дописав в прогу с дизассеблированием. Все равно спасибо за помощь.

а еще ...

Цитата:
в разделе "Полезные утилиты"

Наверно я просто слепой но такого раздела не нашел
Автор: Elroir
Дата сообщения: 16.09.2007 18:23
VeenK

Цитата:
Наверно я просто слепой но такого раздела не нашел

Да нет - не слепой. Это я не обратил внимание, что отвечаю в теме "Командная строка, батники, сценарии (bat, cmd)", а не в "Задачи на bat-файлах 4", в шапке которой, действительно есть соответствующий раздел.


Цитата:
Во время работы второго батника, процессор грузится на 100 процентов.
Меня чет это не очень устраивает =))

Дело в том, что процессор грузится потому, что постоянно идет опрос - есть ли данный процесс в памяти. Если сделать паузу между опросами в 2 секунды - такой загрузки уже не будет.
Автор: Maza Faka
Дата сообщения: 16.09.2007 18:34
KBJ
Попробуй:

Код:
@echo off
chcp 1251>nul

for /f "tokens=1 delims=[]" %%a in (
'ipconfig ^| find /n "192.168.1.1"') do set number=%%a & goto :sub

:sub
set /a count=%number%-4
for /f "tokens=1 delims=-" %%b in ('
ipconfig ^| more +%count%') do set "name=%%b" & goto :show

:show
set name=%name:~0,-1%
echo %name%
Автор: KBJ
Дата сообщения: 16.09.2007 21:52
Maza Faka
Супер! Работает. Но не годится для случаев, если на одном интерфейсе назначено два IP (бывает и такое), т.к. выдаёт имя только при поиске IP самого меньшего (из, например, двух 192.168.0.1 и 192.168.1.1 - только для первого). Но это редкий случай, можно не учитывать.

А можно ли реализовать ещё это:
в некую переменную IP считать текущий IP (из найденно по маске 192.168.1.х) и чтением из файла произвести замену её значения по заданному типу: если 192.168.1.1 - то станет 192.168.0.1, 192.168.1.2 -> 192.168.0.22 и т.д.?
Автор: Maza Faka
Дата сообщения: 17.09.2007 07:04
KBJ
Можно, тупо сравнивая строки:

Код:
If %IP%==192.168.1.1 set IP=192.168.0.1
И т. д.
Автор: RedGeek
Дата сообщения: 17.09.2007 09:51
Уважаемые, прошу поучавствовать в опросе на тему:
Создание программы для оптимизации компьютера
Думаю, она будет весьма полезна для нашего брата админа (поставил и забыл, а она оптимизирует себе ).

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879

Предыдущая тема: Problemi s zagruzkoy XP!


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