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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
Leshgan



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Ребята, может не в тему, но есть задача печатать из командной строки много картинок из указанного в параметре каталога.  
Делаю так:

Код:
 
if exist %1 (
FOR /F "tokens=* usebackq" %%i IN (`dir /b "%1\*.tif"`) DO rundll32.exe C:\WINDOWS\system32\shimgvw.dll,ImageView_PrintTo /pt "%1\%%i" "\\comp\printer"
)
 

 
всё отлично работает (кстати, может кто покритикует этот код?)
Но вот в чем дело. При печати на сетевой принтер получается много заданий. И если с нескольких компов печатать, то всё естественно переплетается. Как сделать чтобы отправилось на печать всё одним заданием? По типу как это делает ACDSee пакетно, в очереди печати написано название задания и кол-во страниц. Как этого можно добиться из командной строки? Или отправьте меня на путь истинный.
Спасибо.

Всего записей: 187 | Зарегистр. 15-10-2002 | Отправлено: 17:05 02-07-2009
Forales



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
программа, передает данные в Microsoft Excel и частенько процесс EXCEL.EXE остается в памяти в списке процессов, как написать командный файл, который бы убивал этот процесс, но не трогал другие процессы EXCEL .EXE которые есть в Списке задач?

Всего записей: 13 | Зарегистр. 23-10-2004 | Отправлено: 11:04 03-07-2009
HaK1R



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

Цитата:
стати, может кто покритикует этот код?

может было бы удобнее через print а не rundll32

Код:
print /?

Forales
не уловил
Цитата:
передает данные в Microsoft Excel и частенько процесс EXCEL.EXE остается в памяти

тебя смущает что у этой программы есть свой процесс

Цитата:
как написать командный файл, который бы убивал этот процесс, но не трогал другие процессы EXCEL .EXE которые есть в Списке задач

а как ты отличаешь процесс excel.exe от других excel.exe?

Всего записей: 136 | Зарегистр. 04-05-2009 | Отправлено: 12:03 03-07-2009
Leshgan



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
HaK1R
Либо через PRINT нет возможности печатать графические файлы, либо  я не разобрался, но оказалось не проще.  
Интересует больше
Цитата:
Как сделать чтобы отправилось на печать всё одним заданием?


Всего записей: 187 | Зарегистр. 15-10-2002 | Отправлено: 13:39 03-07-2009
graydevil



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Господа, как создать файл с размером свободного места на диске?
 
Нужно для ftp сервера т.к. невидно сколько места на нем есть..
 
А так в задачу каждые н минут проверять и создавать файл с именем - размером..

Всего записей: 59 | Зарегистр. 14-04-2006 | Отправлено: 10:03 05-07-2009
HaK1R



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
graydevil
хаха, представь себе у тебя будет 200ГБ свободно. думаю это не самая хорошая мысль. А зачем тебе знать сколько там места?

Всего записей: 136 | Зарегистр. 04-05-2009 | Отправлено: 13:01 05-07-2009
graydevil



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
И что с этого  - создастся файл 200Gd_free.dat положим..
 
Зачем это - потомучто долбаные фтп серверы не показывают место свободное,  
только могут выводит в приветствии пользователя, которе никто не читает.

Всего записей: 59 | Зарегистр. 14-04-2006 | Отправлено: 19:57 05-07-2009
NvvLazyTiger



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
graydevil
Цитата:
как создать файл с размером свободного места на диске?

Код:
@echo off
for /f "tokens=*" %%a in ('dir /-C') do call :a1 %%a
echo %aa%
goto :eof
:a1
set aa=%3
В переменной %aa% размер свободного места на текущем диске.
 
NB. Проверено под w2kRu & w2k3En

Всего записей: 244 | Зарегистр. 14-02-2009 | Отправлено: 05:20 06-07-2009
Maza_Faka



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

Цитата:
как создать файл с размером


Код:
 
fsutil file createnew c:\file.dat 1024
 

Создастся файл размером 1 КБ.

Всего записей: 1420 | Зарегистр. 25-10-2006 | Отправлено: 07:34 06-07-2009
igor_andreev

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
NvvLazyTiger
Даже без "call" лучше обойтись

Код:
for /f "tokens=3" %%a in ('dir /-C') do set "aa=%%a"

Всего записей: 1668 | Зарегистр. 08-12-2004 | Отправлено: 12:33 06-07-2009
graydevil



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Спасибо, понятно, а как теперь от переменной убрать лишние 6 цифр с конца,  
 
Есть положим 18050711552 байт, надо получить 18050 мегабайт пусть неточно..  
 
Делить батник не даст, ибо тока до 2гб ограничено....
 

Всего записей: 59 | Зарегистр. 14-04-2006 | Отправлено: 18:25 06-07-2009
NvvLazyTiger



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

Код:
set aa=%aa:~0,-6%

Всего записей: 244 | Зарегистр. 14-02-2009 | Отправлено: 19:22 06-07-2009
newhk



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
народ, подскажите плиз (нет возможности просмотреть все страницы, поэтому заранее извиняюсь за возможные повторы).
есть необходимость скопировать папку с подкаталогами, всего порядка 500, команда  
"xcopy (путь\папка путь назначения /s /e /y" не катит, копирует только подкаталоги, без файлов). как скопировать все содержимое папки в командной строке?
 
все, разобрался

Всего записей: 331 | Зарегистр. 02-02-2009 | Отправлено: 10:28 08-07-2009 | Исправлено: newhk, 11:49 08-07-2009
Maza_Faka



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
newhk
А если добавить параметр /I?

Всего записей: 1420 | Зарегистр. 25-10-2006 | Отправлено: 14:29 08-07-2009
newhk



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
да все ок уже, в источнике дописал *.* и все скопировалось
=)
 
Добавлено:
назрел другой вопрос...
есть батник, он лежит на шлешке, батник копирует инфу с флешки на лок. диск, можно ли сделать так, чтобы буква диска присвоенная флешке подставлялась автоматом?

Всего записей: 331 | Зарегистр. 02-02-2009 | Отправлено: 14:34 08-07-2009
01MDM



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

Цитата:
есть батник, он лежит на шлешке, батник копирует инфу с флешки на лок. диск, можно ли сделать так, чтобы буква диска присвоенная флешке подставлялась автоматом?  

 
переменная %0 это твой батник, а %~dp0 это полный путь к батнику.
 
Почитай 'for /?'

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



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
не, мне нужен не путь к батнику, а присвоение буквы диска (только диска) флешке в батнике  
например:
есть в батнике путь
x:\myfolder\myfolder2\*.*
при первом подключении флешки к компу ей присваивается буква "R" например...
так вот, как сделать чтобы в начале пути x:\myfolder\myfolder2\*.* встала буква "R"?

Всего записей: 331 | Зарегистр. 02-02-2009 | Отправлено: 16:54 08-07-2009
Malegik79

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Господа, напишите пожалуйста скрипт для создания из текущей даты папку с названием месяца и номером недели, типа "July_2"

Всего записей: 7 | Зарегистр. 16-06-2009 | Отправлено: 16:57 08-07-2009
01MDM



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
newhk
Если батник на флешке, то и получишь эту самую R:

Код:
 
%~d0myfolder\myfolder2\*.*
 

 
Я не так просто написал:

Цитата:
 
переменная %0 это твой батник, ...
Почитай 'for /?'
 


Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 17:10 08-07-2009
Elroir



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
newhk
А если все-таки почитать справку к for-у?

Код:
 
%~d0\myfolder\myfolder2\*.*  
 

 
Добавлено:
01MDM
Не увидел твой пост :-)

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

Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 17:15 08-07-2009 | Исправлено: Elroir, 17:17 08-07-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.Board
© Ru.Board 2000-2020

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru