Ru-Board.club
← Вернуться в раздел «Microsoft Windows»

» Задачи на bat-файлах 8

Автор: ComradG
Дата сообщения: 12.06.2010 13:39

Цитата:
res2001

Не, touch я уже на сях себе навалял и без сорсфорджевского проекта. Я говорил про возможность менять метку силами самой системы.

Цитата:
wolf0425

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

Относительно сокрытия ругательств некторых команд reg

Код:
@echo off
setlocal
set BackUp="%userprofile%\_RЁ ¤RЄг┐_-вл\%time:~0,2%%time:~3,2%%time:~-5,2%.reg"
set IsExistKey=reg query hkcu\software\MyKey
2>nul %IsExistKey% >nul
if %errorlevel%==1 (
echo Key does not exist.
goto:eof
) else (
goto:action
)
:action
set /p ChooseAct="Delete key permanently? [y/n] "
if /i %ChooseAct%==y (
1>nul reg delete hkcu\software\MyKey /f >nul
goto:eof
) else if /i %ChooseAct%==n (
1>nul reg export hkcu\software\MyKey %BackUp% >nul
1>nul reg delete hkcu\software\MyKey /f >nul
goto:eof
)
endlocal
exit /b
Автор: mugil_cephalus
Дата сообщения: 12.06.2010 13:47
obla4ko4240019

Код: for /R "c:\windows\inf\" %%a in (oem*.inf) do if /i "_%%~nxa" geq "_oem21.inf" if /i "_%%~nxa" leq "_oem140.inf" dpinst.exe /U "%%a" /S /D
Автор: obla4ko4240019
Дата сообщения: 12.06.2010 14:23
mugil_cephalus
ага, практически то, только наоборот) нужно указывать те файлы, которые не будут удаляться. А в данном случае удаляются указанные файлы
Автор: Mark_Titov
Дата сообщения: 12.06.2010 14:31
...ребята, что нужно поставить чтобы код переменные понимал?
Пишу ему в новом батнике -

Код: Echo >> C:\AN-80\%mes%\log.txt
Автор: res2001
Дата сообщения: 12.06.2010 14:39
Mark_Titov
видимо %mes% не определена
Автор: ComradG
Дата сообщения: 12.06.2010 14:45

Цитата:
...ребята, что нужно поставить чтобы код переменные понимал?

Почитай про команду set.
Автор: yurkesha
Дата сообщения: 12.06.2010 14:55
lorents
поставь паузу в конце - он просто отрабатывает и закрывается окно. При паузе - не закроется
Автор: Mark_Titov
Дата сообщения: 12.06.2010 14:55

Цитата:
видимо %mes% не определена

...да, спасибо, уже догнал )) Исправил.
Благодарю...
Автор: wolf0425
Дата сообщения: 12.06.2010 15:11
ComradG
Цитата:
reg add hkcu\software\MyApp | findstr /i done
Просто лично у меня на серваке все прекрасно работает и сообщение об успешной операции не выводится (как и задумано).
ну так и
reg add hkcu\software\MyApp 1>nul
работает ещё лучше, смысл огород городить с поиском?
Автор: lorents
Дата сообщения: 12.06.2010 15:14
yurkesha
не выходит, может я не та делаю, мне надо скопировать файлы и папки с файлами в определенную папку.
названием папок и фалов которые будут перекидываться я не знаю
и еще как можно сделать чтобы копировались только определенные форматы файлов
Автор: ComradG
Дата сообщения: 12.06.2010 15:18

Цитата:
reg add hkcu\software\MyApp 1>nul

Знаю, знаю. Но помнится жаловались тут, что 1>nul не пашет (разве бывает такоге? Лично за мою многолетнюю практику такого не было).
А на счет временных штампов средствами системы имеются?
Автор: Mark_Titov
Дата сообщения: 12.06.2010 15:19
...еще вопрос такой как определить переменную времени %time%?

set %time%= ???

А то я пишу ему -

Код: текст %time% текст
Автор: ComradG
Дата сообщения: 12.06.2010 15:22
Mark_Titov
set now=%time:~0,2%:%time:~3,2%:%time:~-5,2%

Добавлено:
При использовании переменной now в дальнейшем:
echo %now%
выведет время в формате HH:MM:SS

Добавлено:
Если хочешь переопределить переменную time, то нужно сделать так:

Код: set time=%time:~0,2%:%time:~3,2%:%time:~-5,2%
Автор: wolf0425
Дата сообщения: 12.06.2010 15:32
ComradG

Цитата:
Знаю, знаю. Но помнится жаловались тут, что 1>nul не пашет (разве бывает такоге?
конечно, бывает что он вполне исправно пашет - но толку от этого никакого.
там и пример был, где ты начал | findstr советовать.
И | findstr /i done в том примере не спасает ровно по тем же причинам, что и 1>nul


Цитата:
А на счет временных штампов средствами системы имеются?
а что ты под ними понимаешь?

lorents
Цитата:
не выходит, может я не та делаю, мне надо скопировать файлы и папки с файлами в определенную папку.
я не знаю что надо тебе, а когда я чего-то через д/д отправляю на обработку - я вовсе не расчитываю что это будет куда-то копироваться, а что будет обрабатываться там откуда дропал


Цитата:
и еще как можно сделать чтобы копировались только определенные форматы файлов
copy *.txt c:\folder\
Автор: ComradG
Дата сообщения: 12.06.2010 15:38
lol
Цитата:
И | findstr /i done в том примере не пашет ровно по тем же причинам, что и 1>nul

Перечитал пост, понял что к чему, прошу прощения.

Цитата:
а что ты под ними понимаешь?

Аналогичный вопрос я бы мог задать и тебе, но ладно, коль просишь, поясню: штамп создания файла и его модификации. В PowerShell'е я уже раскурил что к чему, хотелось бы попробовать то же сделать в cmd.exe. На крайний случай тему разбираю и в vbs виде.
Автор: wolf0425
Дата сообщения: 12.06.2010 15:42

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

Цитата:
поясню: штамп создания файла и его модификации.
что такое штамп?
время модификации файла?
call /? до конца дочитал? или for /?
если надо время создания/обращения - то можно dir пропарсить


Автор: lorents
Дата сообщения: 12.06.2010 15:48
wolf0425

Цитата:
я не знаю что надо тебе, а когда я чего-то через д/д отправляю на обработку - я вовсе не расчитываю что это будет куда-то копироваться, а что будет обрабатываться там откуда дропал

понятно, спасибо.
а можно пример, но чтобы работало с файлами включая те, которые в папках и подпапках, и чтобы обрабатывались только файлы *.png, *.jpeg, *.jpg. Т.е надо получить список этих файлов с путями
Буду очень признателен
Автор: ComradG
Дата сообщения: 12.06.2010 15:56

Цитата:
если надо время создания/обращения - то можно dir пропарсить

Похоже вы, батенька, дислексией страдаете или просто за дегенерата принимаете меня. Временные штампы - время создания, модификации и последнего обращения к файлу. И речь не идет об их парсинге, а об изменении. Теперь понятно? Речь не идет о call или for и уж тем более о dir.
P.S. Если я кого-то раздражаю, то пожалуйста, можете не помогать. А мои советы все равно, как писалось в одном из постов, бесполезны.
Автор: Mark_Titov
Дата сообщения: 12.06.2010 15:57
ComradG

Цитата:
set time=%time:~0,2%:%time:~3,2%:%time:~-5,2%

...Супер! Спасибо.
Автор: ComradG
Дата сообщения: 12.06.2010 16:02
Mark_Titov
На всякий случай, если аналогичные проблемы возникнут с датой:

Код: set date=%date:~0,2%/%date:~3,2%/%date:~-2,2%
Автор: Mark_Titov
Дата сообщения: 12.06.2010 16:17
ComradG
...Благодарю.
Автор: WesternLight
Дата сообщения: 12.06.2010 20:51

Цитата:
Mark_Titov
На всякий случай, если аналогичные проблемы возникнут с датой:

Код:
set date=%date:~0,2%/%date:~3,2%/%date:~-2,2%

ComradG, а результат зависит от региональных настроек? И что это такое :~0,2? Не видел в справке к командам, вообще не видел...

Добавлено:

Цитата:
да намутил ты что-то лишнего.
как-то так должно быть, проверяй:

wolf0425, не работает:

Цитата:
@echo off

chcp 1251>nul

reg.exe query "HKCU\Console" /v FaceName|find "Lucida Console">nul || (
1>nul reg.exe add "HKCU\Console" /v FontSize /t REG_DWORD /d 1048576 /f
1>nul reg.exe add "HKCU\Console" /v FontFamily /t REG_DWORD /d 54 /f
1>nul reg.exe add "HKCU\Console" /v FontWeight /t REG_DWORD /d 400 /f
1>nul reg.exe add "HKCU\Console" /v FaceName /t REG_SZ /d "Lucida Console" /f
start "" "%~f0" %*
exit
)

:begin
echo Кракозябрам нет!

pause
exit
Автор: wolf0425
Дата сообщения: 12.06.2010 22:07

Цитата:
И что это такое :~0,2?
два символа переменной начиная со стартового (нулевого). :~-2,2 - последние два символа переменной.
читай set /?
ещё из приколов - можно подстроку на подстроку поменять перед тем значение переменной в строку вставится.

Цитата:
wolf0425, не работает:
ты от Mark_Titov ничего не подхватил?
как именно не работает - предлагается у телепата узнавать?
окно перезапускает при непрописанной люсиде, люсиду прописывает?
или запускает, но по прежнему с терминальным шрифтом, в том числе и при ручном повторном запуске?
если второе - у тебя для батника уже есть сохраненные собственные настройки, где прописан терминал

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

Код: @echo off

chcp 1251>nul

reg.exe query "HKCU\Console" /s | findstr.exe /i /r FaceName.*Terminal && (
for /f "delims=" %%a in ('reg.exe query "HKCU\Console" ^|findstr.exe /b /i /r HKEY_CURRENT_USER\\Console\\. ') do reg.exe delete %%a /f
reg.exe add "HKCU\Console" /v FontSize /t REG_DWORD /d 1179648 /f
reg.exe add "HKCU\Console" /v FontFamily /t REG_DWORD /d 54 /f
reg.exe add "HKCU\Console" /v FontWeight /t REG_DWORD /d 400 /f
reg.exe add "HKCU\Console" /v FaceName /t REG_SZ /d "Lucida Console" /f
start "" "%~f0" %* & exit
)


:begin
echo Кракозябрам нет!

pause
exit
Автор: Mark_Titov
Дата сообщения: 12.06.2010 23:13
...Подскажите пож-ста что прописать в батнике что бы из него запускалось окно cmd с командой на просмотр всех сервисов на удаленной машине?

Заранее благодарю...
Автор: wolf0425
Дата сообщения: 12.06.2010 23:14
никто не подскажет красивого решения - надо удалить все подкаталоги в которых кроме file.txt ничего не лежит.


Добавлено:

Цитата:
окно cmd с командой на просмотр всех сервисов на удаленной машине?

а что понимается под командой на просмотр всех сервисов на локальной машине?
sc query ??
вроде для тебя же писали батник управления сервисами - там совершенно пофиг на какой машине сервисы

Автор: Mark_Titov
Дата сообщения: 12.06.2010 23:26

Цитата:
там совершенно пофиг на какой машине сервисы

...Так нужно что бы поверх этого батника запускалось окно cmd и в нем все сервисы удаленной машины.
Автор: wolf0425
Дата сообщения: 12.06.2010 23:29
нафига тебе поверх одного окна со всеми сервисами удаленной машины - второе окно со всеми сервисами удаленной машины?
что ты хочешь от окна cmd ???
Автор: Mark_Titov
Дата сообщения: 12.06.2010 23:39

Цитата:
нафига тебе поверх одного окна со всеми сервисами удаленной машины - второе окно со всеми сервисами удаленной машины?

...Первое окно четко зафиксировано -

mode con lines=50 cols=110

...и весь список сервисов и процессов моего сервака там не в мещается, потому как полосы прокрутки там нету.
Автор: wolf0425
Дата сообщения: 12.06.2010 23:53

Цитата:
весь список сервисов и процессов моего сервака там не в мещается, потому как полосы прокрутки там нету.
так что, тебя ещё учить как размер окна настраивать и полосу прокрутки прикручивать?
Автор: Mark_Titov
Дата сообщения: 12.06.2010 23:55

Цитата:
так что, тебя ещё учить как размер окна настраивать и полосу прокрутки прикручивать?

))) на оборот она мне не нужна, (если бы она включалась ТОЛЬКО в нужном месте батника, не меняя выставленный размер окна, тогда было бы супер - но это не реально насколько я понимаю) я в качестве фишки хочу прикрутить это. Поможешь?

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132

Предыдущая тема: XP не видит второй раздел на съемном USB-HDD


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