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

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



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Возможно ли отправить письмо(+возможное вложение) через Microsoft Exchange Server из ком. строки(может через какую утилитку)  
Программа для работы с ним (Microsoft Outlook)...

Всего записей: 884 | Зарегистр. 04-09-2008 | Отправлено: 16:21 10-03-2009
Firstarey

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Как реализовать печать из батника?
файл в той же директории, команда print %name% выдает ошибку "Не удается инициализировать устройство PRN"

Всего записей: 4 | Зарегистр. 10-03-2009 | Отправлено: 18:31 10-03-2009
LEDRA

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

Цитата:
Как реализовать печать из батника?  
файл в той же директории, команда print %name% выдает ошибку "Не удается инициализировать устройство PRN"

 
Присоединяюсь к вопросу. Только еще интерисует как сделать двусторонюю печать?

Всего записей: 228 | Зарегистр. 23-01-2006 | Отправлено: 21:24 10-03-2009 | Исправлено: LEDRA, 22:50 10-03-2009
BorlandIMHO

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Firstarey
Печать чего? Простой текст (DOS/Win/*NIX/UTF) или какой-то документ?
Печать куда (принтер - локальный LPT/USB, сетевой, принтсервер)?
Печать под какой ОС?
От этого тоже многое зависит...
Универсальное решение для TXT файлов в кодировках cp1251 и Unicode, любая Windows, любой принтер:
Код:
NOTEPAD /P %name%
(Печать стандартным "Блокнотом" на "умолчальный" принтер).
Для остальных кодировок всё несколько сложнее...
Для cp866 практически идеален тот самый print (есть в любой Windows) - но она работает далеко не со всеми принтерами... Варианты:
Код:
net use lpt2: \\server\printer
print %name% /D:lpt2
либо сразу
Код:
print %name% /D:\\server\printer
- работают только с виндовыми расшаренными принтерами, и подозреваю что не со всеми: с матричными "динозаврами" - без вопросов, что локально что по сетке, а со всеми остальными - не факт...
Ещё что-то тут: http://social.msdn.microsoft.com/Forums/en-US/windowscompatibility/thread/9a4dbfa8-ca8c-4570-b333-a09769cf934a/ , но не совсем в тему...
Вот эта http://alagus-print-port-manager.alagus-software.qarchive.org/ софтина позволяет (если верить описалову) перенаправлять печать с одного порта на другой (например, с отсутствующего LPT1 на сетевой принт-сервер). Но эти "костыли" в данном случае кажутся мне скатыванием в оффтоп...
 
Добавлено:
LEDRA

Цитата:
как реализовать двухсторонюю печать?

Лехко. В свойствах принтера "по умолчанию" принудительно включить именно двухстороннюю печать, и всё, что вы на него будете отправлять (хоть командой copy) будет печататься на двух сторонах.
 
Добавлено:
P.S. У какого-то мажорного девайса (то ли HP, то ли Xerox) видел в дровах галочку "Allow to print from DOS", которая, как я понимаю, организует "виртуальный PRN" независимо от способа подключения принтера к компу. Проверить сейчас не могу...

----------
http://www.imho.ws

Всего записей: 1239 | Зарегистр. 12-10-2006 | Отправлено: 22:19 10-03-2009 | Исправлено: BorlandIMHO, 22:39 10-03-2009
LEDRA

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Конкретизирую задачу.
Необходимо выводить на печать в дуплексном режиме Word PDF Xls документы.
Причем настройки принтера по умолчанию менять нельзя. Возмоно такое через батник реализовать?

Всего записей: 228 | Зарегистр. 23-01-2006 | Отправлено: 22:52 10-03-2009
BorlandIMHO

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
LEDRA
При такой постановке вопроса - нет, нельзя.
"Word PDF Xls документы" соответствующими программами при печати из командной строки всегда выводятся на принтер по умолчанию с теми его настройками, что заданы опять же по умолчанию. Ключи изменения такого поведения данных программ мне лично неизвестны, и сомневаюсь я, что они вообще есть...
В частности для конкретного принтера можно изучить где и как он хранит свои настройки (в реестре), перед печатью забэкапить настройки, поменять на нужные, после печати восстановить. Но таковое решение не может быть универсальным...


----------
http://www.imho.ws

Всего записей: 1239 | Зарегистр. 12-10-2006 | Отправлено: 23:19 10-03-2009
LEDRA

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Жаль.
А можно вывести на печать документ на принтер не по умолчанию, а на другой?

Всего записей: 228 | Зарегистр. 23-01-2006 | Отправлено: 08:44 11-03-2009
Firstarey

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

Цитата:
Печать чего? Простой текст (DOS/Win/*NIX/UTF) или какой-то документ?

в данном конкретном случае распечатать надо файл без разрешения с DOS (cp866) текстом

Цитата:
Печать куда (принтер - локальный LPT/USB, сетевой, принтсервер)?

печать необходимо вывести на принтер установленный по умолчанию, файл будет использоваться на разных машинах

Цитата:
Печать под какой ОС?  

winXP, для висты тоже нужен вариант


делал так:
(Hp - сетевое имя принтера)

Код:
 
net use lpt1: \\note\hp
print %name% /D:lpt1
 

получил вот так:
   
не печатает
можно и через блокнот вывести на печать, но как его заставить 866 правильно увидеть?

Всего записей: 4 | Зарегистр. 10-03-2009 | Отправлено: 12:40 11-03-2009 | Исправлено: Firstarey, 12:43 11-03-2009
NvvLazyTiger



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
bk99
Цитата:
Да нет же, ты не понял! Просто помоги мне
Цитата:
как создать список файлов компа №1 и как на компе №2 этот список обработать.  
Как всё это в батнике организовать или скрипт какой-нибудь простенький... Без дискуссий... Тупо подскажи мне как создать список файлов в директории со семи путями и подпапками. И как потом скопировать на флешку только те файлы из указанной директории, которые отсутствуют в списке. Оставим пока даты создания, контрольные суммы и прочее.
 Гм-м-м,.. ты рискуешь, испрашивая помощь у непонимающего... ;)))
 
Ок, тупо подсказываю:
  1. Выбираем букву драйва, которой заведомо нет на обоих компах, например N:.
  2. Вставляем флешку в "ведомый комп" и переходим на неё (т.е. какой-то её каталог должен быть текущим).
  3. Пускаем там примерно такой батник (MyPath2SlaveDir - синхронизируемый каталог на "ведомом"):
    Код:
    subst n: MyPath2SlaveDir
    dir n:\*.* /s/b/a:-d >a.lst
    subst n: /d
    a.lst - нужный список наличных файлов на "ведомом".
  4. Вынимаем флешку и вставляем её в "ведущий" комп, переходим на ней в тот-же каталог.
  5. Пускаем там примерно такой батник (MyPath2MasterDir - синхронизируемый каталог на "ведущем"):
    Код:
    subst n: MyPath2MasterDi
    rar a  -m0 -r MissedFiles n:\*.* -x@a.lst
    subst n: /d
    MissedFiles.Rar - архив с файлами, недостающими на ведомом.
  6. Снова вставляем флешку в "ведомый комп" и переходим в каталог MyPath2SlaveDir.
  7. Пускаем там команду rar x MyPath2Flesh\MissedFiles (MyPath2Flesh - путь к нашему архиву на флешке).
  8. Всё! "Идём пить спирт"... ;)
NB. Возможно тебе потребуются ещё какие-нибудь ключи для RAR-а, посмотри сам, по месту. ;)))

Всего записей: 244 | Зарегистр. 14-02-2009 | Отправлено: 15:06 11-03-2009
rBBWYwg



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Господа, есть ли на примете способ удалять из cmd копии файлов (по содержимому), или может программа, которая способна выполнять сценарий такого удаления из-под командной строки?

Всего записей: 23 | Зарегистр. 14-10-2008 | Отправлено: 16:40 11-03-2009
n0namer

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Господа, как средствами JScript или VBScript изменить дату и время создания и открытия файла без использования сторонних приложений, типа Attribute changer ShellToys и т.д.?
Дату модификации можно поменять так:

Код:
 
var shell, folder, file;
shell = new ActiveXObject('Shell.Application');
folder = shell.NameSpace('C:\\Scripts\\Setdate\\');
file = folder.ParseName('v28112008.rtf');
file.ModifyDate = '12/28/2008 16:00:00';
 

А как быть с двумя другими датами?
Заранее благодарен.

Всего записей: 3 | Зарегистр. 28-06-2007 | Отправлено: 16:43 11-03-2009
vitrzn



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

Цитата:
 blat — отправка почты из консоли

 
ТАК ведь чуть выше написано !!!
http://www.blat.net/

Всего записей: 1358 | Зарегистр. 28-10-2007 | Отправлено: 18:10 11-03-2009 | Исправлено: vitrzn, 22:55 11-03-2009
uZver



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
LEDRA
для doc,xls
если есть OpenOffice можно использовать его  
"soffice.exe -p test.doc" - на принтер по умолчанию
"soffice.exe -pt myprn test.doc" - на произвольный принтер
 
вот тут есть еще ключи для "стандартных" программ.
для pdf можно использовать adobe reader foxit reader (для произвольного принтера), параметры по ссылке выше  

Всего записей: 195 | Зарегистр. 10-10-2003 | Отправлено: 10:51 12-03-2009 | Исправлено: uZver, 14:25 12-03-2009
Kilyan



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vitrzn
если по СМТП как раз подходит, а вот через Microsoft Exchange Server уже нет!

Всего записей: 884 | Зарегистр. 04-09-2008 | Отправлено: 11:05 12-03-2009
Firstarey

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

Всего записей: 4 | Зарегистр. 10-03-2009 | Отправлено: 12:27 12-03-2009
Ortios



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
n0namer; ALL
А как изменить твой код, чтобы менял дату и время модификации каталога, а не файла?
Например, C:\Test  ? Помогите, очень надо.

Всего записей: 73 | Зарегистр. 24-12-2007 | Отправлено: 23:02 12-03-2009 | Исправлено: Ortios, 23:29 13-03-2009
Shustrikf

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Доброго Вам светлые умы нашего форума... У меня такой вопрос можна ли запретить запуск определенного приложения и тестировать на запуск нового этого же приложения с другова диска с одной машины по сети . Т.е. ключаю батник со своей машины и просто тот чел с другова компа неможет запустить программку ... т.е. он либо удаляет ее вообще или запрещает в реестре или помещаю батник на комп другова компа в автозагрузку и оно запрещяет запуск этой программы ... ответе мне пожалуйста на такую задачу...
 
Добавлено:
помогите мне...

Всего записей: 11 | Зарегистр. 07-10-2008 | Отправлено: 10:21 13-03-2009
LEDRA

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

Цитата:
для doc,xls  
если есть OpenOffice можно использовать его  
"soffice.exe -p test.doc" - на принтер по умолчанию  
"soffice.exe -pt myprn test.doc" - на произвольный принтер  
 
вот тут есть еще ключи для "стандартных" программ.  
для pdf можно использовать adobe reader foxit reader (для произвольного принтера), параметры по ссылке выше  

 
Спасиб. Наверное так и прийдется сделать.
 
Подскажите еще такой вопрос по печати. Принтер у меня сетевой, со встроеной сетевой картой и независимо подключен к сети - как мне его указать?

Всего записей: 228 | Зарегистр. 23-01-2006 | Отправлено: 12:41 13-03-2009
Maza_Faka



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

Цитата:
чтобы менял дату и время модификации каталога

Можно с помощью утилиты nircmd.exe

Код:
 
nircmd setfilefoldertime c:\test 01.01.2009
 

 
Shustrikf

Цитата:
можна ли запретить запуск определенного приложения

Можно через реестр

Всего записей: 1420 | Зарегистр. 25-10-2006 | Отправлено: 08:54 14-03-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