Перейти к содержанию
СофтФорум - всё о компьютерах и не только

Управление из командной строки


Рекомендуемые сообщения

Maikll,

есть мнение, что .cmd выполняется быстрее, чем .bat

На машинах XP sp2\sp3, есть ли смысл использовать именно .cmd, а не .bat ?java script:emoticon(':mad:', 'smid_13')

Ссылка на комментарий
Поделиться на другие сайты

  • Ответов 589
  • Создана
  • Последний ответ

Топ авторов темы

greylynx: имхо, стоит смотреть в сторону u3 флешек, с обычными будет масса проблем ибо автозапуск с флешки в windows отрабатывает как-то странно, в отличие от автозапуска с cdrom

есть мнение, что .cmd выполняется быстрее, чем .bat

И как это удалось выяснить? Секундомером засекали? :)

cmd и bat на современных системах выполняются идентично. Просто cmd понимают ОС начиная с Windows NT и выше. С появлением NT-систем появились некоторые новые команды, но это вовсе не ознаяает, что написав их в файле с расширением bat они не выполнятся - система сама определит и выполнит.

I work in a mixed Windows 2000, Windows NT, and Windows 9x environment. I often build batch files that work properly only under Win2K and NT because the files either call utilities that run only under those OSs or use shell functions that don't exist in Win9x. If a batch file contains portions that don't work under Win9x, running the batch file on Win9x systems can be disastrous.

To prevent problems, when I write batch files that contain no portions that will fail under Win9x, I name the file with a .bat extension, which will run under any Windows version. If I use features that only Win2K and NT support, I name the file with a .cmd extension. Win2K and NT recognize .cmd files as executable and will run them. Win9x doesn't recognize .cmd as an executable file type: If you attempt to run a file with a .cmd extension under Win9x, the OS simply reports a Bad command or file name error message, and no damage is done.

Ссылка на комментарий
Поделиться на другие сайты

есть мнение, что .cmd выполняется быстрее, чем .bat
Что в лоб, что по лбу... В обоих случаях это обычный текстовый файл с теми же самыми командами, обрабатываемый одной и той же программой - командным процессором. Подробнее было тут.
Ссылка на комментарий
Поделиться на другие сайты

Кто-нибудь может предложить другой вариант написания этого батника с описанием каждой процедуры? :blush2:

Задача:

Создать командный файл, который позволяет по требованию пользователя:

1) распаковать архив формата arj в указанный каталог;

2) распаковать архив формата zip в указанный каталог;

3) если не указаны параметры командного файла, выводит подсказку.

Решение:

::decompress.bat

@echo off

if "%~1"=="" goto help

if "%~2"=="" goto help

if /i "%~x1"==".arj" arj x %1 "-ht%~2" -y

if /i "%~x1"==".rar" rar x -y %1 "%~2"\

goto end

:help

echo Usage: decompress archive.ext destination_dir

echo archive.ext is the full name (with extension) of the ARJ or RAR arhive

echo destination_dir is the name of the destination directory for extraction

echo Note: arj.exe and rar.exe have to be in one of the PATH directories

:end

Ссылка на комментарий
Поделиться на другие сайты

Покажите пожалуйста нормальный и правильный синтаксис команды net send.

Мне нужно чтобы было отправлено следующее сообщение:

"Пришла почта!" на комп по адресу 192.168.0.37

Сколько ни пробовал - нет эффекта.

Ссылка на комментарий
Поделиться на другие сайты

Darth Emil: Запусти на обоих машинах службу сообщений - Команда NET SEND неправильно работает на компьютере с системой Windows XP с пакетом обновления 2 (SP2)

синтаксис простой: net send 192.168.0.37 "Пришла почта!"

Ссылка на комментарий
Поделиться на другие сайты

Помогите написать батник :)

Задача:

Создать командный файл, который позволяет по требованию пользователя:

1) открывать калькулятор

2) распаковать архив формата rar в указанный каталог;

3) если не указаны параметры командного файла, выводит подсказку.

Ссылка на комментарий
Поделиться на другие сайты

Weltkind: вот тебе калькулятор,

start %SystemRoot%\system32\calc.exe

а про остальное не очень понятно ибо мало данных.

те не понятно откуда брать данные о файле и параметрах из файла или из входного потока, хотя это почти равнозначно, но всё же уточни ибо писать по 2-3 раза не хочется.

Ссылка на комментарий
Поделиться на другие сайты

Помогите написать батник :)

Задача:

Создать командный файл, который позволяет по требованию пользователя:

1) открывать калькулятор

2) распаковать архив формата rar в указанный каталог;

3) если не указаны параметры командного файла, выводит подсказку.

батник нужен самый обычный, где калькулятор запускается типа так: start/max calc, а вот про архиваторы не могу сообразить только как открыть его а не распоковать :)

Ссылка на комментарий
Поделиться на другие сайты

Weltkind: нет ничего сложного в start %SystemRoot%\system32\calc.exe просто программа должна быть рабочей.

Все подобные "слова", например %systemroot%, %appdata% и тд, указывают на расположение соответствующих папок в Windows, те это стандартные переменные. У тебя %systemroot% может быть иной чем у меня, по сему я и написал батник с ней.

Ссылка на комментарий
Поделиться на другие сайты

Weltkind:

про архиваторы не могу сообразить только как открыть его а не распоковать
Так тебе надо распаковать файл или открыть архиватор?

Чтобы открыть архиватор для обработки какого-то файла, надо просто вызвать этот файл. Чтобы просто открыть архиватор, надо просто вызвать архиватор. Но для этого надо знать, какой архиватор установлен на компьютере, в состав Windows встроенный архиватор для распаковки RAR не включен. Чтобы "молча" распаковать файл архиватором, надо вызвать этот архиватор с параметрами, которые описаны разработчиком архиватора, для каждого архиватора эти параметры будут свои.

А калькулятор можно вызвать просто командой start calc, система сама найдет калькулятор, поскольку системные каталоги при поиске файла просматривает автоматически.

Ссылка на комментарий
Поделиться на другие сайты

pushdrem pushd %1rem pushd %2rem start %SystemRoot%\system32\calc.exeset DirRar=C:\Program Files\WinRARcd %DirRar%rar.exe x %1 %2popd

Обработку ошибок и тд я опустил, а %1 %2 это аргументы при запуске батника те пути откуда брать архив (%1) и куда извлеч файлы (%2)

Вот "стырил" с одного форума :blush2:

Об архиваторе RAR, и о том как им пользоваться

Архиватор RAR может использоваться как приложеие, так и из командной строки. Именно о втором варианте сегодня и пойдёт речь. Режим запуска архиватора RAR из командной строки позволяет более гибко настроить параметры сжатия и управления архивами. Для управления консольной версией архиватора используются команды и ключи, которые вы можете посмотреть ниже.

Использование:

RAR <команда> -<ключ 1> -<ключ N> <архив> <файлы...>

<@файл-список...> <путь_для_извлечения>

<Команды>

a Добавить файлы в архив

c Добавить комментарий архива

cf Добавить комментарии файлов

ch Изменить параметры архива

cw Записать комментарий архива в файл

d Удалить файлы из архива

e Извлечь файлы в текущий каталог

f Освежить файлы в архиве

i[пар]=<стр> Найти строку в архивах

k Заблокировать архив

l[t,b] Показать содержимое архива [техинфо,только имена файлов]

m[f] Переместить в архив [только файлы]

p Извлечь файл на устройство stdout

r Исправить повреждённый архив

rc Восстановить пропущенные тома

rn Переименовать файлы в архиве

rr[N] Добавить информацию для восстановления

rv[N] Создать тома для восстановления

s[модуль|-] Преобразовать архив в/из SFX

t Протестировать архив

u Обновить файлы в архиве

v[t,b] Показать подробно содержимое архива [техинфо,только имена]

x Извлечь файлы с полными путями

<Ключи>

- Прервать дальнейший поиск ключей

ac Снять атрибут 'архивный' после архивации или извлечения

ad Добавить имя архива к целевому пути

ag[формат] Добавить к имени архива текущие дату и время

ao Добавить файлы с установленным атрибутом 'архивный'

ap<путь> Указать путь внутри архива

as Синхронизировать содержимое архива

av Добавить электронную подпись (в зарегистрированной версии)

av- Не проверять электронную подпись

c- Не показывать комментарии

cfg- Запретить чтение конфигурации

cl Преобразовывать имена файлов в нижний регистр

cu Преобразовывать имена файлов в верхний регистр

df Удалить файлы после архивации

dh Открывать совместно используемые файлы

ds Не сортировать файлы при добавлении в непрерывный архив

e[+]<атр> Исключить/включить в обработку файлы с указанными атрибутами

ed Не добавлять пустые каталоги

en Не создавать блок 'конец архива'

ep Исключить пути из имён

ep1 Исключить базовый каталог из имён

ep2 Сохранять полные пути файлов

ep3 Сохранять полные пути файлов, включая буквы дисков

f Освежить файлы

fcu[файл] Прочитать комментарий архива из файла в формате Unicode

hp[пароль] Шифровать содержимое файлов и оглавление архива

id[c,d,p,q] Запретить вывод сообщений

ieml[адрес] Отправить архив по e-mail

ierr Отправлять все сообщения на stderr

ilog[имя] Записывать протокол ошибок в файл (в зарегистрированной версии)

inul Запретить вывод всех сообщений

ioff Выключить компьютер по завершении операции

isnd Использовать звуковые сигналы

k Заблокировать архив

kb При извлечении сохранять на диске повреждённые файлы

m<0..5> Метод сжатия (0-без сжатия...3-обычный...5-максимальный)

mc<параметр> Установить дополнительные параметры архивации

md<размер> Размер словаря, в Кб (64,128,256,512,1024,2048,4096 или A..G)

ms[расш;расш] Указать расширения файлов для архивирования без сжатия

mt<потоки> Установить число потоков

n<файл> Включить в обработку только указанный файл

n@ Прочитать имена файлов для включения в обработку с stdin

n@<список> Включить в обработку файлы, указанные в файле-списке

o+ Перезаписывать существующие файлы

o- Не перезаписывать существующие файлы

oc Устанавливать атрибут NTFS 'сжатый'

or Переименовывать файлы автоматически

os Сохранять потоки NTFS

ow Сохранять/восстанавливать владельца и группу файла

p[пароль] Указать пароль шифрования архива

p- Не спрашивать пароль

r Рекурсивно с подкаталогами

r0 Рекурсивно с подкаталогами в соответствии с шаблоном

ri< P >[:< S >] Приоритет (0-по умолчанию,1-мин..15-макс) и время простоя (мс)

rr[N] Добавить информацию для восстановления

rv[N] Создать тома для восстановления

s[,v[-],e] Создать непрерывный архив

s- Запретить создание непрерывных архивов

sfx[модуль] Создать SFX-архив

si[имя] Читать данные с устройства стандартного ввода (stdin)

sl<размер> Обрабатывать файлы размером меньше указанного

sm<размер> Обрабатывать файлы размером больше указанного

t Протестировать файлы после архивации

ta<дата> Обрабатывать файлы, изменённые после <даты> (ГГГГММДДЧЧММСС)

tb<дата> Обрабатывать файлы, изменённые до <даты> (ГГГГММДДЧЧММСС)

tk Сохранять исходное время архива

tl Устанавливать время архива по времени новейшего файла

tn<период> Обрабатывать файлы не старее, чем <период> времени

to<период> Обрабатывать файлы более старые, чем <период> времени

ts[N] Хранить/восстанавливать время изменения,создания,доступа файла

u Обновить файлы

v Создавать архивные тома с автоопределением размера

v[k,b,m,M] Создавать архивные тома размером=*1000 [*1024, *1, ...]

vd Удалять содержимое сменного диска перед созданием тома

ver[n] Управление версиями файла

vn Использовать старую схему именования томов

vp Делать паузу перед каждым следующим томом

w<путь> Использовать указанный каталог для хранения временных файлов

x<файл> Не обрабатывать указанный файл/шаблон

x@ Прочитать имена исключаемых из обработки файлов с stdin

x@<список> Не обрабатывать файлы/шаблоны, указанные в файле-списке

y Автоматически отвечать 'да' на все запросы

z[файл] Прочитать комментарий архива из файла

к примеру с помощью архиватора rar можно составить bat - исполнительный файл автоматической архивации и попросту резервирования данных

код:

title Backup

mkdir С:backup%date%

С:

cd backup%date%

c:backupwinrar a -v100M -x@c:backupblacklist.txt Base.rar D:1c_basesfiles

\-- здесь

mkdir С:backup%date%- создание папки с именем в виде текущей даты

в папке c:backupwinrar должен лежать файл winrar.exe

нарезка файла по 100 мегабайт

blacklist.txt - список файлов которы не нужно включать в архив

base.rar - название конечного файла архива

D:1c_basesfiles files - конечная папка которую необходимо архивировать

автоматизацию архивирования можно назначить в автозагрузке или службе управления задачами

Изменено пользователем Indomito
Ссылка на комментарий
Поделиться на другие сайты

  • 2 недели спустя...

Простая проблема, а может и нет.

Нужно поменять свойства указателя мышки. Такие как акселерация, скорость и позиционирование. Я по гуглил и нашёл только это -

* rundll32 user,SetCursorPos - переместить курсор мыши в верхний левый угол экрана.

* rundll32 user,SetDoubleClickTime n - задать скорость двойного нажатия левой кнопки мыши (Double Click), соответствующую параметру n.

* rundll32 user,SwapMouseButton - поменять местами клавиши мыши (обратная смена невозможна).

те я нашёл абсолютно не нужные действия, на мой взгляд, а запускать постоянно "Настройку мыши" утомительно/занудно.

Сама проблема возникла из-за некоторых приложений которым, для моего удобства, надо их менять. Как говориться, если в API можно, значит в пакетике можно. :)

Ссылка на комментарий
Поделиться на другие сайты

Позже....

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

Ссылка на комментарий
Поделиться на другие сайты

  • 3 недели спустя...

Подскажите как в батнике в определенном текстовом файле удалить первый символ (#) определенной строки, и как потом его поставить на место?

Ссылка на комментарий
Поделиться на другие сайты

Подскажите, как можно из коммандной строки получить имя раздела в реестре и затем изменить в нем параметры.

Объясню, зачем это нужно.

Есть такая программа Steam, которая, при создании нового пользователя (или после переустановки Windows) создает по пути HKCU/Software/Valve/Steam/Users новый раздел, имя которого состоит из чисел

Нужно в этом разделе поменять пару параметров, которых по умолчанию нет :-(

Как мне кажется, есть один верный путь - взять эталонный экспорт из реестра, после запуска Steam считать название раздела в Users и затем, в эталонном экспорте - заменить на полученные данные.

Вот только как это сделать - ума не приложу

Пробовал использовать пробегавшую тут программу sbs2.com - так она выдает пустой файл на выходе

Ссылка на комментарий
Поделиться на другие сайты

  • 4 недели спустя...

Привет!

Помогите придумать решение такой задачки:

В некотором каталоге есть куча XML-файлов схожей структуры. В каждом из них есть подстрока вида

<From>идентификатор</From>

Задача состоит в том, чтобы разложить файлы в подкаталоги с именами идентификаторов.

Все бы ничего, если бы этот текст находился в отдельной строке файла. Тогда понятно как решать. Но XML не обязательно должен быть разделен знаками перевода строки и возврата каретки. Даже если весь файл - одна строка, даже если очень длинная, если структора не нарушена, то он корректен. Как решить эту задачку для таких файлов?

Первые мысли, которые помогли бы решить задачу:

1) Если каждый знак > дополнить переводом строки. Но как это сделать, непонятно.

2) Если бы удалось вырезать подстроку с идентификатором, пусть даже с From.

Есть какие-то советы по реализации?

В дополнение: задачку надо решить батничком.

Ссылка на комментарий
Поделиться на другие сайты

В дополнение: задачку надо решить батничком.

На мой взгляд, условие нереально. Парсить текст средствами bat вообще очень неудобно.

Ссылка на комментарий
Поделиться на другие сайты

есть еще один вопросик =) .

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

вопрос: как правильно добавить .exe что бы он запускался как служба ?

Ссылка на комментарий
Поделиться на другие сайты

papaha, ворд заюзай) замени > на >^p, или там должна быть кнопка "специальный", нажатие который открывает всплавающее меню в котором ты можешь выбрать на что заменять(знак абзаца там тоже присутствует)

Ссылка на комментарий
Поделиться на другие сайты

  • 3 недели спустя...

Можно ли как-нибудь через bat'ник или reg-файл изменить IP-адрес компа, имя, рабочую группу, адрес прокси и прочие параметры? Было бы удобно: ставишь систему, запускаешь батник и сеть настроена!

Ссылка на комментарий
Поделиться на другие сайты

Darth Emil: для смены настроек IP смотри синтаксис netsh /? имя компа в принципе netdom поменять может, настройки прокси (если для IE) храняться в HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Connections, можно и батником заменять. А вот рабочую группу сменить сложнее.

Ссылка на комментарий
Поделиться на другие сайты

Гость
Эта тема закрыта для публикации ответов.
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу



×
×
  • Создать...