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

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

Автор: 2105Andrey
Дата сообщения: 25.01.2009 18:17
Помогите, плиз, с батником
Автор: Gizmentiy
Дата сообщения: 26.01.2009 11:56
Доброго дня!
Существует вот такая задача...
необходимо найти файл который может быть расположен на любом диске компа, имя файла известно, далее путь поместить в переменную и произвести манипуляции с этим файлом.
Каким образом осуществить поиск?
заранее спасибо!
Автор: Elroir
Дата сообщения: 26.01.2009 13:14
Gizmentiy
Как-нибудь так:

Код:
@echo off
setlocal
for %%i 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 (
for /f "tokens=*" %%a in ('dir /b /s /a-d %%i:\FileName.ext 2^>nul') do (
set "foundFile=%%a" & goto found
))
echo File not found
goto :EOF
:found
echo File found - %foundFile%
Автор: Gizmentiy
Дата сообщения: 26.01.2009 14:01
Elroir

Спасибо большое работает!
Автор: FaUsT333
Дата сообщения: 26.01.2009 14:09
Ребятки, я уже конечно спрашивал, но все таки есть ли у кого утилита для выполнения SQL запроса из командной строки? Даже серии запросов, для dbf файла.
Автор: vu1tur
Дата сообщения: 26.01.2009 14:12
FaUsT333
cdbflite
Автор: DESperado
Дата сообщения: 27.01.2009 08:35
Ребята, подскажите.... Почему этот код не работает

Код:
set path_xp = c:\temp\

for /f "usebackq" %%a IN (`dir %path_xp% /b`) do (@echo %%a >>list.txt)
Автор: Elroir
Дата сообщения: 27.01.2009 09:58
DESperado

Цитата:
Неужели такие строгие правила синтаксиса?

Не настолько строгие. У меня одинаково работают оба примера.
Может быть у тебя на пустой строчке стоит какой-нибудь символ невидимый...
Автор: Nagual
Дата сообщения: 27.01.2009 10:43
DESperado
данный код прекрасно покажет присвоение переменной
пробел после path_xp в первой строке приведёт к неверному присвоению имени переменной, то есть переменная будет выглядеть как %path_xp %
отсюда следует, что имя переменной присваивается командой set между пробелом после команды и первым знаком =, что хорошо видно на примере
Код:
@set path_xp = c:\temp\
if defined path_xp (echo the path_xp="%path_xp%") else echo var path_xp not defined, the path_xp="%path_xp %"
Автор: sL4yer
Дата сообщения: 27.01.2009 14:45
Здраствуйте. Сразу хочу попросить пощение если этот вопрос уже рассматривался раньше.
Как вывести дату на екран без точек, например если написать:
echo %date% - результат будет 27.01.2009, как сделать что бы вывело 27012009? Или как записать это число в переменную?
Зарание благодарен.
Автор: Elroir
Дата сообщения: 27.01.2009 17:02
sL4yer

Код: echo %date:.=%
Автор: sL4yer
Дата сообщения: 27.01.2009 19:40
Есть файл 1.txt нужно в этом файле найти строку которая начинается со слова "loop" и вырезать из неё например несколько последних символов.
Зарание благодарен.
Автор: korosya
Дата сообщения: 27.01.2009 22:09
Задавал следующий вопрос:

Код: Есть два текстовых файла. Один полностью юникодный (содержаться строки на разных языках). Задача: удалить из юникодного файла строки, в которых содержатся определённые слова. Список слов - во втором файле. Возможно есть какая-нибудь утилита, которая поможет решить эту задачу из комстроки?
Автор: batniki
Дата сообщения: 27.01.2009 22:34
Помогите, нужно из файла вывести разную строку при каждом запуске
Автор: 01MDM
Дата сообщения: 27.01.2009 22:44
korosya
Попробуй. Есть два файла 1-utf.txt (файл с текстом) и list-utf.txt (файл со словами)


Код:
@echo off
findstr /v /g:list-utf.txt 1-utf.txt 1>1.tmp
move /y 1.tmp 1-utf.txt
Автор: korosya
Дата сообщения: 28.01.2009 00:06
01MDM
Не получается. Файл 1.tmp в точности совпадает с 1-utf.txt. В качестве 1-utf.txt я использую INTL.INF из папки I386 дистрибутива WinXP. Файл list-utf.txt (ANSI) [more]85F874.FON
85F1255.FON
85F1256.FON
85F1257.FON
85S874.FON
85S1255.FON
85S1256.FON
85S1257.FON
8514FIXE.FON
8514FIXG.FON
8514FIXT.FON
8514OEME.FON
8514OEMG.FON
8514OEMT.FON
8514SYSE.FON
8514SYSG.FON
8514SYST.FON
85775.FON
AGT040D.DLL
AGT040D.HLP
AGT040E.DLL
AGT040E.HLP
AGT041F.DLL
AGT041F.HLP
AGT0401.DLL
AGT0401.HLP
AGT0404.DLL
AGT0404.HLP
AGT0405.DLL
AGT0405.HLP
AGT0408.DLL
AGT0408.HLP
AGT0411.DLL
AGT0411.HLP
AGT0412.DLL
AGT0412.HLP
AGT0415.DLL
AGT0415.HLP
AGT0804.DLL
AGT0804.HLP
AHRONBD.TTF
ANDLSO.TTF
ANGSA.TTF
ANGSAB.TTF
ANGSAI.TTF
ANGSAU.TTF
ANGSAUB.TTF
ANGSAUI.TTF
ANGSAUZ.TTF
ANGSAZ.TTF
APP775.FON
APP852.FON
APP857.FON
ARTRBDO.TTF
ARTRO.TTF
BROWA.TTF
BROWAB.TTF
BROWAI.TTF
BROWAU.TTF
BROWAUB.TTF
BROWAUI.TTF
BROWAUZ.TTF
BROWAZ.TTF
C_G18030.DLL
C_IS2022.DLL
C_ISCII.DLL
CGA40737.FON
CGA40852.FON
CGA40857.FON
CGA40869.FON
CGA80737.FON
CGA80852.FON
CGA80857.FON
CGA80869.FON
CORDIA.TTF
CORDIAB.TTF
CORDIAI.TTF
CORDIAU.TTF
CORDIAUB.TTF
CORDIAUI.TTF
CORDIAUZ.TTF
CORDIAZ.TTF
COUE1255.FON
COUE1256.FON
COUE1257.FON
COUF1255.FON
COUF1256.FON
COUF1257.FON
COUREE.FON
COUREG.FON
COURET.FON
COURFE.FON
COURFG.FON
COURFT.FON
DAVID.TTF
DAVIDBD.TTF
DAVIDTR.TTF
DOS737.FON
EGA40737.FON
EGA40852.FON
EGA40857.FON
EGA40869.FON
EGA80737.FON
EGA80852.FON
EGA80857.FON
EGA80869.FON
ESTRE.TTF
F3AHVOAS.DLL
FRANK.TTF
FTLX041E.DLL
GAUTAMI.TTF
KARTIKA.TTF
KBD101.DLL
KBD101A.DLL
KBD106N.DLL
KBDAX2.DLL
KBDIBM02.DLL
KBDLK41A.DLL
KBDLK41J.DLL
KBDNEC.DLL
KBDNEC95.DLL
KBDNECAT.DLL
KBDNECNT.DLL
LATHA.TTF
LVNM.TTF
LVNMBD.TTF
MANGAL.TTF
MRIAM.TTF
MRIAMC.TTF
MRIAMFX.TTF
MRIAMTR.TTF
MSDLG874.FON
NRKIS.TTF
RAAVI.TTF
ROD.TTF
RODTR.TTF
SERE1255.FON
SERE1256.FON
SERE1257.FON
SERF1255.FON
SERF1256.FON
SERF1257.FON
SERIFEE.FON
SERIFEG.FON
SERIFET.FON
SERIFFE.FON
SERIFFG.FON
SERIFFT.FON
SHRUTI.TTF
SIMPBDO.TTF
SIMPFXO.TTF
SIMPO.TTF
SMAE1255.FON
SMAE1256.FON
SMAE1257.FON
SMAF1255.FON
SMAF1256.FON
SMAF1257.FON
SMALLEE.FON
SMALLEG.FON
SMALLET.FON
SMALLFE.FON
SMALLFG.FON
SMALLFT.FON
SSEE874.FON
SSEE1255.FON
SSEE1256.FON
SSEE1257.FON
SSEF874.FON
SSEF1255.FON
SSEF1256.FON
SSEF1257.FON
SSERIFEE.FON
SSERIFEG.FON
SSERIFET.FON
SSERIFFE.FON
SSERIFFG.FON
SSERIFFT.FON
SYLFAEN.TTF
TRADBDO.TTF
TRADO.TTF
TUNGA.TTF
UPCDB.TTF
UPCDBI.TTF
UPCDI.TTF
UPCDL.TTF
UPCEB.TTF
UPCEBI.TTF
UPCEI.TTF
UPCEL.TTF
UPCFB.TTF
UPCFBI.TTF
UPCFI.TTF
UPCFL.TTF
UPCIB.TTF
UPCIBI.TTF
UPCII.TTF
UPCIL.TTF
UPCJB.TTF
UPCJBI.TTF
UPCJI.TTF
UPCJL.TTF
UPCKB.TTF
UPCKBI.TTF
UPCKI.TTF
UPCKL.TTF
UPCLB.TTF
UPCLBI.TTF
UPCLI.TTF
UPCLL.TTF
VGA737.FON
VGA775.FON
VGA852.FON
VGA857.FON
VGA869.FON
VGAF874.FON
VGAF1255.FON
VGAF1256.FON
VGAF1257.FON
VGAFIXE.FON
VGAFIXG.FON
VGAFIXT.FON
VGAS874.FON
VGAS1255.FON
VGAS1256.FON
VGAS1257.FON
VGASYSE.FON
VGASYSG.FON
VGASYST.FON
VRINDA.TTF
[/more]

Автор: Elroir
Дата сообщения: 28.01.2009 00:14
sL4yer

Цитата:
Есть файл 1.txt нужно в этом файле найти строку которая начинается со слова "loop" и вырезать из неё например несколько последних символов.


Код:
@echo off
setlocal
for /f "tokens=*" %%a in ('type 1.txt ^| findstr /r /c:"^loop"') do set "line=%%a" & goto next
:next
if defined line echo %line:~-5%
Автор: 01MDM
Дата сообщения: 28.01.2009 10:42
korosya

Цитата:
Не получается. Файл 1.tmp в точности совпадает с 1-utf.txt. В качестве 1-utf.txt я использую INTL.INF из папки I386 дистрибутива WinXP


Он в кодировке utf-16, а с ней, наверное, юникодная cmd (cmd /u) не справляется
Проверь такой вариант, если все пройдет нормально раскомментируй две последние строки:


Код:
@echo off

iconv -f utf-16 -t utf-8 intl.inf 1>~intl.inf
findstr /v /g:list.txt ~intl.inf 1>intl.tmp

::move /y intl.tmp intl.inf
::del ~intl.inf
Автор: batniki
Дата сообщения: 28.01.2009 11:38
Elroir, спасибо!

Подскажите, как сделать, чтобы названия всех файлов с расширением .rar из каталога archs
записывались построчно (без расширения, только имя) в list.txt
Автор: Elroir
Дата сообщения: 28.01.2009 12:47
batniki

Код:
@echo off
for %%a in (archs\*.rar) do echo %%~na>>list.txt
Автор: NPhoenix
Дата сообщения: 28.01.2009 14:02
Столкнулись с проблемой определения ERRORLEVEL.

Bat-файл написан для запуска программы, которая должна выполнить указанную команду (программа лежит не рядом с bat-файлом). Код приведен ниже.
В строке вызова команды написана специально неправильная команда, чтобы получить ошибку в ERRORLEVEL. В итоге получается, что ERRORLEVEL всегда 0, т.е. ошибок нет, тогда как уже ошибка - неправильная команда.

Программа, к которой обращаюсь с командой, возвращает результат ERRORLEVEL=1, если указать неправильную команду в папке, где она распололжена.

Может все дело в смене путей: cd..\.. ?

Помогите, пожалуйста. Пока ещё новичок в батниках.


Цитата:
set dbOrig=db1.gdb
set dbCopy=_db1.gdb

rem Копируем БД, дальше действия будем делать с копией
copy /Y %dbOrig% %dbCopy%


rem Проверим, что есть загрузочный файл dbPatcher.exe
cd ..\..\Exe
if not exist dbPatcher.exe (
    set ERRORLEVEL=1
) else (
    rem Команда вызова паузы
    call dbPatcher.exe wrnComm
    echo Команда вернула результат = %ERRORLEVEL%
)
...

Автор: Elroir
Дата сообщения: 28.01.2009 14:43
NPhoenix

Код:
setlocal enabledelayedexpansion

set dbOrig=db1.gdb
set dbCopy=_db1.gdb

rem Копируем БД, дальше действия будем делать с копией
copy /Y %dbOrig% %dbCopy%


rem Проверим, что есть загрузочный файл dbPatcher.exe
cd ..\..\Exe
if not exist dbPatcher.exe (
rem Используйте переменную, с другим названием (не errorlevel)
set MY_ERRORLEVEL=1

) else (
rem Команда вызова паузы
call dbPatcher.exe wrnComm
echo Команда вернула результат = !ERRORLEVEL!
)

...
Автор: chel78
Дата сообщения: 28.01.2009 15:36
привет,
можно ли создать и если можно то как такой батник:
запуск программы, которая запрашивает логин и пароль, тоесть автоматически что бы логинилось.
Автор: NPhoenix
Дата сообщения: 28.01.2009 15:41
Спасибо огромное. Прояснилося...

Добавлено:
chel78

А к какой именно программе ты хочешь прилогиниться?
Автор: kravchuk666
Дата сообщения: 28.01.2009 15:46
Помогите плизз напсиать батник. Суть следующая есть программа gif_opener которая просматривает и редактирует внутреннюю структуру gif файла, есть сам gif файл, нужно следующее:
запустит gif_opener в нем открыть gif файл, перейти на 13 байт поменять все до 60 сохранить и выйти. тк с программой врядил кто то знаком, то может просто подскажете как перемещать курсор по координатам...
Автор: chel78
Дата сообщения: 28.01.2009 15:54

Цитата:
А к какой именно программе ты хочешь прилогиниться?



SAP
Автор: Elroir
Дата сообщения: 28.01.2009 16:05
kravchuk666
Тебе скорее подойдет AutoIt скрипт - http://forum.ru-board.com/topic.cgi?forum=5&topic=29240

chel78
Может и тебе пригодится.
Автор: kravchuk666
Дата сообщения: 28.01.2009 16:11
спасибо попробую
Автор: NPhoenix
Дата сообщения: 28.01.2009 16:13
chel78
Вообще можно, если у неё прописаны для этого параметры командной строки.
Для примера в Download Master прописаны команды, с помощью которых можно управлять закачками, создав для этого какой-нибудь батник.
Автор: kravchuk666
Дата сообщения: 28.01.2009 17:23
А возможно все такие сделать автоматический переход по строчкам, если к примеру загружен текстовый документ?

Добавлено:
А вот ещё, кто нить знает как работать с Norton Utilities 4.5 при помощи батников.

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667

Предыдущая тема: как сохранить сетевые настройки


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