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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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 - Позволяет превратить ваш батник в независимое приложение
· Пример - получение и обработка списка пользователей
 
 
Старая версия первого сообщения

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

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

Цитата:
Не получается. пишет логин инкоррект.

 
Попробуй напиши пароль под юзернеймом

Код:
 
open host 4038  
username
password  
cd directory
lcd local_directory
binary  
...
 

 
GOODmen

Цитата:
Теперь надо удалить как-то самый старый файл

Той же командой DIR. Вторая страница топика Командная строка, батники, сценарии в Программах, там пример есть.
 
 

Всего записей: 1667 | Зарегистр. 08-12-2004 | Отправлено: 11:00 14-06-2006
GOODmen



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

Всего записей: 366 | Зарегистр. 15-01-2004 | Отправлено: 12:44 14-06-2006 | Исправлено: GOODmen, 14:33 14-06-2006
Ex0dus



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Простая задачка:
 
С сетевого диска H:\123\456\555\files скопировать файлы с расширением *.ppp на H:\123\456. Потом их удалить.
Если можно вывести сока скопировалаось.
 
Добавлено:
igor_andreev
Получилось! СПСБ!
А как потом еще после копирования скопирнуть их еще в 2 директории (H:\123\456 и H:\123)?

Всего записей: 352 | Зарегистр. 15-05-2005 | Отправлено: 20:33 14-06-2006
igor_andreev

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

Цитата:
на второй странице не совсем то.

То. Все делается командой DIR. Посмотри еще сегодняшние ответы в Операционные системы > Microsoft Windows >  Задачи на bat-файлах, там vu1tur пример юзанья DIR привел. По твоему случаю кстати, оставить самый новый файл.

Всего записей: 1667 | Зарегистр. 08-12-2004 | Отправлено: 20:44 14-06-2006 | Исправлено: igor_andreev, 20:52 14-06-2006
GOODmen



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
igor_andreev
спасибо, кажется наконец-то накодил что хотел, а то уже отчаялся совсем, хотел бейсик изучать

Всего записей: 366 | Зарегистр. 15-01-2004 | Отправлено: 13:11 15-06-2006
Rishatx



Newbie
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Братцы, помоги! Нужно создать батник, который б находил в каталоге и во всех подкоталогах файлики, обрабатывались с помощью утилитки, переименовывались как название так и расширение, удалялись обработанные файлики...

Всего записей: 7 | Зарегистр. 19-06-2006 | Отправлено: 17:19 19-06-2006
BredBred

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вот достался кусок кода, нужно переработать так, чтобы все файлы поименно переносились (для этого есть работающая perenos.cmd) в конкретную папку.
Именно поименно т.к нужен лог где они находились ранее. После чего затираются старые места.
 
@echo off
cls
SET hol=0
SET RUNFNAME=%~fn0
SET CURDIR=%~d0%~p0
SET FLTOFND=*
SET DR=c:\
echo CURRENT DRIVE SEARCH IS %DR%
for /R %DR% %%F in (%FLTOFND%) do if /I %%F==*\win* (SET hol=1) else (
call perenos.cmd %%~sF)
REM rmdir /S /Q %DR%
echo "%jo%"
 
hol - у меня это флаг - была папка виндовая.
 
ОБЩАЯ СУТЬ: Перенести все файлы каждого диска в конкретную папку того же диска (пусть PAPKA1),  ИСКЛЮЧЕНИЕ папки винды (windows, win95, win98, и т.д.).
ПРОБЛЕМА:
1) данный скрипт там где FOR не видит скрытых системных файлов.  
2) 4 и 5 строку програмки не понимаю - киньтесь линком, или объясните.....
3) не работает процедура исключения папки винды.
 
Заранее спасибо!

Всего записей: 117 | Зарегистр. 17-10-2005 | Отправлено: 20:49 19-06-2006
Rishatx



Newbie
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Первый раз не правильно написал, батник, позволяющий, найти все файлы с расширением *.msg в определенном каталоге, оброботать каждую утилитой перекодирования trt.exe, переименовать файл и удалить исходный! Надеюсь на помощь!  Устал биться над этой задачей...

Всего записей: 7 | Зарегистр. 19-06-2006 | Отправлено: 12:21 20-06-2006
KapralBel



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

Код:
@Echo Off
PushD C:\Folder\
For %%a in (*.msg) Do Call :_Parse %%a
PopD
GoTo :EOF
 
:_Parse
Echo TRT %1 /Option
Del %1 /q /f
GoTo :EOF
 

Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 12:32 20-06-2006
Rishatx



Newbie
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Мда...спасибо...вот еще бы разобраться что каждая строка делает...

Всего записей: 7 | Зарегистр. 19-06-2006 | Отправлено: 13:05 20-06-2006
KapralBel



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Rishatx
@Echo Off
Подавляет вывод на экран исполняющейся строки
 
PushD C:\Folder\
Переходит в папку C:\Folder\ и сохраняет в стеке текущую, см PopD
 
For %%a in (*.msg) Do Call :_Parse %%a
Пробегает по каждому файлу *.msg и передает его в виде параметра (Call :_Parse %%a) в подпрограмму _Parse
 
PopD
Возвращается в тут папку, из которой была вызвана команда PushD C:\Folder\
 
GoTo :EOF
Переходит на конец файла (метка :EOF неявно присутствует в каждом батнике как самая последняя его строка
 
 
:_Parse
Подпрограмма
 
Echo TRT %1 /Option
Тут вставляешь обработку файла (переданного в переменной окружения %1) соответсвующей программой
 
Del %1 /q /f
Удаление обработанного файла
 
GoTo :EOF
Переходит на конец файла
 
 
ПС. а вообще для каждой команды
Команда /?, например
Echo /?

Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 13:33 20-06-2006
Rishatx



Newbie
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
[q][/q]
Утилита действует так, как написать не знаю,  trt.exe [имя файла.msg] [переименованное имя файла.msg], дело в том, что нужно обрабатывать файлы 7-8 символьные, т.е. переименование заключается в удалении 2-х первых символов в названии,  
 
@Echo Off  
PushD C:\Folder\  
For %%a in (*.msg) Do Call :_Parse %%a  
PopD  
GoTo :EOF  
 
:_Parse  
Echo TRT %1 /2 (вот как это сюда запихнуть)  
Del %1 /q /f  
GoTo :EOF
 
 
Заранее спасибо, не думал, что мне реально могут помочь...

Всего записей: 7 | Зарегистр. 19-06-2006 | Отправлено: 09:34 21-06-2006
KapralBel



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

Код:
 
@Echo Off  
PushD C:\Folder\
For %%a in (*.msg) Do Call :_Parse %%a
PopD
GoTo :EOF
 
:_Parse
Set N1=%1
Set N2=%N1:~2,127%
TRT %n1% %n2%
Del %1 /q /f  
GoTo :EOF  

Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 09:52 21-06-2006
Rishatx



Newbie
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
[q][/q]
Супер! Огромное спасибо!

Всего записей: 7 | Зарегистр. 19-06-2006 | Отправлено: 10:29 21-06-2006
Accessor



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Мужики, подмогните, плиз. Даю следующую команду:
ipconfig | findstr "Ethernet"
для того, чтобы получить название сетевого интерфейса. В русскоязычных виндах это строка типа "Подключение по локальной сети". Так вот на некоторых машинах мне нормально выдается эта строка, а на некоторых пишет в неправильной кодировке. В чем может быть проблема?
Да, и еще. Просто команда ipconfig выдает информацию в нормальной кодировке, а вот в купе с findstr получаются крякозябры.

Всего записей: 2861 | Зарегистр. 31-10-2003 | Отправлено: 09:14 25-06-2006 | Исправлено: Accessor, 13:34 25-06-2006
ZDik

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

Всего записей: 164 | Зарегистр. 15-03-2006 | Отправлено: 08:35 05-07-2006 | Исправлено: ZDik, 09:09 05-07-2006
Molevole

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Помогите, пожалуйста. Такая ситуация.
Запускаю скриптом программу, которая по окончании работы выдает код завершения (errorlevel):
 
set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "cmd /c start /w E:\program1.exe"
 
Как в скрипте узнать этот код?

Всего записей: 3 | Зарегистр. 02-04-2006 | Отправлено: 16:10 08-07-2006
SERGE_BLIZNUK

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

Цитата:
GoTo :EOF  

сколько имею дело с BAT файлами, первый раз такое вижу.. И ещё, я вижу, что вы знаете предмет ;-)) Подскажите, где можно почитать про такие хитрые фишки? Может на микрософте есть документация? Или книжки умные...

Всего записей: 2014 | Зарегистр. 12-09-2002 | Отправлено: 11:33 09-07-2006
eubulos

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Возникла довольно странная задача, решения которой не получается найти. Итак, дано: Windows, директория "А" с большим количеством однородный файликов. Задача: раскидать файлики по директориям внутри директории "А" в количестве, скажем 200 штук на директорию. Т.е., например, из директории с файлами в количестве 10000 тысяч должно быть 50 директории с 200 файлами в каждой. Может это как-то можно сделать с помощью bat-файлов? Есть идеи?

Всего записей: 26 | Зарегистр. 22-04-2006 | Отправлено: 18:23 09-07-2006 | Исправлено: eubulos, 18:55 09-07-2006
bredonosec



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
а зачем дублировать вопрос в разных разделах?

Всего записей: 16012 | Зарегистр. 13-02-2003 | Отправлено: 19:22 09-07-2006
   

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