Ru-Board.club
← Вернуться в раздел «Программы»

» Командная строка, батники, сценарии (bat, cmd)

Автор: kalkin5
Дата сообщения: 18.12.2009 16:06
есть возможность через батник создать Desktop.ini файл в папке и поменять атрубуты оной, чтобы при ее отображении в проводнике была видна иконка вместо стандартной картинки желтой папки?
если да, напишите пож-та простенький пример как это сделать
Автор: 01MDM
Дата сообщения: 18.12.2009 20:49
kalkin5

Код:
@echo off
1>"Папка\desktop.ini" (
echo здесь несколько
echo параметров
echo вносимых в decktop.ini
echo.
echo Надеюсь понятно
)
attrib +`нужный атрибут?'
Автор: Altus
Дата сообщения: 20.12.2009 12:25
Deep2007

Цитата:
Вроде видел где то на этом форуме, если что - не бейте ногами. Вопрос такой - как (и можно ли) в CMD издать звук через системный динамик?

Да, можно. Достаточно добавить в нужном месте символ с кодом 0х07. Чтобы не вываливалось ошибок в этом месте, надо этот символ вывести, например, через эхо:

Код: @echo 
Автор: regweb
Дата сообщения: 20.12.2009 12:33
Вот здесь нашел полный справочник по командам CMD cmd команды
Автор: Deep2007
Дата сообщения: 21.12.2009 09:40
regweb, да, хороший справочник. Хреново только, что его скачать нельзя (точнее, можно, конечно, но уж больно геморойно).

Altus, спасибо за помощь, только немного не догнал как надо писать. Так (в моем примере цифры заменил словами): @echo нольхноль семь - не работает. Если можно - напишите в том же стиле, а то
Цитата:
@echo 
не понял как правильно написать...
Автор: artemk
Дата сообщения: 21.12.2009 11:11
доброго времени суток.

у меня пользователям при входе мапятся сетевые диски net use z: \\server\sara
после этого в моем компьютере под диском z: видно откуда он: shara (\\server)
можно как-нить эту информацию убирать? чтоб было просто z: Shara
Автор: Deep2007
Дата сообщения: 21.12.2009 13:10
На сайте, указанном regweb можно скачать полный справочник по командам CMD, но моя Avira увидела в нем вирус - TR\Dropper.Gen...
Автор: regweb
Дата сообщения: 21.12.2009 14:55
А у меня Nod стоит и никакого вируса на сайте не нашел. Странно!
Автор: Deep2007
Дата сообщения: 21.12.2009 15:03
Вирус не на сайте, а в распакованном архиве sprkom.rar, в файле СпрПарКомСтроки.exe. Архив скачивается как Справочник параметров командной строки v1.2.
Altus, растолкуйте, все же, как правильно писать команду для звука в системном динамике, а то сам не пойму...
Автор: newhk
Дата сообщения: 21.12.2009 15:31
народ, есть начало
@Echo on

for /L %%x IN (1,1,254) DO ping 192.168.82.%%x (в этом я более менее разобрался)

цель: необходимо пингануть подсеть, затем сравнить с таблицей маршрутицайии (arp /a)
после чего произвести подстановку (ну или как то присваивать сразу мас) и вывести инфу в файл, скажем в таком виде
IP=MAC

можете помочь?
Автор: Ang
Дата сообщения: 21.12.2009 15:41
Deep2007
Если вопрос в том, как набрать символ с кодом 007, то делаем в тестовом редакторе так: нажимаем Alt, на NumPad-е (те цифровые клавиши, что справа ) набираем 0, 0, 7 и отпускаем Alt.
Автор: newhk
Дата сообщения: 21.12.2009 16:48
новые подробности и упрощение задачи, просто пингануть сеть
for /L %%x IN (1,1,254) DO for /L %%y IN (1,1,254) DO set ping 192.168.82.%%y
при такой команде пинг зацикливается, что сделать чтобы ему задать рамки?
Автор: Cosmogor
Дата сообщения: 21.12.2009 19:38
Доброго времени суток.
Подскажите пожалуйста в скрипте.

Код:
setlocal
SET "BEHOLDTV=HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\BEHOLDTV"
for /f "tokens=2*" %%a in ('reg query "%BEHOLDTV%" /v UninstallString ^| find /i "UninstallString"') do set "instdir=%%b"


Переменная %instdir%
выводит вот такую строку:

C:\Program Files\Drivers\BeholdTV\BhUninst.exe

а хотелось бы, чтоб вот так было:

C:\Program Files\Drivers\BeholdTV

Просто путь к установочной папке,
без названия этого файла BhUninst.exe
В tokens я не силён, да и в батниках тоже.

Спс.
P/S: С наступающим Новым годом.
Автор: Altus
Дата сообщения: 21.12.2009 20:20
Deep2007
Как предлагает Ang, не работает в блокноте, наверно корректно обрабатываться будет только в офисных приложениях. Можно в ворде открыть и поставить символ. Визуально это будет такая большая точка посередине.
Я это делаю в фаре, ставлю пробел, выбираю Hex редактор (ещё раз F4) и заменяю код пробела 0х20 на 0х07.

Кстати, у меня получается скопировать из этого примера на странице
Код: @echo 
Автор: yurkesha
Дата сообщения: 22.12.2009 08:55
Cosmogor
Код: setlocal
SET "BEHOLDTV=HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\BEHOLDTV"
for /f "tokens=2*" %%a in ('reg query "%BEHOLDTV%" /v UninstallString ^| find /i "UninstallString"') do set "instdir=%%~dpb"
Автор: Cosmogor
Дата сообщения: 22.12.2009 13:22
yurkesha

Спасибо друг, выручил.
Всего-то надо было добавить ~dpb
Автор: Deep2007
Дата сообщения: 22.12.2009 14:05
Помогите с такой проблемой:
Есть 2 файла: 1.lng и 2.lng. Это - тестовые языковые файлы в кодировке ANSI. 1.lng - русский языковой файл от старой версии, строки из которого хочу корректно перенести в англ. языковой файл от новой версии 2.lng.

Пример текста из файла 1.lng:
[more]
[TMainForm]
TabPages.0=Каталоги
TabPages.1=Категории

[STRINGS]
001=Неиспользованная кнопка
003=Ошибка при сохранении конфигурации

[TIPS]
001=...программа не бесплатна? Регистрируясь, вы помогаете автору в разработке новых версий программы, а также получаете доступ к использованию всех ее возможностей.
002=...вы можете настроить размер кнопок панели инструментов? Загляните в настройки и установите размер, более всего подходящий для вашего экрана.

[TLendingDisksForm]
NameLabel=На руках у /047 Взят у:
RadioAvailable=Доступен
[/more]

Этот же текст в файле 2.lng:
[more]
[TMainForm]
TabPages.0=Catalogs
TabPages.1=Categories

[STRINGS]
001=Unused button
003=Error saving config

[TIPS]
001=...this program is not free? By registering, you will support the shareware concept and help the author to develop newer, more advanced versions. You will also receive a registration code to unlock the program to its full potential.
002=...you can adjust size of buttons in a toolbar. Have a look in the program settings and resize them to fit your screen best.

[TLendingDisksForm]
NameLabel=Lent to /047 Borrowed from:
RadioAvailable=Available
[/more]
Структура файлов:

Секции (то, что заключено в [], например [TMainForm]):
1. Всегда начинаются с новой строки, и написаны без переносов.
2. Символ [ в имени секции всегда первый в строке (так их можно находить в документе).
3. Максимальная длина имени секции (без учета []) = 18
4. После последней строки в секции всегда следует пустая строка.


Строки (например, TabPages.0=Каталоги):
1. Всегда начинаются с новой строки, и написаны без переносов.
2. Содержат левую и правую часть, между ними символ =
3. Строки в одинаковых секциях двух файлов идентифицируются по левой части, правая часть (после =) выводится текстом в программе.
4. Левые части строк в разных секциях могут совпадать, отсюда необходимость учета секций.
5. Внутри строк также могут встречаться символы [], но они не первые в строке.


Пакетный файл:
1. Находит в файле 2.lng первую секцию, и ищет в файле 1.lng такую же секцию.
Если успешно - переходим к п.2, если не найдена такая секция в файле 1.lng - переходим к сл. секции в файле 2.lng.
2. Находит в текущей секции файла 2.lng первую строку, и ищет в файле 1.lng в той же секции ту же строку.
Если успешно - из файла 1.lng копируется правая часть строки (после символа =), и этим заменяется правая часть такой же строки в файле 2.lng.

Напишите, пожалуйста, файл .cmd чтобы перенести русский текст из файла 1.lng в файл 2.lng.

PS. Не все секции и строки из файла 2 существуют в файле 1. Поэтому заменены будут не все строки и не все секции. Пути к файлам не нужны, т.е. файлы 1, 2, и .cmd находятся в одной папке. Система -XP Pro русская.
Если что упустил - допишу.
Автор: Cosmogor
Дата сообщения: 22.12.2009 14:07
В приведённом ниже скрипте
хочу осуществить проверку времени в системе.
Если время между 08:00-00:00, то одно сообщение.
Если время между 00:00-08:00, то другое сообщение.
Но из затеянного ничего не получается,
подскажите в чём я не прав?
Ведь переменная %tm% перечисляет время,
а в if не отображается.


Код:
for /l %%a in (0,1,8) do if %time:~0,2%/ equ %%a/ set "tm=0%%a"

if "time /t"=="%tm%" (GOTO Yes) ELSE (GOTO NO)
EXIT

:Yes
Chcp 1251
msg * Время между 08:00-00:00
EXIT

:NO
Chcp 1251
msg * Время между 00:00-08:00
EXIT


Сп.
Автор: dimbat
Дата сообщения: 22.12.2009 14:28
В продолжение к теме "Как вызвать консоль из контекстного меню файла". Вот тут она поднималась, но до конца так и не реализована.
Идея вызывать через контекстное меню проводника путь до файла и вставлять его в командную строку для последующего ввода ключей и прочих нужд.
Т.е. известную тему "открыть cmd в текущей папке":
[HKEY_CLASSES_ROOT\Directory\shell\OpenCommandLine\command]
@="cmd /k cd %1"
переделать для файла.
Если кто добился реализации, буду признателен за обнародование.
Или наводки, готов поэкспериментировать...
Спасибо.
Автор: newhk
Дата сообщения: 22.12.2009 14:32
требуется из текстового файла удалить повторяющиеся строки, как это можно реализовать?
Автор: Cosmogor
Дата сообщения: 22.12.2009 14:37
Deep2007

Может это тебе поможет ?
Автор: Deep2007
Дата сообщения: 22.12.2009 14:48

Цитата:
Может это [?] тебе поможет ?

Это по теме, спасибо тебе, Cosmogor, только ума у меня не хватит приспособить это под себя.
PS. Да и геморно очень писать руками что на что менять - быстрее тогда уже руками все сделать.

Автор: kermit
Дата сообщения: 23.12.2009 14:10
newhk

Цитата:
требуется из текстового файла удалить повторяющиеся строки, как это можно реализовать?

я делал это с помощью sort и grep из Cygwin
можно еще импортировать в эксель и сделать через сводную таблицу


Добавлено:
Deep2007

Цитата:
Вроде видел где то на этом форуме, если что - не бейте ногами. Вопрос такой - как (и можно ли) в CMD издать звук через системный динамик?


вот еще
вариант ( в конце страницы)

Автор: kalkin5
Дата сообщения: 23.12.2009 16:21
01MDM
спасибо, атрибуты для папки нужны: архивный, только для чтения
и не нужны: системный, скрытый
а сам созданный файл desktop.ini должен быть скрытый

и еще вопрос, не работает такая команда:
nircmd.exe execmd for %%a in ("~$folder.common_programs$\office\utils\*.*") do exit
что нужно исправить?
Автор: TNR
Дата сообщения: 25.12.2009 05:31
Помогите навоять небольшой cmd для обновления КонсультантПлюс ...

Задача:
1. Найти на разделах файлик cons.exe
2. Запустить распаковку архива с обновлениями в папку где лежит файлик cons.exe
3. После распаковки запустить само обновление Cons.exe /ADM /RECEIVE /BASE* /YES
Автор: klserg
Дата сообщения: 25.12.2009 08:37
Нужна помощь
Есть файлы формата ???_???_???.??? (11 символов название)
Как стредствами bat вырезать середину названия, тоисть оставить только 4 первых и 4 последних символа
Автор: mugil_cephalus
Дата сообщения: 26.12.2009 12:58
klserg

Код: setlocal enabledelayedexpansion
for %%i in (путь\???_???_???.???) do set "var=%%i" &set "var=!var:~0,4!!var:~-4!"
Автор: Deep2007
Дата сообщения: 26.12.2009 16:34
regweb писал:

Цитата:
Вот здесь нашел полный справочник по командам CMD cmd команды


Автор этого справочника - Гариф Саитов, это - его сайт . С разрешения автора разместил справочник по CMD (формат .chm, делал я сам), по его информации.
Разместил на депозите, зажат в архив 7z, размер архива - 467 кб.
скачать
Автор: mozers
Дата сообщения: 26.12.2009 20:42
Deep2007
А тот справочник, что сам автор откомпилировал (ссылка на этой странице) чем не нравится?

Добавлено:
Качнул и все понял.
"Справочник по параметрам командной строки" v1.1 которым я давно уже пользуюсь был выполнен в виде культурного chm файла с Указателем и закладкой "Избранное".
Новый вариант v1.2 (на него указывает ссылка с сайта) автор откомпилировал в exe, что, на мой взгляд, при внешней красоте, затрудняет его использование. Ну, сравнивайте сами...
Лично мне зачастую удобнее пользоваться встроенной виндовой справкой (в SciTE-Ru она вызывается на любом выделеном слове аж двумя вариантами: Shift+F1 - печатный вариант в консоль или просто F1 - ntcmds.chm (не забывайте что такой чудесный файлик имеется в стандартной ХР).
Автор: Fearless2006
Дата сообщения: 27.12.2009 13:45
Доброго времени суток. помогите пожалуйста решить такую задачу: "Создать командный файл, который организует отображение на экране содержимого всех указанных файлов текущего каталога, делает запрос на необходимость копирования. В случае положительного ответа копирует эти файлы на дискету"
вот чего смог добиться своими усилиями

@echo off
dir
if exist %1 goto n
echo file not found %1
goto end
:n
type%1
xcopy /w A:\
end

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667

Предыдущая тема: SAS.Планета (часть 2)


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.