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

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

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

Widok (10-03-2009 12:39): Лимит страниц. Продолжаем здесь.  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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

   

Widok



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

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

Всего записей: 24190 | Зарегистр. 07-04-2002 | Отправлено: 12:08 19-11-2007 | Исправлено: Dmitriy05, 22:49 13-04-2008
RMR

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Elroir Спасибо. Думал есть более простой метод.

Всего записей: 32 | Зарегистр. 23-11-2006 | Отправлено: 23:25 31-07-2008
alexvsm



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

Цитата:
А можно ли записать батником в файл echo "%~1" чтобы "%~1" не превратился в %1 батника.


Код:
echo echo ^"%%^~^1^"

Всего записей: 140 | Зарегистр. 23-11-2004 | Отправлено: 09:12 01-08-2008
RMR

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
alexvsm Просто удвоение процента тоже работает.

Всего записей: 32 | Зарегистр. 23-11-2006 | Отправлено: 15:35 01-08-2008
KapralBel



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

Код:
Echo ^"%%^~^1^">2

Вот результатт

Код:
"%~1"

Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 16:19 01-08-2008
vitrzn



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ув. гуру, помогите новичку ("bat_анику")
 
Нужен батник, чтобы делал так:
Есть файлы  
DOCS#346999#.USR  
KRS#346999#.USR
PBI#346999#.USR
PPN#346999#.USR
QSA#346999#.USR
от 22.07.2008 и ещё много таких-же файлов,  
в которых меняются ххх#хххх#.USR ну и дата их создания
 
Желательно предварительно создавать сначала папку с датой (не всегда сегодняшнее число !!! , но всё в пределах одного текущего месяца)
Надо рассортировать эти файлы по папкам с датой создания этих файлов!
 
Возможно ли такое?

Всего записей: 1357 | Зарегистр. 28-10-2007 | Отправлено: 22:11 01-08-2008
01MDM



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

Код:
 
@echo off
for %%i in (*.usr) do call:move "%%i" %%~ti
goto:eof
 
:move
md %2 2>nul
move %1 %2  
 


Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 23:25 01-08-2008 | Исправлено: 01MDM, 23:26 01-08-2008
Elroir



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
01MDM
Измени немного код - %%~ti выдает кроме даты, еще и время с двоеточием, соответственно создание директорий не сработает.

----------
"В интернете есть все, но не всегда"

Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 23:55 01-08-2008
01MDM



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Elroir
%%~ti передается без кавычек, т.е в %2 только дата (первая часть переменной).

Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 01:54 02-08-2008
Elroir



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
01MDM
Точно. Извини - не обратил внимания

----------
"В интернете есть все, но не всегда"

Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 03:48 02-08-2008
vitrzn



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

Цитата:
@echo off  
for %%i in (*.usr) do call:move "%%i" %%~ti  
goto:eof  
 
:move  
md %2 2>nul  
move %1 %2  

 
ОГРОМНОЕ СПАСИБО !!!
Всё работает!
 
Но я так понимаю что формат вывода названии/даты папки ( 28.07.2008 ), это зависит от настроек этого формата на локальном компе?
 
Или можно это сменить на др. формат, типа 2008.07.28 ?

Всего записей: 1357 | Зарегистр. 28-10-2007 | Отправлено: 12:40 02-08-2008
01MDM



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

Цитата:
Но я так понимаю что формат вывода названии/даты папки ( 28.07.2008 ), это зависит от настроек этого формата на локальном компе?  

Да зависит от формата даты

Цитата:
Или можно это сменить на др. формат, типа 2008.07.28 ?

Можно сменить:

Код:
 
@echo off  
for %%i in (*.usr) do call:move "%%i" %%~ti  
goto:eof  
 
:move
for /f "tokens=1-3 delims=." %%i in ("%2") do set folder=%%k.%%j.%%i  
md %folder% 2>nul  
move %1 %folder%
 

 

Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 15:10 02-08-2008
olegpronin



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите пожалуйста. никак не могу сформулировать:
нужно отредактировать все текстовые файлы из папки, а именно всю 4-ю строку в каждом из них. Как это можно реализовать?
 
спасибо.

Всего записей: 5365 | Зарегистр. 31-01-2007 | Отправлено: 17:25 02-08-2008 | Исправлено: olegpronin, 17:29 02-08-2008
Dis74



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
можно как то bat-файлу передать поток? типа ping ya.ru | win2dos.bat ?
как это праивльно сделать? bat файл дожен сразу записать stdio в файл c:\var\win2dos.tmp
 
понимаю что можно сделать  
ping ya.ru > c:\var\win2dos.tmp  
win2dos.bat c:\var\win2dos.tmp
 
но нужно имено 1 строкой.

Всего записей: 166 | Зарегистр. 12-11-2007 | Отправлено: 16:31 03-08-2008 | Исправлено: Dis74, 16:34 03-08-2008
sperrow1

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Уважаемые гуру!
Помогите чайнику!
Нужно изменять расширение файлов в заданой папке  с *.log на *.txt

Всего записей: 2 | Зарегистр. 05-08-2008 | Отправлено: 13:22 05-08-2008
KapralBel



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

Код:
 
@Echo Off
PushD "D:\Мои документы\Отчеты"
Ren *.log *.txt
PopD
 

Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 15:09 05-08-2008 | Исправлено: KapralBel, 15:11 05-08-2008
01MDM



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

Цитата:
нужно отредактировать все текстовые файлы из папки, а именно всю 4-ю строку в каждом из них. Как это можно реализовать?  

 

Код:
 
sed -i "4 s/.*/new 4 string/g" Folder\*.txt
 

 
Где "new 4 string" новое значение для 4 строки в каждом *.txt в папке "Folder"
 
http://gnuwin32.sourceforge.net/packages/sed.htm
 

Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 16:10 05-08-2008
sperrow1

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
2 KapralBel
Большое человеческое спасибо!!!!!!!!!

Всего записей: 2 | Зарегистр. 05-08-2008 | Отправлено: 16:31 05-08-2008
Robby

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Имеется папка с файлами. Нужно создать в этой папке пустые файлы с расширением txt и c именами, соотвествующими именам файлов.  Имеющиеся файлы типа *.txt, должны быть исключены из обработки. Т.е. для всех файлов с любым расширением, кроме txt, должны быть созданы пустые тестовые файлы, например:  
file1.exe
file1.txt
file2.pdf
file2.txt и т.д.

Всего записей: 856 | Зарегистр. 28-09-2003 | Отправлено: 20:17 05-08-2008
igor_andreev

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Robby
for %%a in (*.*) do if not %%~xa equ .txt echo.>%%~na.txt

Всего записей: 1667 | Зарегистр. 08-12-2004 | Отправлено: 20:53 05-08-2008
Robby

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
igor_andreev
Спасибо, то что надо!

Всего записей: 856 | Зарегистр. 28-09-2003 | Отправлено: 22:29 05-08-2008
   

Страницы: 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

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


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru