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

» Автоматизация администрирования. Часть 2

Автор: contrafack
Дата сообщения: 06.01.2011 01:08
YNY

ммм. че то не поняли друг друга.
надо делать так, чтоб этот "банер" из телнета вводился сразу в браузер. Ну скажем типа мини-веб сервер, который парсит с телнета заголовки-банера или что то типа такого.
Автор: firsteducation
Дата сообщения: 11.01.2011 09:49
Люди подскажите в чём дело, создал батник, а он не выполняет одну строчку, строчка эта должна запустить vbs скрипт, вот она: start SysFolder\str.vbs Папка SysFolder лежит в том-же каталоге, что и сам батник. В чём моя ошибка?

Добавлено:
Ах да и ещё, не могу командой copy скопировать скрытые файлы, как это сделать?
Автор: Alukardd
Дата сообщения: 11.01.2011 11:04
firsteducation
vbs надо запускать так: cscript C:\blablabla\script.vbs

Цитата:
не могу командой copy скопировать скрытые файлы, как это сделать?
курить команду xcopy, в частности вам нужен ключ /h
Автор: firsteducation
Дата сообщения: 11.01.2011 12:49
Alukardd спасибо, ответы вроде работают, но команда xcopy всё время пытается скопировать мою папку на дисковод, просто на разных компах разные буквы диска, а как заставить её идти дальше, если это дисковод? Тоесть чтобы если нет доступа на запись, шла дальше?
Автор: Alukardd
Дата сообщения: 11.01.2011 16:41
firsteducation
куда дальше-то? оО на другой диск (следующую букву)???
ну можно делать проверку какую-нить и после неё уже обращаться... или если проблема фиксирована на 2х/3ч машинах, то можно попробовать проверку имени машины и покурить команду ASSIGN.
Автор: firsteducation
Дата сообщения: 11.01.2011 16:57
Мне нужно как нибудь но некоторые буквы дисков скидывать папку батником, но батник может быть на любом компьютере, то-есть на разных машинах эта-же буква может оказаться приводом дисков, я не знаю как сделать проверку дисковод это или раздел диска или флешка, мне не важно раздел диска это или флешка, только бы не дисковод.
Автор: zanych
Дата сообщения: 11.01.2011 17:28
Помогите нада добавить в этот скрипт возможность докачки с помощью wput
@echo off
SET FTP_HOST=60.19.18.81
SET FTP_CSCRIPT=ftp_connect.txt
SET FTP_SCRIPT=%0.sc
SET BU_DIR=e:\Subsystems_backups
SET BU_LOG=%0.log

echo "Started ------------------------" >> %BU_LOG%
date /T >> %BU_LOG%
time /T >> %BU_LOG%
@For /F "tokens=2,3,4 delims=/ " %%A in ('Date /t') do @(
Set Month=%%A
Set Day=%%B
Set Year=%%C
)

@echo DAY = %Day%
@echo Month = %Month%
@echo Year = %Year%

copy %FTP_CSCRIPT% %FTP_SCRIPT%
e:
cd Subsystems_backups

SET /A _item=1
FOR /F "tokens=*" %%G IN ('dir /O-D /B') DO ( call :s_do_copy %%G )
GOTO :ftp_copy

:s_do_copy
IF %_item% LEQ 4 (
echo put %BU_DIR%\%1 >>%FTP_SCRIPT%
)
SET /A _item+=1
GOTO :eof

:ftp_copy
echo quit>>%FTP_SCRIPT%
ftp -s:%FTP_SCRIPT% %FTP_HOST% >> %BU_LOG%

date /T >> %BU_LOG%
time /T >> %BU_LOG%
echo "Finished ------------------------" >> %BU_LOG%
Автор: Alukardd
Дата сообщения: 11.01.2011 17:45
firsteducation
что за сеть, что все по разному на разных машинах...
Вообще я не пойму, если вам все равно куда записывать то пишите на %systemdrive%

Если у вас сеть на 7ках, то можно используя мощь PowerShell: Get-WmiObject Win32_logicaldisk
В XP могу предложить определить рабочие диски так:
echo LIST VOLUME>script.tmp
diskpart /s script.tmp
del script.tmp

По дальнейшему парсингу выводы diskpart и прочим извращениям прошу в соответствующую тему - Задачи на bat-файлах 10
Автор: firsteducation
Дата сообщения: 11.01.2011 18:09
Может быть я не так сформулировал, я скидываю батник на комп вручную, но у разных пользователей разделы диска, флешки и дисководы могут иметь разные буквы, мне нужно чтоб папка скопировалась, естественно дисковод я хочу обойти стороной.
Автор: Alukardd
Дата сообщения: 11.01.2011 18:12
firsteducation
Цитата:
нужно чтоб папка скопировалась
вы выносите мой мозг) какая папка, куда? раз уж пошла такая канитель, то давайте пошагово свои действия и что должно происходить?
Автор: firsteducation
Дата сообщения: 11.01.2011 18:37
хорошо, пошагово: вообщем у меня есть бат файл, этот файл на флешке, если запускаешь этот батник, он копирует то что на флешке лежит вместе с ним на нужные мне буквы дисков, проблема в том что если я вставлю флешку человеку у которого под нужной мне буквой(предположительно директория жёсткого диска) дисковод, произойдёт ошибка и батник завершит работу, мне нужно чтобы батник понимал что на привод не надо копировать, а нужно его пропустить и выполнять следующие команды, в общем всё, никому мозг не собирался выносить , думаю описал свою проблему подробно.
Автор: Alukardd
Дата сообщения: 11.01.2011 20:31
firsteducation
почти, вопрос: копировать надо на все доступные локальные диски? или же только на те буквы что вы заранее определили и в случае их отсутствия тупо забыть про них?

Если 1-е то читаем мой пост выше
Автор: BVV63
Дата сообщения: 12.01.2011 04:58
firsteducation

Код: SetLocal EnableDelayedExpansion
For /F "Skip=1 Tokens=1 UseBackQ" %%0 In (`WMIC.Exe Path Win32_Volume Where DriveType^="3" Get DriveLetter /All`) Do ^
If "%%0" GEq "A" Set HDDPartitions=!HDDPartitions! %%0
Echo %HDDPartitions%
Автор: firsteducation
Дата сообщения: 12.01.2011 10:09
Alukardd второй вариант.
Автор: YNY
Дата сообщения: 12.01.2011 10:26
firsteducation> остановка при натыке на CD/DVD попробуй для начала ключ /c для комманды xcopy, который приводит к игнорированию ошибки
Автор: firsteducation
Дата сообщения: 12.01.2011 10:33
YNY Здорово! щас попробую.


Добавлено:
YNY при использовании ключа /c скрипт просто останавливается и просит выбрать действие, указывая на ошибку, так что, команда xcopy без проверки работать не будет.
Автор: YNY
Дата сообщения: 12.01.2011 10:52
firsteducation> при использовании ключа /c...
покажи твой код
ключ должен быть первым, если их несколько
Добавлено:
если ты передаешь в скрипт диски как параметр коммандной строки, то стоит делать проверку типа данной буквы и исплользовать goto, т.е. метки, для вариантов перехода
Автор: firsteducation
Дата сообщения: 12.01.2011 11:19
Вот мой код: xcopy "%cd%" "g:\%~p0" /E /H /Y /Q /C

Добавлено:
Перестановка очерёдности ключей роли не сыграло, оно и верно, все параметры команда xcopy проверяет ещё до иполнения: xcopy "%cd%" "g:\%~p0" /C /E /H /Y /Q
Автор: YNY
Дата сообщения: 12.01.2011 12:57
firsteducation > по работе приведенного кода

[more=результат выполнения1:]
1 при условии что я пытаюсь копировать на пустой DVD привод
Неправильно указан диск
Скопировано файлов: 0[/more]

[more=2] копирую на балванку в не пишущем приводе DVD
Отказано в доступе
Не удается создать каталог: E:\1
Скопировано файлов: 0
[/more]
[more=3] копирую на балванку в не пишущем приводе DVD + последовательность типа
rem e -- DVD-rom
xcopy "%cd%" "e:\%~p0" /C /E /H /Y /Q
xcopy "%cd%" "c:\3%~p0" /C /E /H /Y /Q
Отказано в доступе
Не удается создать каталог: E:\1
Скопировано файлов: 0.
Скопировано файлов: 1.
[/more]
Не вижу никакой ошибки, вполне себе нормально выполняется последовательность в ХР!
Добавлено:
отработку игнора DVD пока не намутил

Добавлено:
BVV63>Path Win32_Volume
в ХР не работает!
а работает
path Win32_LogicalDisk Where DriveType="3" Get Caption

Автор: firsteducation
Дата сообщения: 12.01.2011 14:32
В том и дело, что он предлагает выбрать действие, а нужно чтоб без вопросов было продолжено выполнение.
Автор: YNY
Дата сообщения: 12.01.2011 15:05
firsteducation >предлагает выбрать действие...
у меня в XP SP3 никаких вариантов не предлогает и в W2k тоже
[more=вот попробуй такое как вариант]
echo "Make standart copy on drive E"
xcopy "%cd%" "E:\%~p0" /C /E /H /Y /Q
rem echo %errorlevel%
rem сли какая либо ошибка, то выполняем альтернативный вариант
if %errorlevel% NEQ 0 goto svdisk

:svdisk
echo "Try make alternative copy on C:\3\"
xcopy "%cd%" "c:\3%~p0" /C /E /H /Y /Q
rem echo %errorlevel%
if %errorlevel% NEQ 0 goto Fail
goto exit

:Fail
echo "Alternative copy on C:\3\ is Fail"

:exit

[/more]



Добавлено:
а приведи предложение которое тебе выдается
Автор: firsteducation
Дата сообщения: 12.01.2011 15:14
у меня пишет "устройство не готово", как от этого избавиться?
Автор: YNY
Дата сообщения: 12.01.2011 15:56
у комманды xcopy нет таких ответов ты это реально в cmd видешь ? возможно ты пытался зацепить сетевой диск
Автор: firsteducation
Дата сообщения: 12.01.2011 16:01
Вот тело моего батника, там указана буква флоппи для примера, запусти у себя, должен выдать предупреждение(если не выдаст, то у меня особая винда!):

xcopy "%cd%" "a:\%~p0" /C /E /H /Y /Q
if errorlevel 4 goto lowmemory
if errorlevel 2 goto abort
if errorlevel 0 goto exit
:lowmemory
echo little mem!
goto exit
:abort
echo pressed key-ctrl+c
goto exit
:exit
pause
Автор: Alukardd
Дата сообщения: 12.01.2011 16:05
firsteducation
Эти извращения это все конечно хорошо, но блин скажите мне на кой хер копировать на фиксированные буквы, а не на реально используемые? Какая цель преследуется такой канителью? Это же полный бардак получается...
Автор: YNY
Дата сообщения: 12.01.2011 17:30
firsteducation> предупреждение...
ну похоже что такое вылазит если пытаемся получить доступ к пустому приводу (в частности к флопникам), возмона что подобное и при наличии картридера выплывает
Автор: firsteducation
Дата сообщения: 12.01.2011 17:33
Да YNY вот такой вот у меня подводный камешек, он преграда для меня.


Добавлено:
YNY посмотри скриптик, он показывает свойства всех драйвов, может как нить его переделать, ток чёт пока не доходит до меня, как это сделать, вот:

echo LIST VOLUME>script.tmp
diskpart /s script.tmp
del script.tmp
pause
Автор: YNY
Дата сообщения: 12.01.2011 18:49
firsteducation> RE:предупреждение...
[more=Вот такой скрипт]
@echo off
set DV=A:
set MI=0
rem создаем файл со списком сменных дисков
@echo on
WMIC.Exe Path Win32_LogicalDisk Where DriveType="2" get Caption > e1.txt

for /F "skip=1" %%i IN ('type e1.txt') Do (if /i %%i==%DV% (set MI=1))
@echo off
echo MI=%MI%
rem pause
rem goto exit

if /i %MI% NEQ 1 goto StCopy
goto exit

:StCopy
rem echo "%cd%" "%DV%%~p0"
xcopy "%cd%" "%DV%%~p0" /C /E /H /Y /Q
if errorlevel 4 goto lowmemory
if errorlevel 2 goto abort
if errorlevel 0 goto exit
:lowmemory
echo little mem!
goto exit
:abort
echo pressed key-ctrl+c
goto exit
:exit
echo "Place for alternative without test on message"
pause
[/more] не даст выйти, как я думаю, сообщению которое тебе мешает, но не исключает DVD, который не выдает сообщений о недоступности устройства.
Если и его захочешь обойти, то пиши


Добавлено:
Как плюшка: можешь создать лог файл для проверки работы скрипта.
Геморрой с созданием файла (e1.txt) мне пришлось делать т.к. cmd ругается на ('WMIC.Exe Path Win32_LogicalDisk Where DriveType="2" get Caption').
Автор: Alukardd
Дата сообщения: 12.01.2011 21:26
firsteducation
Вот добрался до винды... А то в bash как-то не очень батники думать)
Вот что вышло, старался максимально под ваши задачи:
Код: @echo off

rem Athor: Alukardd
rem created: 12.01.2011
rem for M$ Windows RU only!!!
rem script must be encodуed in cp866 (thit is due to using command "findstr")
rem tested on WinXP SP2 RU


rem declaration of drives that need copy to
set drives="A,B,C,D,E,F"
rem declaration of folder from copy (folder itself won't be copied)
set cd=".\qq"
rem declaration of destination folder (files will puts to it)
set p0=folder\

echo LIST VOLUME>script.tmp
for /f "tokens=1-3*" %%i in ('diskpart /s script.tmp ^| findstr /i "Раздел"') do (
echo %drives% | findstr /i %%k > nul
if errorlevel 0 @xcopy %cd% "%%k:\%p0%" /C /E /H /Y /Q
)
del script.tmp

:exit
exit 0
Автор: firsteducation
Дата сообщения: 13.01.2011 14:17
YNY Да это уже метод, просто придётся добавить на флеху это файл, да уже близко.


Добавлено:
YNY спс всё работает как надо!

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576

Предыдущая тема: BackUp Win2003Serer


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