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

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

Автор: mouser
Дата сообщения: 22.02.2010 14:35
dvk54
wget тоже копирует по файлово... нужно папку кинь пример если из перечисленых ты уверен в том что можно скопировать папку
Автор: Smokeer
Дата сообщения: 22.02.2010 14:54
можно ли из командной строки найти все текстовые файлы по маске и поменять в них одну комбинацию символов на другую?
В реале имеем ини-файлы в профилях пользователей, нужно сразу всем пользователям поменять некоторые настройки.
Автор: dotzent
Дата сообщения: 22.02.2010 15:14
задача:
1. Есть структура папок и файлов в них.

Код: d:\folder\
d:\folder\folder1\
d:\folder\folder1\folder1a\
d:\folder\folder1\folder1a\file1.ext
d:\folder\folder1\folder1b\
d:\folder\folder1\folder1b\file2.ext
d:\folder\folder1\folder1 c\
d:\folder\folder1\folder1 c\file3.ext
d:\folder\folder2\
d:\folder\folder2\folder2a\
d:\folder\folder2\folder2a\file4.ext
d:\folder\folder2\folder2 b\
d:\folder\folder2\folder2 b\file5.ext
d:\folder\folder2\folder2с\
d:\folder\folder2\folder2с\file6.ext
Автор: mugil_cephalus
Дата сообщения: 22.02.2010 22:51
ScreamWolf
1) если шаманить с кодировкой/раскодировкой (ansi, utf8) , то конфиг файл лузер при кракозябрах в notepad'e может попытаться открыть через word - там авто распознавание кодироки или online -сервисом http://2cyr.com/decode/?lang=ru
2) ели не важно код в батнике, то проще спрятать конфиг в реестре
в батнике это будет выглядеть так:
Примеры
Далее приведены примеры использования команды reg query.

reg query "hklm\system\currentcontrolset\control\session manager" /v maxstacktracedepth

reg query "hkcu\software\microsoft\winmine" /s
3) способы запрета модификации кода батника:
a) компиляция
б) управление правами доступа
см. cacls
в) шифрование - напрмер, microsoft script encoder
г) ntfs-шифрование
см. Cipher
д) архив с паролем


Добавлено:
Smokeer
http://forum.ru-board.com/topic.cgi?forum=2&topic=2922&start=16&limit=1
Автор: dvk54
Дата сообщения: 22.02.2010 23:32
mouser

Цитата:
dvk54
wget тоже копирует по файлово... нужно папку кинь пример если из перечисленых ты уверен в том что можно скопировать папку


пусть есть ftp://10.0.0.1 с папкой 1, логин login и пароль passw
тогда чтобы выкачать папку 1 и все что ниже

Код: wget -r ftp://login:passw@10.0.0.1/1/*
Автор: ScreamWolf
Дата сообщения: 23.02.2010 03:58
mugil_cephalus

Цитата:
спрятать конфиг в реестре

конфиг может насчитывать и 10 и 50 и даже 100 строк, думаю уж очень круто это в реестр пихать

Цитата:
microsoft script encoder

не смог разобраться, если приведете примеры скриптов шифрования и дешифрования, буду благодарен.

Цитата:
Cipher

Это терминал сбора данных. Или я как-то не так искал...

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


Цитата:
архив с паролем

А вот это в принципе может подойти - буду пробовать. Что-то я про пароли на архивы забыл
Автор: mugil_cephalus
Дата сообщения: 23.02.2010 07:56
ScreamWolf

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

http://msdn.microsoft.com/en-us/library/xw61tsx7(VS.85).aspx
http://www.microsoft.com/downloads/details.aspx?FamilyId=E7877F67-C447-4873-B1B0-21F0626A6329&displaylang=en

Цитата:
конфиг может насчитывать и 10 и 50 и даже 100 строк, думаю уж очень круто это в реестр пихать

3 подраздела по 30 строк
Автор: ScreamWolf
Дата сообщения: 23.02.2010 08:40
mugil_cephalus

Цитата:
microsoft script encoder

в принципе это меня уже устроит, но вот тока проблема: screnc не понимает путей с русскими папками

Цитата:
3 подраздела по 30 строк

да это я понимаю что можно распихать по подразделам, но это писанины много при создании, при считывании... А по мимо всего батник проверяет на сервере новую версию, если же находит, то соответственно необходимо будет выборочно перезаписывать ключи. Кол-во варьируется... это очень большой код получится... как бы в нем самому не запутатся...
Автор: mugil_cephalus
Дата сообщения: 23.02.2010 10:48
ScreamWolf

Цитата:
да это я понимаю что можно распихать по подразделам, но это писанины много при создании, при считывании...

в начале батника заименуй их в переменные и далее в командах reg add , reg query, reg delete только пропиши переменные типа
reg add %hkey1% /v %hparam1% /t %htype1% /d %hvalue1%
кстати, конфиг можно всунуть в сам батник - http://forum.ru-board.com/topic.cgi?forum=62&topic=17154&start=1980#21
Автор: ScreamWolf
Дата сообщения: 23.02.2010 11:13
mugil_cephalus

Цитата:
заименуй их в переменные

их слишком много... + при обновлении ведь могут появится новые ключи...
тогда придется делать отдельный компонент с пачкой переменных. В общем не то...

Цитата:
конфиг можно всунуть в сам батник

не катит, т.к. обновляться программа будет так: качает сначала новый конфиг, считывает и изменяет компоненты программы (отдельные файлы)
Автор: mugil_cephalus
Дата сообщения: 23.02.2010 11:47
ScreamWolf

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

можно конфиг менять и в самом батнике, рекурсивно, - http://forum.ru-board.com/topic.cgi?forum=2&topic=2922&start=16&limit=1
Автор: dotzent
Дата сообщения: 23.02.2010 13:38

Цитата:
dotzent
организуй рекурсивный обход результирующих папок с командой для каждого файла ххх в них
if exist c:\all\xxx copy c:\all\xxx c:\текущая папка\xxx /Y

Не понимаю как именно сделать это для каждого файла. Их порядка 300-400.
И вместо copy придется move использовать, т.к. файлы огромные.

Отбрутфорсил, слегка пораскинув мозгами не без помощи выше описанного совета.

Код: for /r "d:\folder\" %%a in (*.ext) do move /y "d:\all\%%~nxa" "%%a"
Автор: mouser
Дата сообщения: 23.02.2010 14:48
dvk54
wget
Цитата:
wget -r ftp://login:passw@10.0.0.1/1/*


как чтоб копировал более 4-х директорий в глубь

AutoPatches\kav9exec\9.0.0.736\sys\


Добавлено:
dvk54
wget
Цитата:
wget -r ftp://login:passw@10.0.0.1/1/*


как чтоб копировал более 4-х директорий в глубь

AutoPatches\kav9exec\9.0.0.736\sys\


Добавлено:
AutoPatches\kav9exec\9.0.0.736\sys\i386\

уже не видит

Добавлено:
туплю
--level=0
Автор: ScreamWolf
Дата сообщения: 24.02.2010 11:08

Цитата:
screnc не понимает путей с русскими папками

Батник пишется в AkelPad'e сразу в OEM. Как мне заставить screnc.exe понимать русский текст???
Автор: mugil_cephalus
Дата сообщения: 24.02.2010 12:44
ScreamWolf

Цитата:
Батник пишется в AkelPad'e сразу в OEM. Как мне заставить screnc.exe понимать русский текст???

http://forum.ru-board.com/topic.cgi?forum=62&topic=17154&start=2000#2
Автор: Andrew_L
Дата сообщения: 24.02.2010 16:31
Как передать vbs-скрипту параметр, содержащий кавычки?
Тут нашел вариант получения всей строки параметров через WMI, но как-то сложновато для меня это. Неужели нельзя как-то проще, без WMI? И зачем вообще кавычки из параметра удаляются автоматом - до сих пор неисправленный баг что ли?
Автор: mugil_cephalus
Дата сообщения: 24.02.2010 17:24
Andrew_L
в аргументах кавычки нужны для экранирования пробелов в аргументе
http://forum.ru-board.com/topic.cgi?forum=33&bm=1&topic=1491#1
в батниках - echo %*
Автор: Andrew_L
Дата сообщения: 24.02.2010 18:55
mugil_cephalus

Цитата:
в аргументах кавычки нужны для экранирования пробелов в аргументе

Не, я не об этом. Я о том, что, если в vbs-скрипт предать строку, например, такую: "тест1"тест2"тест3" или даже такую "тест1""тест2""тест3", то в самом скрипте параметр, кавычек не содержит, т.е. равен "тест1тест2тест3".


