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

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

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

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

   

Widok



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

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

Всего записей: 24190 | Зарегистр. 07-04-2002 | Отправлено: 12:38 10-03-2009 | Исправлено: TechnicsKuzya, 13:54 27-12-2009
vitrzn



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Есть батник, он сортирует и перемещает всё *.exe в папки с датой их созданий:
:loop
for %%i in (*.exe) do call:move "%%i" %%~ti    
:goto:eof    
:move  
for /f "tokens=1-3 delims=." %%i in ("%2") do set folder=exe_%%k-%%j-%%i    
md %folder% 2>nul    
move %1 %folder%
goto :loop
 
А можно в название папки exe_%%k-%%j-%%i добавть размер файла *.exe (он там будет ТОЛЬКО ОДИН)?
 
Помогите доработать код!

Всего записей: 1497 | Зарегистр. 28-10-2007 | Отправлено: 12:36 31-08-2009
01MDM



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

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


Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 16:41 31-08-2009
vitrzn



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

Всего записей: 1497 | Зарегистр. 28-10-2007 | Отправлено: 18:10 31-08-2009
lid111

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
01MDM, я хочу вернуть вас к вашей уже древней поделке: вот тут http://forum.ru-board.com/topic.cgi?forum=5&topic=25393&start=340 вы выкладывали для меня батник по удалению временных файлов. Потом, позже, я обратил ваше внимание на то, что батник "плюется" на отсутствие дисков в флоппи-дисководах A и B и вы посоветовали мне убрать в батнике из перечисления
for %%i in (Q W E R T Y U I P O A S D F G H J K L Z X C V B N M)
соответственно буквы A и B.
 
Но теперь, по опыту применения батника на разных компах, возникает ещё один вопрос: та же проблема со встроенными кардридерами. Но здесь уже не хотелось бы убирать буквы, потому что они могут быть разными, в зависимости от того, сколько есть несъемных лог. дисков.
 
Пока я оставил в файле в этом перечислении в скобках только одну букву C. Но если всё же пытаться сделать батник универсальным, то возможно ли сделать как-то, чтобы он не обрабатывал (молча пропускал) диски (буквы), которые физически не присутствуют на компе?  

Всего записей: 1560 | Зарегистр. 15-09-2006 | Отправлено: 22:25 05-09-2009
bomzzz



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
в HS-paket (Пакет утилит для организации интерфейса в bat-файлах ) входит HS_play, для проигрывания wav файлов. вот это тоже самое только весит 1,50 КБ (1 536 байт) против 15,5 КБ (15 872 байт), правда не умеет проигрывать несколько файлов из командной строки. работает почти так же, только надо косую черту указать перед путем к файлу.
"C:\sound.exe" /C:\WINDOWS\Media\chimes.wav
в архиве 477 байт (477 байт)
http://narod.ru/disk/12838988000/sound.rar.html

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 22:38 05-09-2009
ewild

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

Цитата:
та же проблема со встроенными кардридерами.

lid111
возможно в этой связи вам пригодится утилита USB Safely Remove

Цитата:
...
Делает уникальные вещи!  
Сокрытие букв пустых дисков кард-ридера
...


Всего записей: 1203 | Зарегистр. 13-08-2005 | Отправлено: 23:26 05-09-2009 | Исправлено: ewild, 23:27 05-09-2009
lid111

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ewild, это "из другой оперы". Здесь ситуация такая: я ставлю батник в автозагрузку и интегрирую это дело в дистрибутив. И надо чтобы при первом же запуске системы батник отрабатывал без выдачи ошибок независимо от того, есть кардридер или нет его.. Ваша утилита устанавливается потом, и если и скрывает буквы, то, вероятно, не отменяет их присутствие в системе, короче, это не о том...

Всего записей: 1560 | Зарегистр. 15-09-2006 | Отправлено: 00:09 06-09-2009 | Исправлено: lid111, 00:10 06-09-2009
ewild

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
lid111 утилита не моя - но мне она позволила обойти сходную проблему (при опросе "пустых дисков" кардридера из bat файла). Вам не подходит? Что ж, се ля ви.

Всего записей: 1203 | Зарегистр. 13-08-2005 | Отправлено: 01:18 06-09-2009
01MDM



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

Код:
 
for %%i in (q w e r t y u i o p a s d f g h j k l z x c v b n m) do (
    if not "%~d0"=="%%i:" (
        if exist %%i:\ call:clean %%i
    )
)
 

При проверке пустой кардридер от принтера был пропущен.

Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 08:37 06-09-2009 | Исправлено: 01MDM, 15:19 06-09-2009
lid111

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
01MDM, у меня на компе только сидиром и флоппик, встроенного кардридера нет, то есть у себя я проверить не могу, но при смене в батнике условия, как вы посоветовали, вновь стало выскакивать окошко "Диск отсутствует".
 
