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

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

Автор: mozers
Дата сообщения: 31.08.2007 08:56
Elroir
Спасибо за подсказку! Вот что получилось:
NetViewer.cmd
Код: @[no]ECHO[/no] OFF
[no]:: Выводит список компов в сети в виде Имя - Адрес - Доступные шары[/no]
[no]FOR[/no] /F "tokens[no]=[/no]1 delims[no]=[/no]\ " [no]%%n[/no][no] IN[/no] ('net view^[no]|[/no]FIND "\\"')[no] DO[/no] (
[no]FOR[/no] /F "tokens[no]=[/no]2 delims[no]=[/no][]" [no]%%i[/no][no] IN[/no] ('ping -a -n 1 -w 0 [no]%%n[/no]^[no]|[/no]FIND "["')[no] DO[/no] (
[no]ECHO[/no] [no]%%i[/no] [no]%%n[/no]
[no]REM ~ NET VIEW \\%%n|FIND " "[/no]
[no]FOR[/no] /F "tokens[no]=[/no]1,2,3,4 delims[no]=[/no] " [no]%%a[/no][no] IN[/no] ('net view \\[no]%%n[/no]^[no]|[/no]FIND " "')[no] DO IF[/no] "[no]%%b[/no]"[no]==[/no]"Disk" (ECHO [no]%%b[/no]: \\[no]%%n[/no]\[no]%%a[/no])[no] ELSE IF[/no] "[no]%%b[/no]"[no]==[/no]"Print" (ECHO [no]%%b[/no]: \\[no]%%n[/no]\[no]%%a[/no])
)
)
Автор: OOD
Дата сообщения: 31.08.2007 09:26
Помогите плиз сделать батник, который в случае появления в папке файлов смотрел на дату их создания и перемещал в папки с именами по датам создания этих файлов... т.е. своеобразный файловый сортировщик...
Автор: Maza Faka
Дата сообщения: 31.08.2007 14:09
OOD
Батник сортирует файлы по дате последней модификации.
Выделенный путь заменишь на нужный тебе:

Код:
@echo off
set folder=c:\test
for %%a in (%folder%\*.*) do call :sub "%%a" %%~ta
pause
goto :eof

:sub
set var=%2
set i_date=%var:~0,10%
if exist %folder%\%i_date% (
move %1 %folder%\%i_date%
) Else (
md %folder%\%i_date%
move %1 %folder%\%i_date%
)
)
Автор: Elroir
Дата сообщения: 31.08.2007 14:41
Rotorina

Цитата:
user может быть не user, а the subscriber, the person...
Список этих замен невелик, необходимо, чтоб он выбирался произвольно из заданных 10-15ти штук.

Вот начало батника:

Код:
@echo off
setlocal enabledelayedexpansion
set "0=userA" & set "1=userB" & set "2=userC"
set "3=userD" & set "4=userE" & set "5=userF"
set "6=userG" & set "7=userH" & set "8=userI"
set "9=userJ"
set "user=!%random:~-1%!
...
...
Автор: Rotorina
Дата сообщения: 31.08.2007 15:06
как добавить в файл пустую строчку?

Код:
echo 111111>>1.txt
echo 222222>>1.txt
echo пустая_строка>>1.txt
Автор: Elroir
Дата сообщения: 31.08.2007 15:09
Rotorina

Код: echo.>>1.txt
Автор: Rotorina
Дата сообщения: 31.08.2007 15:20
Elroir
Сенкс!
Автор: OOD
Дата сообщения: 31.08.2007 15:25
Maza Faka

Цитата:
@echo off
set folder=c:\test
for %%a in (%folder%\*.*) do call :sub "%%a" %%~ta
pause
goto :eof

:sub
set var=%2
set i_date=%var:~0,10%
if exist %folder%\%i_date% (
move %1 %folder%\%i_date%
) Else (
md %folder%\%i_date%
move %1 %folder%\%i_date%
)
)

Большое спасибо вы очень помогли
Автор: Rotorina
Дата сообщения: 31.08.2007 15:29
Elroir
set "user=!%random:~-1%! добавляет лишний пробел
set "user=!%random:~-1%!" вот так то что надо

Добавлено:
Если я ещё не надоел:
echo 111>>1.txt
скрытым фалик как создать или сразу же скрывать после создания?
Автор: Elroir
Дата сообщения: 31.08.2007 15:59
Rotorina

Цитата:
set "user=!%random:~-1%!" вот так то что надо

Ага - это я кавычку забыл поставить.


Цитата:
скрытым фалик как создать?

Создать его скрытым нельзя. Можно после создания сделать его скрытым командой

Код: attrib +h 1.txt
Автор: Rotorina
Дата сообщения: 31.08.2007 16:18
Спасибо Большое!
За всё пребываение на форуме в данной ветке я многому научился, хоть и было множество вопросов, но всё же благодаря вашей помощи, в частности Elroir, удалось найти на них ответы.
В 85-90% прежде чем спросить - искал в интернете подсказки, читал, ковырял faq, но было безуспешно.
Вы, не поверите, даже самый на первый взгял просто вопрос: как создать пустую строку в файле через echo? оказался довольно таки сложным. Знатоки из паралельной ветки не смогли ответить (общались по icq), без обид.
На данный момент написано мною (с вашей помощью) много (в моём понимании) батничков, хоть и мелких, но полезных, таких как: работа с файлами, папками, реестрами, и даже накрутка аплоада и давнлоада на любом существующем трекере.
Ещё раз спасибо, особенно Elroir-у, у которого так много терпения!


Добавлено:
кстати, решил проблему с nc.exe:

Код:
start /b nc -v 192.168.168.168 80 < form.txt >nul
taskkill /f /im nc.exe >nul
Автор: BELOV
Дата сообщения: 01.09.2007 19:36
Мне для работы через РАдмин нужно получить текущий IP ПК в офисе. М.ли это сделать СКРЫТНО с помощью nnCron или подскажите другой способ получать текущий IP ПК в офисе. М. например через регулярную отсылку мне по почте письма, но никак не могу настроить Планировщик ВАТа, чтобы он отсылал сообщения при незапущенном ВАТе (при запущенном работает ОК) Другие варианты: DynDNS , NO-IP вроде видны в работе и не обеспечивают скрытность.
Автор: slech
Дата сообщения: 01.09.2007 19:59
BELOV
используй встроенный планировщик ipconfig >>ip.txt а потом blat из шапки.
а вообще есть утилитка IP Mailer 2004

IP у тебя какой ? RFC 1918 или реальный ?
Автор: BELOV
Дата сообщения: 01.09.2007 21:13
slech
IP Mailer 2004 , это то, что нужно! НО где таблетка?
PS: в офисе все IP динамические
Автор: mozers
Дата сообщения: 01.09.2007 21:54
BELOV
У меня была аналогичная ситуация.
Сначала сделал батничек для дозвона, который сразу после соединения, с помощью blat отсылает мне письмо с ip адресом. Вот кусочек:
Код: rasdial SkyLink mobile internet
[no]IF[/no] [no]%ERRORLEVEL%[/no] NEQ 0[no] EXIT[/no] /B 1
[no]SET[/no] LOG[no]=[/no]C:\ip.txt
[no]DATE[/no] /T [no]>[/no] [no]%LOG%[/no]
[no]TIME[/no] /T [no]>>[/no] [no]%LOG%[/no]
ipconfig[no]|[/no]FIND "IP-"[no]|[/no]FIND "217" [no]>>[/no] [no]%LOG%[/no]
c:\bin\blat.exe [no]%LOG%[/no] -server smtp.xyz.ru -u mozers -pw password -f mozers@xyz.ru -to mozers@xyz.ru -subject IP_Report
Автор: BELOV
Дата сообщения: 01.09.2007 22:13
mozers
OK. Интересно.Изучаю.
PS: Линк на SuperScan не работает.
Автор: Rotorina
Дата сообщения: 02.09.2007 16:54
Есть файлики вида: 5.001, 1.023, 5.099, 51.023, 198.001...
Необходимо выполнить двойную сортировку по расширению и имени:
5.001, 198.001, 1.023, 51.023, 5.099
и содержимое в таком же порядке записать в один (указанный в батнике под определённым именем) файлик.
Ваши предложения?
Автор: gegug
Дата сообщения: 02.09.2007 17:21
как при помощи батника сохранить инфу на определенную прогу из реестра в файл reg, чтобы потом можно было его запустить если значение в реестре было изменено?
Автор: Rotorina
Дата сообщения: 02.09.2007 17:33
gegug
Тут обсуждается то, что тебе надо:
http://forum.ru-board.com/topic.cgi?forum=62&topic=7381&start=300
Автор: slech
Дата сообщения: 02.09.2007 17:43
gegug
для XP можно использовать утилиту reg.exe

