Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » Командная строка, батники, сценарии (bat, cmd)

Модерирует : gyra, Maz

Widok (19-11-2007 12:08): лимит страниц. продолжаем здесь  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118

   

KLASS



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Командная строка, батники\сценарии (bat, cmd)
Вопросы, задачи и их решения по работе с командной строкой, файлами, а также сопутствующие ссылки.

 
Важно: копируя батник через буфер обмена из форума не забывайте удалять пробелы в конце каждой строки, т.к. в некоторых случаях из-за этого программа будет работать неправильно!!!
 
Примечание: Большие куски кода заключайте в тэг [more]  
 
Смежные темы:
В помощь системному администратору » Автоматизация администрирования
Microsoft Windows » Задачи на bat-файлах 4
 
Полезные ссылки:
· Cmd. Описание от разработчиков
· Урок bat-аники (для начинающих)
· Набор GNU утилит для win32
· Пакет утилит для организации интерфейса в bat-файлах
· Использование ansi.sys
· cmdow — изменение параметров и видимости дос-окна
· blat — отправка почты из консоли
· Справка по командам в виде Html
· Команды RunDll32
· Quick Batch File Compiler - Позволяет превратить ваш батник в независимое приложение
· Пример - получение и обработка списка пользователей
 
 
Старая версия первого сообщения

Всего записей: 9735 | Зарегистр. 12-10-2001 | Отправлено: 04:28 24-09-2002 | Исправлено: Elroir, 19:35 11-09-2007
OOD

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
подскажите есть ли у кого нибуть батник позволяющий менять одно содержимое группы файлов на другое:
допустим есть группа файлов *.txt в них во всех нужно заменить кодировку cp1251 на utf8_bin можно ли как либо это сделать батником?

Всего записей: 3341 | Зарегистр. 20-05-2006 | Отправлено: 22:16 03-09-2007
01MDM



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
OOD
Можно при помощи какой-либо утилиты для перекодирования
Например

Код:
 
@echo off
md new
for /f %%i in ('dir /b *.txt') do (iconv -f cp1251 -t utf-8 %%i > new\%%i)
 

 
iconv понимает 117 кодировок

Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 22:52 03-09-2007
OOD

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
01MDM
Нет нет нужно изменить не кодировку а просто текст внутри файла...
файлы вооще html загранные в txt

Всего записей: 3341 | Зарегистр. 20-05-2006 | Отправлено: 22:55 03-09-2007
01MDM



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
OOD
т.е изменить строку где указывается кодировка?
 

Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 23:08 03-09-2007
OOD

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
01MDM
изменить слова "old" на "new" файлов *.txt
 

Всего записей: 3341 | Зарегистр. 20-05-2006 | Отправлено: 23:16 03-09-2007
Rotorina



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Как в батнике выполнить математическое действие:

Код:
 
@echo off
set /p "gb=Enter number (in Gb): "  
::перевод в байты
set "byte=%gb%*1024*1024*1024"
echo %byte% bytes
 


Всего записей: 109 | Зарегистр. 03-08-2007 | Отправлено: 23:34 03-09-2007 | Исправлено: Rotorina, 00:45 04-09-2007
01MDM



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Rotorina
 
set /a и надо умножать
 
OOD

Код:
 
@echo off
for /f %%i in ('dir /b *.txt') do (
        set "file=%%i"
        call:sub1
)
goto:eof
:sub1
for /f "delims=" %%i in ('type %file%') do (
    set "str=%%i"
    call:sub2
    )
goto:eof
:sub2
set "str=%str:old=new%"
echo %str% >> new%file%.txt
 

Но боюсь что с html-форматированием не прокатит, а поиск и замену по рег.выр. я знаю плохо.
 

Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 23:54 03-09-2007
Rotorina



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
спасибо, работает
но при больший значения, показывает 0
1024^4 уже не считает
с нецелыми числами тоже не хочет

Всего записей: 109 | Зарегистр. 03-08-2007 | Отправлено: 00:53 04-09-2007 | Исправлено: Rotorina, 01:05 04-09-2007
KapralBel



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Rotorina
Тогда используй другие скриптовые языки
Например, входящие в WSH (JS or VBS) или powerShell

Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 01:12 04-09-2007
Rotorina



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
KapralBel
других не знаю, и понятие не имею как выглядят (

Всего записей: 109 | Зарегистр. 03-08-2007 | Отправлено: 01:13 04-09-2007
KapralBel



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Rotorina
Если готов ставить доп.софт то стукни в топик PowerShell саму задачу

Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 08:02 04-09-2007
Maza Faka



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
OOD
Можно при помощи утилиты gsar

Код:
 
@echo off
for %%a in (*.txt) do gsar -i -s"old" -r"new" -o "%%a"
 

Всего записей: 1420 | Зарегистр. 25-10-2006 | Отправлено: 08:05 04-09-2007
Accessor



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Народ, может кто0то решал подобную задачу. Как собрать информацию об установленном ПО? Интересует просто перечень ПО.

Всего записей: 2861 | Зарегистр. 31-10-2003 | Отправлено: 12:12 04-09-2007
Fenix



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Как можно прочитать строку из файла(дата), чтобы потом добавить к названию файла?

Всего записей: 164 | Зарегистр. 08-10-2001 | Отправлено: 12:20 04-09-2007
Accessor



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Для получения списка ПО делаю такой бат-файл:

Код:
 
reg query HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall /s /f "DisplayName" | find "DisplayName" >> ~~~1.txt
for /f "tokens=3*" %%i in (~~~1.txt) do echo %k%
 

Не работает В чем ошибка?

Всего записей: 2861 | Зарегистр. 31-10-2003 | Отправлено: 14:59 04-09-2007
Maza Faka



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Accessor

Код:
 
@echo off
for /f "tokens=7 delims=\" %%a in (
'reg query "HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall" ^
| find /v "{"') do echo %%a
 

Всего записей: 1420 | Зарегистр. 25-10-2006 | Отправлено: 15:02 04-09-2007
KapralBel



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Fenix
В каком месте файла находится дата?

Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 15:05 04-09-2007
Maza Faka



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Fenix

Код:
 
@echo off
for /f "delims=" %%a in (test.txt) do set name=%%a
echo %name%
 

Смотри справку по FOR /?.
 
Добавлено:
Fenix
Приведи часть файла.

Всего записей: 1420 | Зарегистр. 25-10-2006 | Отправлено: 15:07 04-09-2007
Fenix



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Дата находится в первой строке, но не в начале  
Это файл от DrWeb'а

Цитата:
 
Dr.Web (R) Anti-virus. Virus base add-on (2007-08-28 16:22:48)
contains 258 virus records. Please place it into the Dr.Web directory.
...
 

Всего записей: 164 | Зарегистр. 08-10-2001 | Отправлено: 15:44 04-09-2007 | Исправлено: Fenix, 15:45 04-09-2007
KapralBel



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Fenix

Код:
@Echo Off
For %%a in (*.txt) Do Call :l1 %%a
GoTO :EOF
 
:l1
Set dt=_
Set i=1
For /F "tokens=1-9 delims=( " %%a in (%1) Do Call :l2 %%g
Echo %dt%_%1
GoTo :EOF
 
:l2
If %i% == 2 GoTo :EOF
Set i=2
Set dt=%1
GoTO :EOF
 

Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 16:07 04-09-2007
   

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118

Компьютерный форум Ru.Board » Компьютеры » Программы » Командная строка, батники, сценарии (bat, cmd)
Widok (19-11-2007 12:08): лимит страниц. продолжаем здесь


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.Board
© Ru.Board 2000-2020

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru