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

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

Автор: RMR
Дата сообщения: 11.01.2010 21:59

Код: for /f %%i in ('fsutil fsinfo drives ^|more') do (
echo %%i
)
Автор: bomzzz
Дата сообщения: 11.01.2010 22:15

fsutil.rar
а у табе аткие файлики есть???. могет быть что в семерке оно немного по другому називаица. подложь к батнику в папку.

вот спасибо теперь понятно как создать нулевой файл - это надо для очистки The Bat! и кеша во мазиле флоке и камелеоне
Автор: arjuna_new
Дата сообщения: 11.01.2010 22:33
Помогите создать простой батник для изменения в реестре нескольких значений и запуска после этого трех экзешников которые находятся в той же папке что и батник.
Еще все это находится на флешке, поэтому букву диска заранее не знаешь.

1 ключ

REG DELETE HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System /v DisableRegistryTools /f

2 ключ

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon]
"Shell"="Explorer.exe"
"Userinit"="C:\\WINDOWS\\system32\\userinit.exe"

3 ключ

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System]
"DisableTaskMgr"=dword:00000000

Дальше по очереди должны запуститься три экзешника в той же папке.
Автор: CompModdd
Дата сообщения: 11.01.2010 23:33
bomzzz
Вы не поняли, мне нужно найти и заменить, взяв при этом путь из переменной, а строк в которых надо найти и заменить много.
Автор: bomzzz
Дата сообщения: 11.01.2010 23:38
все я понял. если бы у тебя чета принципиально не получалось то это почти тоже самое, а не готовый скрипт. к тому же задача поставлена нечетко.
ну так же - надо считать строку из файла ее отредактировать и приделать все что хочешь к ней.
FOR /F "EOL=C delims=*" %%I IN (MYFILE.REG) DO (

ВОТ ЭТА ЧЧАСТЬ БУДЕТ ДЛЯ КАЖДОЙ СТРОКИ ВЫПОЛНЯТЬСЯ ПО ОЧЕРЕДИ
)
это при условии что * точно нигде попадаться не будет. это EOL=C пропускать пустые строки


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

FCleaner.rar 2,59 КБ (2 661 байт)

надо его наверно на форум сисиклинира выложить пусть прогу доработают

уже исправил небольшую ошибку и добавил проверку на существование путей
Автор: CompModdd
Дата сообщения: 13.01.2010 01:05
bomzzz
2 часа сидел читал инструкцию к команде FOR так нечего и не понял из вашего примера.
Я не силен в командной строке. Не могли б вы написать готовый скрипт по примеру приведенного ниже

MD ЭтоНадоЗаменить\Application Data\

Заменить надо на путь который находится в переменной %userprofile%
или

MD %userprofile%\Application Data\

Где %userprofile% будет будет путь к профилю
Строк таких в текстовом файле много.
В конечном итоге должно получиться к примеру так
MD C:\Documents and Settings\User\Application Data\

Буду вам очень благодарен.
Автор: bomzzz
Дата сообщения: 13.01.2010 01:52
думаешь я меньше читал, и до сих пор читаю - я на память конечно этого не понмю всего - не так часто батники пишу, до сих пор понять полет мысли того кретина кто написал справку к винде не могу. надо брать какую нибудь хорошую статейку в инете с примерами.

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

FOR /F "EOL= skip=1 delims=*" %%I IN (MYREG.REG) DO (

)
вот этак конструкция будет считывать по одной строчке из файла, присваивая ее переменной I и выполнять операторы между скобками.

если ЭТО НАДО ЗАМЕНИТЬ всегда одной и той же длины по количеству знаков

%I:~18%
Автор: CompModdd
Дата сообщения: 13.01.2010 02:06
Пустых строк и с пробелами тоже нет.

Добавлено:
пустых строк нет и знаков всяких и пробелов тоже нет

все строки батника это команды добавления и удаления в реестр значений
к примеру
REG ADD "HKCU\Software\microsift\office" /f /v "bilgeits" /t REG_SZ /d "%userprofile%\Application Data\"

вот тут и нужно заменить %userprofile% на полный путь.
Автор: bomzzz
Дата сообщения: 13.01.2010 02:35
у меня самого не работает не знаю почему - как for работает я тебе объяснил

Добавлено:
CompModdd
http://forum.ru-board.com/topic.cgi?forum=5&bm=1&topic=29819&start=1400
САМЫЙ верхний пост сматри
Автор: bomzzz
Дата сообщения: 13.01.2010 09:54
CompModdd
сделал ноконец то, конечно я все забыл уже. весь изматерился - нашел совершенно случайно. причем делал уже это один раз - так же через пень колоду.

Цитата:

ECHO OFF
COLOR 9F
CLS
setlocal enabledelayedexpansion
ECHO OFF> NEWFILE.TXT
FOR /F "EOL= skip=1 delims=*" %%I IN (MYFILE.TXT) DO (
SET NEWSTRING=%%I
ECHO NEW!NEWSTRING:~3!>> NEWFILE.TXT
)
PAUSE

где - MYFILE.txt это твой файл REG НУ или изначальный файл
3 - это количество знаков которое надо откинуть с начала каждой строки, мне не известно оно всегда одинаковое или все же другие критерии обрезания.
NEW это текст который нужно добавить вместо обрезанного в начало
ECHO OFF> NEWFILE.TXT эта строка для отладки использовалась чтоб файл стирался получаемый с начала при каждом испытании - ее можно стереть
"EOL= это пропускать строки начинающиеся с пробела или пустые строки если не надо выкинь
skip=1 это пропускать 1 строку сверху - не надо выкинь
delims=* это знак разделения строки, так как по умолчанию это пробел и ТАБ , а в твоих строках наверняка будут пробелы то строки будут считываться с начала строки до первого пробела, а * не используется в путях и именах файлов так что скорее всего ее у тебя не будет в строках, ну если будет то другой знак придумай, выкинуть это нельзя
NEWFILE.TXT эта новый файл отредактированный
NEWSTRING ну это просто переменная без нее скорее всего тоже можно обойтись но мне уже лень делать дальше
а эта setlocal enabledelayedexpansion вот такая штукенция которая позволяет менять значение переменных внутри цикла если использовать вместо % !.
PAUSE ну эта пауза она тебе наверно не нужна будет - выкинь
ECHO OFF эта чтоб служебные сообщения не выводились на екран
COLOR 9F эта чтоб цвет окошка был повеселее а не траурный
CLS это очистка экрана
результат работы батника вот из ьакого фала

Цитата:

111111111111111
222222222222222
333333333333333
444444444444444
555555555555555
666666666666666
777777777777777
888888888888888
999999999999999

получаеца такой

Цитата:

NEW222222222222
NEW333333333333
NEW444444444444
NEW555555555555
NEW666666666666
NEW888888888888
NEW999999999999

единички выкинулись из за скип 1, а семерки из за пробела в начале строки
Автор: tanichkabanichka
Дата сообщения: 14.01.2010 03:26
Здравствуйте. Извините меня за плохой русский. Я из Болгарии.
У нас есть очень распространенный вирус, который передается через Skype.
Я стараюсь делать сценария для удаления файлов. Проблема в том, что каждый компьютер файлы с различными расширениями. До сих пор я собрала более 110.

Было бы лучше спросить, прежде чем удалить файл и создать список удаленных файлов. Эти скрытые файлы, системные, только для чтения. Необходимо изменить их атрибуты. Файлы расположены по всему жесткому диску

: ( Пожалуйста, помогите!!!

Спасибо!
Автор: bomzzz
Дата сообщения: 14.01.2010 04:21
tanichkabanichka
достаточно рискованно удалять файлы автоматически. какие критерии у файлов которые ты собираешься удалить? не ужели нет антивирусных утилит готовых? какое название этого вируса???

http://www.drweb.com/
ftp://ftp.drweb.com/pub/drweb/cureit/launch.zip

http://translate.google.ru/
доста рисковано да изтриете файлове автоматично. какви критерии са файлове, които започваш да изтриете това? Със сигурност там не е антивирусна комунални услуги Готов ли си? какво е името на този вирус?

http://www.fcenter.ru/online.shtml?articles/software/utilities/4988
Attribute Changer - программа для изменения свойств файлов и папок, включая файловые атрибуты, дату и время: создания, изменения и доступа, а также атрибут сжатия на NTFS.

вот такая команда удаляет скрытые файлы, для чтения, с скрытым атрибутом (системные) без вопросов причем
del AUTOEXEC.BAT /f /q /a
Автор: vitrzn
Дата сообщения: 14.01.2010 08:54
Помогите!
частенько использую такой код
for /f "tokens=*" %%i in ('dir /b /s *.bmp') do copy "%%i"
(т.е. копирование идёт в ту папку откуда запущен батник)
а уж потом их перемещаю согласно маске

а можно сделать так чтобы шел поиск файлов *.bmp а при их нахождении шло копирование в папку "C:\temp" , без промежуточного копирования ?

т.е. упростить батник !
Автор: tanichkabanichka
Дата сообщения: 14.01.2010 10:23
bomzzz

Спасибо. Наша вируса Win32Chydo .... Но новая версия
Дополнительные расширения я проверила . Безвредные для удаления.

Пожалуйста, помогите!!!
Автор: bomzzz
Дата сообщения: 14.01.2010 13:20
tanichkabanichka
я не знаю че это за вирус - ты подробно и конкретно сформулируй задачу - вот с такого диска надо удалить файлы вот по таким критериям.
http://www.kaldata.com/forums/index.php?showtopic=145144
http://www.kaspersky.ru/viruswatchlite?search_virus=Win32.Chydo&x=0&y=0&hour_offset=3
Автор: tanichkabanichka
Дата сообщения: 14.01.2010 14:10
bomzzz

У меня есть текстовый файл с одним из расширений, которые создают вирусы.
Мне нужен скрипт для поиска на жестком диске, и если находит файл с таким расширением, чтобы спросить меня, могу ли удалить его. И, наконец, заработать мне список удаленных файлов.
Да, ета вируса .... Есть много тем, в www.kaldata.com.
Автор: bomzzz
Дата сообщения: 14.01.2010 14:13
tanichkabanichka
по расширению врдли удасться отсортировать вирусные продукты
http://www.kaldata.com/forums/index.php?showtopic=145144
вот по этой ссылке вроде пишут что расширения могут быть разные и файлов с такими расширениями много на компьютере.
мы правильно понимает друг друга? расширение .DLL или .JPG три буквы после точки
Автор: tanichkabanichka
Дата сообщения: 14.01.2010 14:29
Разширение каждый раз разные. В текстови файл много от эта.

bqb
bvu
rbs
qiv
wiv
czr
flr
ldv
yrk
led
vir
fyf
hpo
oyq
pao
jyl
tuf
ilx
kfa
uro
ayg
Автор: bomzzz
Дата сообщения: 14.01.2010 14:33
похоже расширения случайным образом генерируются чтоб усложнить удаление.

а какая дата создания у всех этих файлов??? это может быть критерием????
Автор: tanichkabanichka
Дата сообщения: 14.01.2010 14:40
Я сделала этот скрипт. Но это 140 строк не красиво. И я не знаю, как это сделать, наконец вытащить список удаленных файлов.

FOR /F "tokens=*" %%P IN ('dir C:\*.pnm /b/s/a') DO attrib -a -h -r "%%P" & del /p "%%P"
Автор: bredonosec
Дата сообщения: 14.01.2010 15:53
вопрос,
а можно ли батником как-то положить файл в активный профиль на удаленную машину?
Вот, напр, есть контора, есть лист машин (формируется батником), на каждой (почти) по нескольку разноименных профилей. Положить надо в активный. Тот, под которым работают.
Такое можно?


Или тогда как-то класть во все имеющиеся? Что-то вроде

set FTMP=N:/Documents and settings/ (а как юзерпрофайл переменной описать?)

dir /b >%FTMP%
if exist %FTMP% for /f "tokens=*" %%i in ('dir /b') do findstr /i /c:"%%~ni" %FTMP% || echo %%~ni%%~xi >>%FTMP%
if not exist %FTMP% goto EXIT

? Или как-то иначе?
Автор: mugil_cephalus
Дата сообщения: 14.01.2010 18:36
tanichkabanichka
for /?
......
%~xI - из переменной %I выделяется расширение имени файла
------------------------
del /?
............
/P Запрос на подтверждение перед удалением каждого файла.
------------------------
/A Отбор файлов для удаления по атрибутам.
атрибуты S Системные файлы R Доступные только для чтения
H Скрытые файлы A Файлы для архивирования
Префикс "-" имеет значение НЕ


Цитата:
И, наконец, заработать мне список удаленных файлов.


Код: for ... do del /p %%i &if not exist %%i (echo %%i)>>remlist.txt 2>&1
Автор: bomzzz
Дата сообщения: 14.01.2010 18:46
нет файл заданного размера состоящий из нулей системными средствами

нулевого размера проще пареной репы - echo off> ZeroFile.My
Автор: mugil_cephalus
Дата сообщения: 14.01.2010 18:49
bredonosec
активный - %USERPROFILE%
или все -

Код: wmic useraccount where status="OK" get Name /value
Автор: bomzzz
Дата сообщения: 14.01.2010 18:54
mugil_cephalus
не знаешь как через вми изменить у записи в реестре статус только для чтения? может проще есть возможность?

неееее - так получится файл записанный асци кодами нуля и одним пробелом
Автор: mugil_cephalus
Дата сообщения: 14.01.2010 19:15
bredonosec

Код: @echo off
for /d %%a in ("%SystemDrive%\Documents and Settings\*") do call:_1 "%%a"
pause

:_1
set "var=%~1"
if /i "_%var:~-9%" neq "_All Users" echo %var%
goto:eof
Автор: bomzzz
Дата сообщения: 14.01.2010 19:51
mugil_cephalus
вот это номер - был убежден что батники только с текстом умеют - ниче понять не могу как ета работкаит
ха. врубился. потом этот текст ассемблируется дебугером. гыгы
Автор: mugil_cephalus
Дата сообщения: 14.01.2010 19:58
bomzzz
я сам работал с только текстом, но встречал такие "фокусы" на батниках (и на vbs тоже - http://forum.ru-board.com/topic.cgi?forum=33&topic=1491&start=72&limit=1&m=1#1 если я правильно понял vbs-семантику скрипта
.это генератор какого-то вируса - http://forum.ru-board.com/topic.cgi?forum=33&topic=1491&start=60#12 )
Автор: bomzzz
Дата сообщения: 14.01.2010 19:59
а это мощный ход - он практически любые возможности батникам добавляит

ну это простейший ассемблер - можно только com файлы получать.
Автор: tanichkabanichka
Дата сообщения: 14.01.2010 20:22
mugil_cephalus

Большое спасибо, но я не могу справиться ...
Могу ли я получить некоторую помощь..........

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667

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


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