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

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

Автор: bomzzz
Дата сообщения: 29.01.2010 13:14

Цитата:

http://www.irongeek.com/i.php?page=security/altds
http://habrahabr.ru/blogs/windows/46935/
В прошлой статье я описал, что такое альтернативные потоки и как их можно использовать. Там были примеры работы с ними через командную строку, но можно делать тоже самое и программно стандартными средствами WinAPI.
Поддержка альтернативных потоков данных (AltDS) была добавлена в NTFS для совместимости с файловой системой HFS от Macintosh, которая использовала поток ресурсов для хранения иконок и другой информации о файле. Использование AltDS скрыто от пользователя и не доступно обычными средствами. Проводник и другие приложения работают со стандартным потоком и не могут читать данные из альтернативных. С помощью AltDS можно легко скрывать данные, которые не могут быть обнаружены стандартными проверками системы. Эта статья даст основную информацию о работе и определении AltDS.
Создание AltDS
Создать AltDS очень легко. Для этого воспользуемся командной строкой. Для начала создадим базовый файл, к которому будем прикреплять наши потоки.
C:\>echo Just a plan text file>sample.txt

C:\>type sample.txt
Just a plan text file

C:\\>

Автор: rustamruboard
Дата сообщения: 31.01.2010 07:08
Здравствуйте,
помогите написать батник, который бы запускал файл .wav (звук)
на 3-х компьютерах в локальной сети одновременно.
Например проиграть заранее записанный звуковой файл - "Идем чай пить!"
на 3-х ПК в другом кабинете.
Этот звук. файл наверное будет лежать в каждом ПК или только у меня?
Сетка - у меня 192.168.10.18 , а у других 192.168.10.19 ... 20, 21
У всех Win XP SP2
Пожалуйста помогите и если можно поподробнее.
Автор: bomzzz
Дата сообщения: 31.01.2010 07:26
множеством способов можно реализовать. если файл будет лежать только у тебя - можно если звук включить погромче.

никто не подскажет как создать текстовый файл в кодировке UTF
Автор: rustamruboard
Дата сообщения: 31.01.2010 12:25
bomzzz
Подскажите уважаемый, какой способ самый удачный будет?
В случае если файл будет лежать только у меня.
(зделать звук погромче? я же не лох)
Пожалуйста, очень надо.
Автор: bomzzz
Дата сообщения: 31.01.2010 12:36
да фиг его знает. джаберы всем поставить и чат. в чат сообщение кинешь пусть у всех орет ченибуть.

ну тут надо методом исключения тумкать. наверно лучше всего некий порт прослушивать и по коннекту на порт тревогу выдавать. так меньше всего ресурсов будет жраться
Автор: 01MDM
Дата сообщения: 31.01.2010 12:38
Martsss

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


Утилитa Streams от Sysinternals.
Автор: Kirillhome
Дата сообщения: 31.01.2010 14:23
rustamruboard

Цитата:
Здравствуйте,
помогите написать батник, который бы запускал файл .wav (звук)
на 3-х компьютерах в локальной сети одновременно.

PsExec не подходит???
Автор: ostfh
Дата сообщения: 31.01.2010 14:24
Извините за дилетантский вопрос.Что означает часть из батника на обычном гражданском языке, помогите пожалуйста:

set my_full_time=%TIME%
IF "%my_full_time:~0,1%"=="0" (set "my_house"=%my_full_time:~1,1%) else (set my_house=%my_full_time:~0,2%)
IF "%my_full_time:~3,1%"=="0" (set "my_min"=%my_full_time:~4,1% ) else ( set my_min=%my_full_time:~3,2%)
Автор: Kirillhome
Дата сообщения: 31.01.2010 15:30
ostfh

Код:
rem Переменной full_time присвоили текущее значение времени
set my_full_time=%TIME%
rem Если первый символ у full_time - 0, то переменной my_house присвоили второй символ из full_time, иначе - переменной my_house присвоили и первый и второй символы из full_time
IF "%my_full_time:~0,1%"=="0" (set "my_house"=%my_full_time:~1,1%) else (set my_house=%my_full_time:~0,2%)
rem Если четвёртый у full_time - 0, то переменной my_min присвоили пятый символ из full_time, иначе - переменной my_min присвоили и четвёртый и пятый символы из full_time
IF "%my_full_time:~3,1%"=="0" (set "my_min"=%my_full_time:~4,1% ) else ( set my_min=%my_full_time:~3,2%)
Автор: UltraAcid
Дата сообщения: 01.02.2010 11:23
Пивет всем

вот сделал я себе USB флешку на основе syslinux и grub4dos. Закинул туда CIACommander, WinDOS и freeDOS с Paragon 4 драйвером для поддержки NTFS. (Брал от сюда: http://forum.ru-board.com/topic.cgi?forum=35&topic=0982#1 [?] )

Решил смастирить батник для авто определения Windows партиций, и копирования SAM и SYSTEM файлов на USB.

Проблема в том что в Windows батник работает норм. а если запускаю из под DOS он не определяет Windows партицию...

Может потскажите что в коде не так?
Спасибо

Батник: http://rapidshare.com/files/344239123/getsam.rar

сам код:


Код:
@echo off
set WINPATCH=none

echo Looking for Windows partition, please wait...
for %%a in ( C D E F G H I J K L M N O P Q R S T U V W X Y Z ) do if exist %%a:\Windows set WINPATCH=%%a:\Windows
if %WINPATCH% == none GoTo nop

echo.
echo Windows partition found in: %WINPATCH%
echo.
CHOICE /N /C:YN "Copy SAM and SYSTEM files? (Yes=Y/No=N)"
IF ERRORLEVEL ==2 GOTO No
IF ERRORLEVEL ==1 GOTO Yes

:nop
echo.
echo Windows partition not found...
echo Looking for WinNT partition, please wait...
for %%a in ( C D E F G H I J K L M N O P Q R S T U V W X Y Z ) do if exist %%a:\WinNT set WINPATCH=%%a:\WinNT
if %WINPATCH% == none GoTo nofind

:nofind
echo.
echo Sorry, Windows installation not found...
GoTo end

:No
GoTo end

:Yes
echo.
echo coping...
MD C:\SAM\%DATE%
copy %WINPATCH%\System32\Config\SAM C:\SAM\%DATE%\SAM
copy %WINPATCH%\System32\Config\SYSTEM C:\SAM\%DATE%\SYSTEM
GoTo end

:end
echo.
echo Operation competed sucsessful.
pause
exit
Автор: bomzzz
Дата сообщения: 01.02.2010 11:27
мы че с ума сошли твой батник с рапеды качать
в парагон драйвере утилита - dvrlist.exe , вот у нее и спрашивай про сваи партиции. или проверь существования по всему алфавиту
надо было ответ на смс файл залить
Автор: UltraAcid
Дата сообщения: 01.02.2010 11:31
непонял а чё трафика жаль? так код здесь пастить?

Добавлено:
Ладно подправил... Всавил сам код..

так в чём проблема ребята помогите!!!
Автор: bomzzz
Дата сообщения: 01.02.2010 12:06
очень даже может быть что под виндовс он работает тут такие пути содержащие windows и с:
в парагон драйвере уитилита распечатывающая список всех дисков почему бы ее не использовать
и батник в одну строку получится

Автор: UltraAcid
Дата сообщения: 01.02.2010 12:13
Windows - зто пака, каторую скрипт должен найти в диске и по ней определить нужную партицию.

C: - буква флешки. Загрузчик Grub автоматом всегда даёт флешке значение (hd0,0) и букву C по этому её определять ненадо!

Добавлено:
можно и c drvlist
помоги пожалуйста сделат батник

спасибо

Добавлено:
кстати партиция может быть и не NTFS а FAT тогда drvlist.exe её непокажет и скрипт несработает...
Автор: nicka
Дата сообщения: 01.02.2010 12:21

структура такая

X:\addons\addon\Files\ForceCopy\SVCPACK\app.exe

задача - переместить app.exe в папку X:\soft

только без указания X диска - так как папки находятся на флешке и имя диска меняется...

как это сделать?
Автор: bomzzz
Дата сообщения: 01.02.2010 12:23
нет все покажет - у тебя дос не увидит винта если на нем хоть одна партиция будет фат32 или нтфс

у тебя скрипт навороченный. теебе вообще не надо искать какие у тебя есть а каких нет - копируй все, если ттакого диска не будет, будет нефатальная ошибка
Автор: UltraAcid
Дата сообщения: 01.02.2010 12:35
понятно что можно сделать так:

for %%a in ( C D E F G H I J K L M N O P Q R S T U V W X Y Z ) do copy %%a\Windows\System32\Config\SAM C:\SAM\SAM

но хотелось по наворотней...

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

Добавлено:

Цитата:
nicka


не врубился от куда те файлы ичё с ними делать.. это ты на мой пост ответил??
Автор: bomzzz
Дата сообщения: 01.02.2010 12:40
а у тебя че на всех дисках папка виндовс???
куда уж навороченей - быстро работкать будет
тожк самое что IF EXIST сначала использовать или сразу копировать
Автор: nicka
Дата сообщения: 01.02.2010 12:45
UltraAcid
нет я про свою проблему


Цитата:
структура такая

X:\addons\addon\Files\ForceCopy\SVCPACK\app.exe

задача - переместить app.exe в папку X:\soft

только без указания X диска - так как папки находятся на флешке и имя диска меняется...

как это сделать?
Автор: bomzzz
Дата сообщения: 01.02.2010 12:48
я чета не понял как он вообще работает - у тебя что только одна партиция, не может быть две или три???

у тебя кстати в досе файл CHOICE лежит? проверь по одной все ли команды выполняются
Автор: UltraAcid
Дата сообщения: 01.02.2010 12:51
папка Windows то одна но может быть присвоена другая буква в зависимости от количества CD, RAM дисков USB HDD и тд... по этому и нужно чтоб скрипт определил букву диска на катором есть папка Windows или WinNT
Автор: bomzzz
Дата сообщения: 01.02.2010 12:53
диску с врядли другая буква прицепится
в досе не все команды работают которые работают в cmd в винде, и еще зависит от сборки могли какие то файлы не положить - соответсвенно некоторые команды не будут работкать

у тебя вроде все должны работать вот кроме етого choice - должен файл лежать в корневой папке доса
Автор: UltraAcid
Дата сообщения: 01.02.2010 13:01

Цитата:
диску с врядли другая буква прицепится


ну а если винды поставлены на D а на C линукс? в досе они всё павно будут по порядку.. Так если USB становится C тогда E - линукс F винда... и тд...

Добавлено:
Choice работает, но опредеяет нужный диск только из под виндовс...


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


Вот и я об этом.. надо выяснит чё нехвотает..
Автор: Babuas
Дата сообщения: 01.02.2010 13:06
Всем доброго времени суток. Я вообще новичок в плане автоматизирования каких либо процессов, а счас встала такая задача, вечером часто записываю видео из сопкаста, т.е. ставлю сопкаст на запись и иду спать. Так вот есть ли какая софтина, или может батник у кого есть или под nnCron скрипт, чтобы он по заданному времени отжимал кнопку записи, выключал сопкаст и потом выключал компьютер. Помогите плиз, очень нужно!
Автор: bomzzz
Дата сообщения: 01.02.2010 13:07
С всегда будет 1 диск 1 партиция активная хоть че на ней стоит

Добавлено:
Babuas
EAsyMacroRecorder очень простая штука.
проги для видеозаписи есть которые сами умеют комп выключать по времени
Автор: UltraAcid
Дата сообщения: 01.02.2010 13:09
bomzzz
запусти батник у себя в винде и увидеш.. можеш сделать папку Windows у себя на другом разделе и увидеш... всё ок находет... ну а в досе - фиг
Автор: bomzzz
Дата сообщения: 01.02.2010 13:12
for %%a in ( C D E F G H I J K L M N O P Q R S T U V W X Y Z )
маловероятно что вот эта конструкция будет работать. я в основном досом 6.22 пользуюсь, а на каком у тебя сборка не знаю
нет эта конструкция работает

все проверил - все работают. под досом 6.22 -

Добавлено:
более того скажу - у меня твой батник под досом работает
Автор: UltraAcid
Дата сообщения: 01.02.2010 13:28
если запускать просто с доса тогда нужен файл CHOICE.com я скачал его с microsoft страницы, а если запускать из под freeDOS то команда работает и так

Добавлено:
ёлки палки.. как так???

Добавлено:
так у тебя винды наверное на FAT32 ??? так ли??
Автор: bomzzz
Дата сообщения: 01.02.2010 13:35
я на виртуалке проверял - папки не создавал.
лень было создавать сейас нфтс создам. напиши четко из каких папок и куда копируется

может быть такое что через парагон дрова некоторые команды не фурыкают
Автор: Kirillhome
Дата сообщения: 01.02.2010 13:36
nicka
К примеру - так.
Если папку SOFT надо создавать - то if exist %%a:\soft\null можно опустить.

Код:
for %%a in (D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
if exist "%%a:\addons\addon\Files\ForceCopy\SVCPACK\app.exe" (
if exist %%a:\soft\null (
if not exist %%a:\soft\app.exe copy "%%a:\addons\addon\Files\ForceCopy\SVCPACK\app.exe" %%a:\soft)))

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667

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


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