Цитата:
http://forum.ru-board.com/topic.cgi?forum=33&bm=1&topic=1491#1

Переехал сюда со своим вопросом.
Автор: 587alex
Дата сообщения: 25.02.2010 18:12
Подскажите как заставить выполняться bat файл в определенное время причем только один раз в сутки?
Это для примера оно не работает... может 4nt поможет?
:start
iff %time:~0,5 ge 15:00 then
delay 30
goto start
else echo %time
endiff
Автор: ScreamWolf
Дата сообщения: 26.02.2010 10:03
mugil_cephalus

Цитата:
ScreamWolf


Цитата: Батник пишется в AkelPad'e сразу в OEM. Как мне заставить screnc.exe понимать русский текст???



http://forum.ru-board.com/topic.cgi?forum=62&topic=17154&start=2000#2
Автор: mugil_cephalus
Дата сообщения: 26.02.2010 12:37
ScreamWolf
здесь глючило synpad - http://forum.ru-board.com/topic.cgi?forum=62&topic=17154&start=2000#2
может, по аналогии, у тебя глючит AkelPad?
попробуй сохранить файл в wordpad'e (в пример этот способ помог, хотя везде была 866-ая codepage)
Автор: OnePrg
Дата сообщения: 26.02.2010 19:46
Пишу батник:

Set Arc = "C:\Program Files\7-Zip\7z.exe"
Set PathIn = "D:\temp\*.*"
"C:\Program Files\7-Zip\7z.exe" a -tzip temp.zip %PathIn%


При выполнении:

D:\>Set Arc = "C:\Program Files\7-Zip\7z.exe"
D:\>Set PathIn = "D:\temp\*.*"
D:\>"C:\Program Files\7-Zip\7z.exe" a -tzip temp.zip

Вопрос: почему не видит PathIn?
Автор: Alex_Kanahin
Дата сообщения: 26.02.2010 20:29
587alex
Поставь запуск батника в назначенные задания. У меня так архивация 1Ски настроена.
Автор: december2010
Дата сообщения: 27.02.2010 01:59
Мужики. Вопрос.
Есть текстовик 1.тхт в нем в столбец прописаны диры из команды dir c:\ /B
нужно объединить их в одну строку по 100 символов с разделителем ":"
конечно количество строк будет зависеть от исходного содержимого.
чтобы вышло примерно так
windows:inetpub:wmpub:log.txt:

помогите решением плз.
Автор: dvk54
Дата сообщения: 27.02.2010 10:43
возьми что-то вроде бреда или акеллапада и сделай поиск и замену.
разбор строк можно можно сделать через фор, но на выходе все равно отдельные строки. Не нашел с разгону.
Автор: december2010
Дата сообщения: 27.02.2010 10:58
Я могу работать только стандартными командами винды и только через консоль. Т.е. какието сторонние программы не возможно использовать из за отсутствия инета.
Автор: dvk54
Дата сообщения: 27.02.2010 13:29
тогда проблема...
все утилиты по работе с файлами ориентированы на ПОСТРОЧНУЮ обработку. По крайней мере, других в винде не попадалось. а тебе надо в одну строку все слепить, те убрать \r\n... Пока из этого тупика выхода не вижу.
Кста, в ворде тоже можно заменить переводы строк двоеточиями. Ливесд походу?

Добавлено:
уточни условия и конечную задачу - возможно есть другое решение.
Автор: mugil_cephalus
Дата сообщения: 27.02.2010 13:42
december2010
http://forum.ru-board.com/topic.cgi?forum=2&topic=2922&start=16&limit=1
или

Код: for /f "tokens=*" %%i in ('type G:\scripts\test\lst.txt') do 0>nul 1>>G:\scripts\test\lst2.txt set /p="%%i:"
pause
Автор: sukanegoni
Дата сообщения: 28.02.2010 00:48
Здравствуйте. А возможно ли (в принципе) работать с DirectX (Direct3D) - рендерить графику, вызывать функции библиотеки из батника без каких-либо посторонних программ?

Извиняюсь за ник... Долго не мог зарегистрироваться - а потом на тебе - когда не надо и прошло... А теперь срочно спросить захотелось... Ответьте пожалуйста, очень волнует вопрос больное воображение...
Автор: 01MDM
Дата сообщения: 28.02.2010 10:26
sukanegoni
Нет, без сторонних утилит нельзя.

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667

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


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