То есть к отсутствию дискеты новый (измененный) батник отнесся по-прежнему. Может, дисководы, добавляемые принтером, квалифицируются системой иначе, чем те, что от встроенного в системный блок кардридера?  

Всего записей: 1560 | Зарегистр. 15-09-2006 | Отправлено: 17:12 06-09-2009 | Исправлено: lid111, 17:17 06-09-2009
01MDM



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

Цитата:
вновь стало выскакивать окошко "Диск отсутствует"

 
У меня не получается воспроизвести. Правда floppy не физический, а виртуальный. Кардридер в принтере, который подключен через usb.

Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 09:11 07-09-2009
Kilyan



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Помогите в реализации, если это возможно!!!
Все файлы *.dbf нужно склеить в один (если это возможно без сторонних утилит), но можно и со сторонними!

Всего записей: 886 | Зарегистр. 04-09-2008 | Отправлено: 14:49 07-09-2009
bomzzz



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
тотал командером склей. сейчас специально попробовал - клеит если размеры частей разные. бат файлы вроде с бинарными файлами не работают.
берешь файл которые надо склеить, именуешь их одним именем, а расширение 001 002 003 004 ....... соотсветсвенно, потом выбираешь в тотал командере первый и меню -файл - собрать файлы, ну и тама где указано склеиться файлик из всех.
 
 

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 15:06 07-09-2009 | Исправлено: bomzzz, 15:11 07-09-2009
Kilyan



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
bomzzz
Для Базы Данных это не подходит!

Всего записей: 886 | Зарегистр. 04-09-2008 | Отправлено: 15:36 07-09-2009
bomzzz



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
если она бинарная подходит - я постоянно так клею, а если текстовая может и не подойти. уточнять нужно.
 
Добавлено:
сейчас склеил из интересу три текстовых файла - склеилось. только строку не переносит
 
Добавлено:
так в чем проблема оператор for по маске читаешь все файлы например с расширениями *.txt в директории и результат построчно сваливаешь в один. если конечно разбор строки нужен.
 
Добавлено:

Цитата:
 
type *.TXT> summary.TXT
 

сваливает подрят по алфавиту все текстовые файлы из директории в один,
 
Добавлено:
маленько фигня получается. во первых все файлы должны заканчиваться по хорошему переносом строки, а то следующий прилепливается без переноса.  и потом так как результирующий файл тоже ткст , он тоже принимает по алфавиту участие в копировании. так что тут надо в зависимости от конкретной задачи еще подправить. одной строкой не обойдешься.
например вот так

Цитата:
 
ECHO OFF
COLOR 9F
CLS
type *.dbf> summary
DEL /Q *.dbf
REN summary summary.dbf
 

ну а если нуна какие то знаки менять или строки выбрасывать (учитывать последний перенос в том числе) тогда без for и find не обойтись

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 15:40 07-09-2009 | Исправлено: bomzzz, 16:31 07-09-2009
TruLander100

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
народ подскажите плиз как задать в батнике паузу скажем в 3 секунды между выполнением операций?

Всего записей: 24 | Зарегистр. 22-03-2009 | Отправлено: 21:03 07-09-2009
bomzzz



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ping -n 3 127.0.0.1 > NUL  

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 21:47 07-09-2009
Smitis



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

Цитата:
тотал командером склей. сейчас специально попробовал - клеит если размеры частей разные. бат файлы вроде с бинарными файлами не работают.  


Цитата:
если она бинарная подходит - я постоянно так клею, а если текстовая может и не подойти. уточнять нужно.

Бред.
"Склеить" dbf можно только специальными утилитами. Или возиться с VBS/JS или другими скриптовыми языками, через ADO, например.

----------
Разум когда-нибудь победит

Всего записей: 3457 | Зарегистр. 09-02-2003 | Отправлено: 01:25 08-09-2009
bomzzz



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
 
copy *.dbf myfile вот так почему то знак конца файла в конец ставит. но так как dbf файлы бинарную информацию содержат через type не копируется.
 
copy /-y /b *.dbf myfile  вот так не ставит
 
а вот так клеит порезанные тоталом файлы. вот как бы порезать

Цитата:
 
ECHO OFF
COLOR 9F
CLS
copy /-y /b file.* myfile.rar
pause
 

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 02:07 08-09-2009 | Исправлено: bomzzz, 12:08 08-09-2009
Smitis



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

Цитата:
copy *.dbf myfile вот так почему то знак конца файла в конец ставит. но так как dbf файлы бинарную информацию содержат через type не копируется.  
 
copy /-y /b *.dbf myfile  вот так не ставит  
 

Тупо "склеить" файлы ума много не надо. Ты склей так, что бы структуру не на нарушить.

----------
Разум когда-нибудь победит

Всего записей: 3457 | Зарегистр. 09-02-2003 | Отправлено: 13:53 08-09-2009
   

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

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


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

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru