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

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

Автор: UltraAcid
Дата сообщения: 01.02.2010 13:45
del

Добавлено:
Ну а мне поможет кто нибуть? ато совсем ростерялся...

спасибо..
Автор: NIKZZZZ
Дата сообщения: 01.02.2010 14:13
UltraAcid

Цитата:
если запускаю из под DOS он не определяет Windows партицию...

А ДОС понимает NTFS ?


Автор: UltraAcid
Дата сообщения: 01.02.2010 14:19

Цитата:
А ДОС понимает NTFS



Цитата:
freeDOS с Paragon 4 драйвером для поддержки NTFS

Автор: wolf0425
Дата сообщения: 01.02.2010 14:19
UltraAcid

Цитата:
Проблема в том что в Windows батник работает норм. а если запускаю из под DOS он не определяет Windows партицию...
Может потскажите что в коде не так?
а мы типа должны догадываться в каком ДОСе ты запускаешь и что именно не получается там у батника?

btw, а команда for вообще в ДОСе была? начиная с какой версии?
набери эту команду руками (с одним %), посмотри что пишет.
Или просто для начала эхо включи, почитай какие команды делает.

кстати, расскажи что должен делать этот кусок:
Код: if %WINPATCH% == none GoTo nofind

:nofind
Автор: UltraAcid
Дата сообщения: 01.02.2010 14:40
Пробвал в freedos и в DOS 6.22
Команда FOR работает отлично Если набрат рукой например
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 ECHO - %a -
пишет:
- c -
- d -
- e -
и тд..
значит команда работает.
кусок if %WINPATCH% == none GoTo nofind значит что если в дисках по команде
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
ненаходет папки "Windows" то значение %WINPATCH% остаётся "none" и тогда переходим к задаче "nofind" в которой описана команда поиска папки WinNT...

Добавлено:
и совсем проблема не в том что неработают команды а в том что недают резултата в досе с драйвером Paragon 4 для NTFS . Так как в виндовс CMD всё работает отлично!!!

Добавлено:
ой извиняюсь здесь писал про ":nop" ":nofind" это если ненашли ни Windows ни WinNT значет видовсов нема
Автор: wolf0425
Дата сообщения: 01.02.2010 16:58

Цитата:
сли в дисках по команде for ненаходет папки "Windows" то значение %WINPATCH% остаётся "none" и тогда переходим к
и тогда переходишь к следующей команде.
Если бы метка, куда переходишь, не стояла сразу за goto - вопрос бы и не возник, а в текущей редакции - строка if никогда ни на что не влияет.


Добавлено:

Цитата:
Команда FOR работает отлично Если набрат рукой например
набери рукой например первый FOR. или второй (хотя второй в нынешней редакции - бессмысленно, там пока без альтернативно приходит на :nofind )
Автор: Kirillhome
Дата сообщения: 01.02.2010 19:23
UltraAcid
Из "дурацких советов" - попробуй переделать так:

Код:
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\nul set WINPATCH=%%a:\Windows)
if "%WINPATCH%"=="none" GoTo nop
Автор: emfs
Дата сообщения: 02.02.2010 04:31
Подскажите, пожалуйста, как я могу принудительно отключить конкретных пользователей с конкретной расшаренной папки на сервере с самого севера?
Автор: takt03
Дата сообщения: 02.02.2010 04:39
Извиняюсь за глупый вопрос, но глупая мелочь слишком важна для меня. Есть программа:
@echo off
>%systemroot%\temp\"~2.bat" (
echo echo off
echo chcp 1251
echo exit
)
start /min %systemroot%\temp\~2.bat /b

После выполнения которой мне надо удалить фаел %systemroot%\temp\~2.bat
пробовал:
@echo off
>%systemroot%\temp\temp.bat(
echo echo off
echo del %systemroot%\temp\"~2.bat"
echo exit
)
>%systemroot%\temp\"~2.bat" (
echo echo off
echo chcp 1251
echo start /min %systemroot%\temp\temp.bat
)
start /min %systemroot%\temp\~2.bat /b

Короче много разных вариантов перебрал, даже пробовал склеить 2 файла. НЕ чего не получается. Помогите каму не лень..
Автор: king_stiven
Дата сообщения: 02.02.2010 09:06
takt03

Код: >%systemroot%\temp\~2.bat (
echo echo off
echo chcp 1251
echo del %systemroot%\temp\~2.bat /q
)
start /min %systemroot%\temp\~2.bat /b
Автор: xome
Дата сообщения: 02.02.2010 13:50
Подскажите пожалуйста, как скрыть пароль (зашифровать) в батнике? Пароль обязателен. Прописывается в самом батнике. (net user ПОЛЬЗОВАТЕЛЬ ПАРОЛЬ /add). Подходит только бат.
Автор: Alecsan
Дата сообщения: 02.02.2010 16:52
Нужна помощь шарящих людей!!!
Требуется организовать автоматическую запись дисков. То есть, положил диск нажал на кнопку, чтоб лоток заехал, подождал, диск выехал с записанной информацией; положил следующий нажал кнопочку и т. д. На чистые диски - нужно, что б сразу писало, На перезаписываемые - удаляло инфу и записывало, а на мультисесионных - дописывало(если мало места - выбрасывало диск). И что бы всё это происходило без участии пользователя(только положил диск, нажал на кнопку и забрал)
Как это прописать в nerocmd? или может посоветуете что другое.

Да, но это уже не по теме, для флешек как организовать подобное. Вставил флешку подождал, услышал звуковой или др. сигнал. Вытянул флешку. Нужно что б писало автоматом один каталог и отключало флешку. Может, кто знает.
Подскажите!
Автор: VladikoVoron
Дата сообщения: 04.02.2010 00:13
Здравствуйте!
Подскажите, как сделать: запускается программа через бат-файл, но перед запуском надо проверить, есть ли обновления, если да, то скопировать и удалить индексы с каталога программы, если обновлений нет, то просто запустить программу.


Код: xcopy e:\update\* c:\prog\ /S /D /V /K /Y
...
del /s /q c:\prog\*.cdx

start программа.exe
Автор: wolf0425
Дата сообщения: 04.02.2010 08:04
VladikoVoron if not exist e:\update\* goto :_noupdate
поможет ?
Автор: Greay
Дата сообщения: 04.02.2010 13:20
Как реализовать что бы все файлы в разделе (на всём диске) переименовывались в другое расширение (включая все подпапки). Без запросов и с самозавершением. Например *.docx, *.doc в *.bak
Спасибо.
Автор: wolf0425
Дата сообщения: 04.02.2010 14:56
Greay for /r c:\ %%a in ( *.docx *.doc ) do ren "%%~fa" *.bak
Автор: Greay
Дата сообщения: 04.02.2010 16:17
wolf0425
Спасибо. То что надо...
Ещё маленький нюанс:
Как сделать что бы файлы *.docx переименовывались в *.bak, а *.doc в *.buk
И скрыть само окно.
Автор: bredonosec
Дата сообщения: 04.02.2010 17:03
возможно, тут помогут - не ловлю, где накосячено..

задача - рассылка всем компам из списка одного файла.
исполнить пытался так:
http://forum.ru-board.com/topic.cgi?forum=5&topic=29819&start=1780#17
обратные слеши перед именем - вроде б нужны.
Насчет имени для ресурса подключаемого - так понимаю, что тож нужно (без него вообще не пахало, с ним - иногда пашет)
Или что вообще не так?
Автор: Ykidia
Дата сообщения: 04.02.2010 18:12
Kirillhome
Цитата:
Ykidia
Есть засады:
1) mountvoll - не вывел мне информацию о виртуальном приводе (реального - нет, проверить не могу).
2) mountvoll - не вывел мне информацию о подмепленном сетевом диске (т.е. net use * \\ресурс\шара - Диск z cейчас подключен, смотрю через mountvoll - нет ничего).


О! Случайно набрел на вот такое:

Код: wmic logicaldisk get name
Автор: wolf0425
Дата сообщения: 04.02.2010 19:08
Greay

Цитата:
Как сделать что бы файлы *.docx переименовывались в *.bak, а *.doc в *.buk

последовательно - сначала for для первого, потом для второго.
сам поправишь, тренируйся.

Цитата:
И скрыть само окно.

cmdow.exe @ /hid
cmdow ищешь в шапке темы

Автор: VladikoVoron
Дата сообщения: 04.02.2010 19:21
wolf0425 неа. Забыл уточнить, что в папке update постоянно находятся файлы. A xcopy смотрит не новее ли файлы в update, если да, то обновляет c:\prog.

В этом деле опыта нет, но думаю может как-то так:

Код: xcopy e:\update\* c:\prog\ /S /D /V /K /Y | find "скопировано: 0" 1
if errorlevel 1 goto :_noupdate
Автор: wolf0425
Дата сообщения: 04.02.2010 20:41

Цитата:
В этом деле опыта нет, но думаю может как-то так:

Код: xcopy e:\update\* c:\prog\ /S /D /V /K /Y | find "скопировано: 0" 1
if errorlevel 1 goto :_noupdate
Автор: Ykidia
Дата сообщения: 04.02.2010 20:44
Еще вопрос. Вот на этой картинке наглядно показано то, что я хочу сделать батником: 1) включить кэш записи и 2) включить повышенную производительность. В моем случае название диска/тома Volume0 (вместо Hitachi HDS721075KLA SCSI Disk Device).
Нашел ключи реестра, отвечающие за это: CacheIsPowerProtected и UserWriteCacheSetting. Находятся в ветке [HKLM\SYSTEM\CurrentControlSet\Enum\IDE\DiskVolume01.0.00__\4&36887771&0&0.0.0\DeviceParameters\Disk]. Однако их изменение вступает в силу только после перезагрузки, а как бы в батнике сделать так, чтобы без перезагрузки?
Автор: Kirillhome
Дата сообщения: 04.02.2010 21:52
Ykidia
Сделать изменения в реестре, отключить и подключить заново диск - не поможет?

Добавлено:
bredonosec

Цитата:
вроде один раз получалось, но повторные проверки нифига не дали - не пишется, и точно так же не находит ((

Так написало же ошибку:

Цитата:
c:\[..]\My Documents\Sys>net use m: \\DD_PEPR\c$ [pass] /user:[domain\admin] || goto NO_CONN
System error 85 has occurred.

The local device name is already in use.

Т.е. имя m: - уже используется.
Если надо использовать строго это имя - то сначала вставь

Код: net use m: /DELETE
Автор: bredonosec
Дата сообщения: 05.02.2010 04:58
Kirillhome
ок, спробую на раоте..


а вообще не давая имени ресурсу, через
net use smth
можно?

upd
да, именно этого и не хватало.
Теперь вопрос, как можно комменты класть в ту же строку?
Видел вариант с комбинированием строк:

command /parameter &REM [comments]

и видел такой вариант.
command /parameter ;[comments]

насчет первого, как понял, работает, а второй корректен?
Автор: wolf0425
Дата сообщения: 05.02.2010 11:14

Цитата:
насчет первого, как понял, работает, а второй корректен?
а второй некорректен - прокатывает только с теми command которым наплевать на непонятные ключи.
более короткий вариант первого:
command /parameter &: комменатрий: метки не в начале строки - игнорируются
Автор: bredonosec
Дата сообщения: 05.02.2010 14:55

Цитата:
command /parameter &: комменатрий:

то есть, двоеточие?
хм.. где-то читал, что комменты через двоеточия могут кидать ошибки..
а, вот -
http://www.robvanderwoude.com/comments.php
и еще где-то..
Автор: Ykidia
Дата сообщения: 05.02.2010 15:55
Kirillhome
Вряд ли, хотя я не успел попробовать, а нашел dskcache.exe от MS, который свободно не раздается, а только через службу поддержки (ну, это нам не помеха ). Можно выполнить, к примеру,
Код: dskcache.exe +p +w E:
Автор: wolf0425
Дата сообщения: 07.02.2010 10:56

Цитата:
хм.. где-то читал, что комменты через двоеточия могут кидать ошибки..
а, вот -
http://www.robvanderwoude.com/comments.php
и еще где-то..
ну, и читаем: depite all, there is nothing wrong with using double colons for comments as long as you understand the limitations

основное ограничение - внутри блоков () использовать нельзя, в отличие от rem.
Что совершенно понятно, imho
Автор: BagaBaga
Дата сообщения: 07.02.2010 19:04
Подскажите , как парсить файл (точнее - строку)

есть файл, содержащий строку (разделитель = ,):

первый второй, еще один, еще как

батник должен выдать:

первый второй
еще один
еще как

PS
Пробовал с For /F, но с чем-то накосячил - получаю только первую строку.

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132

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


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