reg export HKLM\Software\Microsoft bk.reg

reg import bk.reg

Работает и на 2k, только там этой утилиты нету по умолчанию.
Автор: BELOV
Дата сообщения: 02.09.2007 23:06

slech
Посмотри:
http://forum.ru-board.com/topic.cgi?forum=35&topic=34899#6

Цитата:
PS:Всё настроил.ОК! Ещё вопрос: при загрузке ПК (инет ещё не подключен)IP Mailer выдает сообщение об ошибке, с предложением отправить лог в MS. Как вообще IP Mailer относится к отключенному инету: ждёт когда подключатся (и дальше работает по программе)или сообщает об ошибке?

Автор: dmjoker
Дата сообщения: 03.09.2007 01:45
Доброй ночи (утра, дня, вечера)!

Прошу прощения, если этот вопрос уже задавался (честно не осили прочесть 96 страниц, хотя офигенно интересно).

Задача в том, чтобы скрыть некое приложение win32, запущенное из батника не только с рабочего стола, но и из "диспетчера задач". У самого приложения такой функции естественно нет. Т.е. цель запустить программу (например winamp.exe), но так, чтобы юзер не мог ее увидеть стандартными средствами.

доп. вопрос - можно ли скрывать процессы из "диспетчера задач", зная их имя.

Задаю вопрос в связи с тем, что юзеры замучали закрывать клиента базы данных, занимающегося синхронизацией (замену софта не предлагать, ибо не я этим занимаюсь. Отключить диспетчер задач тоже не вариант.)

Заранее спасибо!
Автор: Maza Faka
Дата сообщения: 03.09.2007 06:31
dmjoker

Цитата:
можно ли скрывать процессы из "диспетчера задач"

При помощи батника - нет!
Автор: ali1977
Дата сообщения: 03.09.2007 15:28
подскажите пжалста где у нас на форуме можно найти батник (если он был ваще - искал в батниках, ниче не нашел) чтоб настоить его так чтоб он каждый день определенный файл (или папку) копировал по сети с другого компа упаковывал раром и прожигал его на болванку на моем компьютере
Автор: JekaRus
Дата сообщения: 03.09.2007 15:47
Использую много батников для управления удаленной системой. Для запуска процессов использую утилиту от sysinternals psexec.exe. Для запуска процесса приходится копировать исполняемый файл в папку C:\Temp, но некоторые нужно запускать из system32. Как запустить такой процесс, если неизвестно имя системной папки? Например я копирую файл в \\%1\admin$\system32. Для запуска процесса необходимо указать источник файла. Но если указать переменную %systemroot%, то будет использовано имя текущей системы а не удаленной. Как можно указать %systemroot% удаленной?
Автор: KapralBel
Дата сообщения: 03.09.2007 16:04
JekaRus
admin$ как раз ссылается на %SystemRoot%
Автор: OOD
Дата сообщения: 03.09.2007 21:16
подскажите есть ли у кого нибуть батник позволяющий менять одно содержимое группы файлов на другое:
допустим есть группа файлов *.txt в них во всех нужно заменить кодировку cp1251 на utf8_bin можно ли как либо это сделать батником?
Автор: 01MDM
Дата сообщения: 03.09.2007 21:52
OOD
Можно при помощи какой-либо утилиты для перекодирования
Например

Код:
@echo off
md new
for /f %%i in ('dir /b *.txt') do (iconv -f cp1251 -t utf-8 %%i > new\%%i)
Автор: OOD
Дата сообщения: 03.09.2007 21:55
01MDM
Нет нет нужно изменить не кодировку а просто текст внутри файла...
файлы вооще html загранные в txt
Автор: 01MDM
Дата сообщения: 03.09.2007 22:08
OOD
т.е изменить строку где указывается кодировка?

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879

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


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