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

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

Автор: lorents
Дата сообщения: 31.10.2009 12:34
mugil_cephalus

Цитата:
какие ошибки она пишет?

никакие, просто запускаю, и она вырубается, А у вас заработало?

Цитата:
а какой output у командной строки?

А что это такое?
Автор: mugil_cephalus
Дата сообщения: 31.10.2009 13:07
lorents
запустить командную строку и в ее окне ввести пример
Цитата:
даже если я беру пример из справки
, нажать enter и посмотреть что она напишет
и покажи нам чего она пишет


Добавлено:
mat86
брать fsutil fsinfo и проверять буквы cd-rom'ov и "вычеркивать" их из списка -
Цитата:
(q w e r t y u i o p a s d f g h j k l z x c v b n m )

еще можно diskpart
(diskpart и fsutil - см. Уильям Станек - Командная строка Microsoft Windows (вплоть до w2k3) - http://rapidshare.com/files/89629093/Stanek_CLI_MS_Win.rar )

Добавлено:
lorents
Installation
============

1. Unpack the archive in an installation directory, i.e. C:/Program Files/pdf-tools/
2. Include the bin directory in the PATH variable.


а ты 2-ой пункт выполнил?
Автор: lorents
Дата сообщения: 31.10.2009 13:33
mugil_cephalus
Все оказалось намного приметивнее, у меня истек срок пробной версии, хотя странно, я тока сегодня использую эту программу
Прошу прощения за беспокойство, mugil_cephalus спасибо что откликнулись
Автор: Integer27h
Дата сообщения: 01.11.2009 07:33
Возможно ли такое: если a="не присвоено значение" то выполнить действие....
Автор: king_stiven
Дата сообщения: 01.11.2009 11:42
Integer27h
if not defined a echo пременная a не определена
Автор: mat86
Дата сообщения: 01.11.2009 15:30
king_stiven

Цитата:
брать fsutil fsinfo и проверять буквы cd-rom'ov и "вычеркивать" их из списка -

Это не выход, а если я вставлю диск в другой компьютер, а там другие буквы дисков

for %%i in (q w e r t y u i o p a s d f g h j k l z x c v b n m ) do if exist "%%i:\antivirus\curiet.exe" "%%i:\antivirus\curiet.exe"


Можно ли это так: для дериктории %%i на дисках (q w e r t y u i o p a s d f g h j k l z x c v b n m ), но не cdrom сделайте, если существуют "%%i:\antivirus\curiet.exe" "%%i:\antivirus\curiet.exe"
Автор: mugil_cephalus
Дата сообщения: 01.11.2009 16:06
mat86

Цитата:
Это не выход, а если я вставлю диск в другой компьютер, а там другие буквы дисков


for /f %%A in ('fsutil fsinfo drives') do call :_cdroms "%%A"
goto :eof

:_cdroms
for /f %%A in ('fsutil fsinfo drivetype %1 ^| find /i "Компакт-дисковод"') do ...

Добавлено:
посмотри WINDOWS\Help\ntcmds.chm (раздел Справочник по параметрам командной строки.) - а там команду fsutil fsinfo


Автор: mat86
Дата сообщения: 01.11.2009 16:13

Цитата:
for /f %%A in ('fsutil fsinfo drives') do call :_cdroms "%%A"
goto :eof

:_cdroms
for /f %%A in ('fsutil fsinfo drivetype %1 ^| find /i "Компакт-дисковод"') do ...

А можно полностью, как оно получитья, а то не знаю куда это вставить.Вот как было
Цитата:
for %%i in (q w e r t y u i o p a s d f g h j k l z x c v b n m ) do if exist "%%i:\antivirus\curiet.exe" "%%i:\antivirus\curiet.exe"

Автор: mugil_cephalus
Дата сообщения: 01.11.2009 16:19
mat86
я бы тебе набил непаллиативный скрипт, - но у меня третий день шина на правой руке, - уж замучился левой вбивать
Автор: mat86
Дата сообщения: 01.11.2009 16:26
Блин где я три дня назад лазил...

Добавлено:

Цитата:
for /f %%A in ('fsutil fsinfo drives') do call :_cdroms "%%A"
goto :eof

:_cdroms
for /f %%A in ('fsutil fsinfo drivetype %1 ^| find /i "Компакт-дисковод"') do ...

Не работает, пишет:

Цитата:
в устройстве нет диска. Вставьте диск в устройство А:.
отмена повторить продолжить

нажимаю любую и все равно запускается с cdrom
Автор: mugil_cephalus
Дата сообщения: 01.11.2009 17:47
mat86
попробую составить
Автор: mat86
Дата сообщения: 01.11.2009 17:53
:
Автор: ZolotnikOV
Дата сообщения: 01.11.2009 18:19
Добрый вечер.
Нужно что бы в зависимости от наличия или отсутстви Файла *.xxx виполнялись соответственно команды 1 или команды 2
написал что то, но не работает. помогите что не так:


Код: IF dir D:\aaa\*.XXX /a-d 2>nul >nul && goto 1 ELSE goto 2
:1 команды 1

:2 команды 2
Автор: king_stiven
Дата сообщения: 01.11.2009 19:12
ZolotnikOV
IF EXIST имя_файла. (
команды 1
) ELSE (
команды 2
)
Автор: mugil_cephalus
Дата сообщения: 01.11.2009 19:14
mat86
@echo off
for /f "tokens=*" %%A in ('fsutil fsinfo drives') do call :_1 "%%A"
goto :eof

:_1
if /i "%1" equ "A:\" goto :eof
if /i "%1" equ "B:\" goto :eof
for /f "tokens=*" %%A in ('fsutil fsinfo drivetype %1 ^| findstr /v /i Неизвестный корневой Жесткий сетевой Компакт Электронный') do echo %%A && if exist "%1antivirus\curiet.exe" "%1antivirus\curiet.exe" >nul 2>&1
goto :eof
Автор: mat86
Дата сообщения: 01.11.2009 19:21

Цитата:
@echo off
for /f "tokens=*" %%A in ('fsutil fsinfo drives') do call :_1 "%%A"
goto :eof

:_1
if /i "%1" equ "A:\" goto :eof
if /i "%1" equ "B:\" goto :eof
for /f "tokens=*" %%A in ('fsutil fsinfo drivetype %1 ^| findstr /v /i Неизвестный корневой Жесткий сетевой Компакт Электронный') do echo %%A && if exist "%1antivirus\curiet.exe" "%1antivirus\curiet.exe" >nul 2>&1
goto :eof

Программа не запустилась с флэшки
Автор: mugil_cephalus
Дата сообщения: 01.11.2009 19:27
mat86
а пробелы удалил? на концах строк кода

Добавлено:
mat86
напиши в конце pause и удали >nul 2>&1
и покажи листинг работы
Автор: mat86
Дата сообщения: 01.11.2009 19:34
поудалял пробелы, поставил pause, но на пауе не останавливается
Автор: mugil_cephalus
Дата сообщения: 01.11.2009 19:38
echo on
for /f "tokens=*" %%A in ('fsutil fsinfo drives') do call :_1 "%%A"
goto :eof

:_1
if /i "%1" equ "A:\" goto :eof
if /i "%1" equ "B:\" goto :eof
for /f "tokens=*" %%A in ('fsutil fsinfo drivetype %1 ^| findstr /v /i Неизвестный корневой Жесткий сетевой Компакт Электронный') do echo %%A && if exist "%1antivirus\curiet.exe" "%1antivirus\curiet.exe"
goto :eof

pause
Автор: mat86
Дата сообщения: 01.11.2009 19:41

Цитата:
echo on
for /f "tokens=*" %%A in ('fsutil fsinfo drives') do call :_1 "%%A"
goto :eof

:_1
if /i "%1" equ "A:\" goto :eof
if /i "%1" equ "B:\" goto :eof
for /f "tokens=*" %%A in ('fsutil fsinfo drivetype %1 ^| findstr /v /i Неизвестный корневой Жесткий сетевой Компакт Электронный') do echo %%A && if exist "%1antivirus\curiet.exe" "%1antivirus\curiet.exe"
goto :eof

pause

На паузе не останавливается, не успеваю прочитать
Автор: mugil_cephalus
Дата сообщения: 01.11.2009 19:48
mat86
на pause должен останавливаться...
Автор: mat86
Дата сообщения: 01.11.2009 19:52
И я так думаю, но нифига
Автор: mugil_cephalus
Дата сообщения: 01.11.2009 19:56
mat86
запусти командную строку, введи имя батника с путем до него, типа c:\folder\file.bat и enter
Автор: mat86
Дата сообщения: 01.11.2009 20:04
У меня так:
D:\Cureit_flash - копия.bat
Все равно не хочет останавливаться, а у тебя останавливается?
Автор: mugil_cephalus
Дата сообщения: 01.11.2009 20:17
mat86
G:\scripts>z3.bat

G:\scripts>echo on

G:\scripts>for /F "tokens=*" %A in ('fsutil fsinfo drives') do call :_1 "%A"

G:\scripts>call :_1 "A:\"

G:\scripts>if /I ""A:\"" EQU "A:\" goto :eof

G:\scripts>if /I ""A:\"" EQU "B:\" goto :eof

G:\scripts>for /F "tokens=*" %A in ('fsutil fsinfo drivetype "A:\" | findstr /v /i ═хшчтхёЄэ√щ ъюЁэхтющ ╞хёЄъшщ ёхЄхтющ ╩юьяръЄ ▌ыхъЄЁюээ√щ') do
echo %A && if exist ""A:\"antivirus\curiet.exe" ""A:\"antivirus\curiet.exe"
FINDSTR: Не удается открыть корневой
FINDSTR: Не удается открыть ?есткий
FINDSTR: Не удается открыть сетевой
FINDSTR: Не удается открыть ?омпакт
FINDSTR: Не удается открыть ?лектроннvй

G:\scripts>goto :eof

G:\scripts>goto :eof

G:\scripts>


Добавлено:
mat86

Цитата:
У меня так:
D:\Cureit_flash - копия.bat

D:\ - это жесткий диск?
если запустить командную строку и в ней запустить батник, командная строка не должна закрываться
Автор: mat86
Дата сообщения: 01.11.2009 20:36

Цитата:
D:\ - это жесткий диск?

Да, жесткий диск

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

Я протупил запускал с 'выполнить', а не с cmd
Запустил с cmd пишет непредвиденное появление: С:\.
Автор: mugil_cephalus
Дата сообщения: 01.11.2009 20:39
mat86
у меня флэшки нет, fsutil fsinfo drivetype - глючит (правда, я ее не пользовался)
fsutil fsinfo drives нормально отрабатывает:

G:\scripts>fsutil fsinfo drives

A:\ C:\ D:\ F:\ G:\ H:\ I:\ W:\

G:\scripts>


Добавлено:
mat86
переименуй Cureit_flash - копия.bat в curf.bat (на всякий случай), запусти командную строку и в ней вбей D:\curf.bat и enter
и покажи весь листинг, как у меня (все что напишет ком.строка)
хотя лучше запустить скрипт с флэшки: запустить комстроку и в ней - букваФлышки:\curf.bat + enter
Автор: mat86
Дата сообщения: 01.11.2009 20:58
Все понял только незнаю как скопировать весь листинг из командной строки
Автор: mugil_cephalus
Дата сообщения: 01.11.2009 21:07
mat86

Цитата:
Все понял только незнаю как скопировать весь листинг из командной строки

на панели задач нажми на окно cmd - выбери свойства - общие - поставь галку Выделение мышью и OK - сохранить св-ва для других окон - Да
потом выделяй мышью текст в окне cmd и жми enter (enter копирует текст) и вставляй
Автор: mat86
Дата сообщения: 01.11.2009 21:17
C:\Users\Геннадий>h:\curf.bat

C:\Users\Геннадий>echo on

C:\Users\Геннадий>for /F "tokens=*" %A in ('fsutil fsinfo drives') do call :_1 "
%A"

C:\Users\Геннадий>call :_1 "Диски: C:\ D:\ E:\ H:\ "
Непредвиденное появление: C:\.

C:\Users\Геннадий>if /i ""Диски: C:\ D:\ E:\ H:\ "" equ "A:\" goto :eof

C:\Users\Геннадий>

Добавлено:
mugil_cephalus
сегодня больше немогу общаться, трафик заканчивается, завтра я на работе, там хоть целый день. Ты ж завтра будеш в интенете

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778

Предыдущая тема: во вкладке автозагрузка


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