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

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

Автор: pasha
Дата сообщения: 21.11.2008 17:38
Elroir
Сенкс! Попробую в виртуалке, отпишусь.
Автор: s1nfrompvl
Дата сообщения: 22.11.2008 12:38
хм.... страниц очень много.. попытался поискать поиском но не получилось...
в общем проблема такого вида... мне надо чтобы через echo записать строчку но не надо туда добавлять переност строчки.. =).. или можно другой вариант реализации...
есть утилита svnversion(она показывает номер ревизии svn в виде циферки)...
но мне надо записать ответ в файл.. но при этом добавить перед ней строчку(для компиляции проекта и добавления в него информацию о номере svn ревизии)...
что то типо
################
echo svnrev=>version.h
svnversion >>version.h
################
в файле надо сохранить в виде
################
svnrev=55
################
а не
################
svnrev=
55
################
Автор: Elroir
Дата сообщения: 22.11.2008 13:34
s1nfrompvl

Код:
set /p=svnrev=<nul>version.h
svnversion>>version.h
Автор: s1nfrompvl
Дата сообщения: 22.11.2008 15:14
огромное спасибо... работает идеально.. =)..
Автор: XXXXL
Дата сообщения: 22.11.2008 19:16
Здравствуйте!
У меня тут такая не задача..... попытаюсь объястнить доступно.

В директории "A" есть файлы .txt и в директории "B" есть файлы .txt, в "B" положил батник 1.bat c таким содержимым : del *.txt запускаю этот бат из батника, который работает в директории "А" start B\1.bat, он должен удалить все файлы в "B" а он удаляет в "А" (((( немогу понять как его правельно запустить.
Помогите пожалуйста.

Автор: Elroir
Дата сообщения: 22.11.2008 19:39
XXXXL
Либо пиши в 1.bat:

Код: del [Полный путь до директории B]\*.txt
Автор: XXXXL
Дата сообщения: 23.11.2008 09:30
Elroir

Код: cd "[Полный путь до директории B]"
call 1.bat
Автор: APSTENU
Дата сообщения: 23.11.2008 16:25
Всем привет.
Может кто подскажет как с помощью батника создать подключение к интернету,
не подключиться а создать подключение
Автор: Elroir
Дата сообщения: 23.11.2008 16:54
APSTENU
Соединения определяются в текстовом файле "rasphone.pbk"
Его можно либо заменить на тот, в котором уже определено соединение, либо добавить туда нужные строчки командой echo.
Автор: APSTENU
Дата сообщения: 23.11.2008 17:27
Да, об этом файле я слышал, думал может есть другой способ
Автор: Ninja33
Дата сообщения: 24.11.2008 08:53
Всем доброго времени суток!Как можно реализовать такой сценарий:например в папке лежит 400 патчей(Patch_shell32.exe,Patch_soundvol.exe.....)и 400 файлов для пропатчивания(shell32.dll,soundvol.exe...)можна сделать пакетный файл чтобы запускал все патчи???Вот то что я написал,но он не совсем правильно работает:
For /F "UseBackQ Delims=" %%I In (`Dir C:\Tmp /B /ON 2^>nul`) Do C:\Tmp\%%~I -force -guiless -auto -dir C:\Tmp
pause
exit
во первых,он пытается запутить кроме патчей и сами файлы и в итоге на какомто этапе зависает...,во вторых,(если положить,допустим 5 файлов и 5 патчей)после пропатчивания и дет все по кругу,приходится его грубо вырубать....
Зарание благодарен за любую помощь.
Автор: Elroir
Дата сообщения: 24.11.2008 13:06
Ninja33
Если патчи консольные, тогда так:

Код:
@echo off
For %%I In (Patch_*.exe) Do "C:\Tmp\%%I" -force -guiless -auto -dir C:\Tmp
Автор: dex_2005
Дата сообщения: 24.11.2008 14:24
Доброе время суток, Господа!
Требуется ваша помощь. Нужен батник чтоб контролировал соединение в интернетом, идея такова!
значит пингуем IP какого нить интернет сервиса например того же ya.ru если пинг присутствует записываем дату и время + строку Интернет есть =)(надо чтоб это действие писалось в лог файл всего лишь один раз, а если инет вдруг пропадет тоже действие запись в лог + строка Инет отсутствует (надо чтоб и это сообщение записалось один раз)и все сначала! =)
Автор: Ninja33
Дата сообщения: 24.11.2008 14:37
ElroirСпасибо Вам большое!!!!
Автор: Elroir
Дата сообщения: 24.11.2008 15:23
dex_2005
Если я правильно понял, то, наверно, так:

Код:
@echo off
setlocal
:loop
ping ya.ru | find "TTL=">nul
if errorlevel 1 (
if not defined noConnection (
set "noConnection=true"
echo %date% %time% Disconnected>>log.txt
)
) else (
if defined noConnection (
set "noConnection="
echo %date% %time% Connected>>log.txt
)
)
goto loop
Автор: grokote
Дата сообщения: 24.11.2008 22:02
Подскажите пожалуйста точную команду. Требуется: в определенной папке проверить все имена всех папок (включая вложенные) и, если в имени присутствует определенная комбинация, заменить ее на другую (пример - было "b_(file)_name" стало "b (notfile) name"). Попробовал несколько комбинаций, но так что-то ничего не получилось.
Автор: Elroir
Дата сообщения: 24.11.2008 22:37
grokote
Одной командой это не сделаешь.
Кроме того, ты даешь слишком общие условия. Сформулируй конкретнее. Для твоего примера можно написать батник, но он будет работать, например, только на файлах состоящих из трех частей, разделенных символом подчеркивания.
Автор: grokote
Дата сообщения: 24.11.2008 22:48
Elroir
В точку. Если совсем конкретный случай. Имя папки: "символ1_слово1_(слово2)_(слово3)", надо "символ1 слово1 слово2 (слово3)" так. Папок много, есть вложенные. Имена однотипные, но "слово" везде разное. Если кто объяснит это, то дальше я сам разберусь. Понимаю что там не одна команда.
Автор: dex_2005
Дата сообщения: 25.11.2008 11:07
Elroir

Цитата:
dex_2005
Если я правильно понял, то, наверно, так:
....
Батник не тестировался.


За одно и потестим )))

Добавлено:
Elroir

Цитата:
dex_2005


Код: @echo off
setlocal
:loop
ping ya.ru | find "TTL=">nul
if errorlevel 1 (
if not defined noConnection (
set "noConnection=true"
echo %date% %time% Disconnected>>log.txt
)
) else (
if defined noConnection (
set "noConnection="
echo %date% %time% Connected>>log.txt
)
)
goto loop



Батник не тестировался.
Автор: corsik
Дата сообщения: 26.11.2008 18:05
Люди у меня обсалютно нубский вопрос. Надо закинуть программу в атозагрузку через реестр!!! Как прописать файлик чтобы он это делал?
Автор: alt76
Дата сообщения: 26.11.2008 20:17
corsik
например таким батником:

@echo off
echo REGEDIT4 > "%TEMP%\$TmpRegAdd$.reg"
echo [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run] >> "%TEMP%\$TmpRegAdd$.reg"
echo "ProgName"="c:\\Path\\Prog.exe" >> "%TEMP%\$TmpRegAdd$.reg"
start/wait regedit -s "%TEMP%\$TmpRegAdd$.reg"
del "%TEMP%\$TmpRegAdd$.reg" > nul


Добавлено:
(подсмотрено в RestoreSettings.bat из far)
Автор: Elroir
Дата сообщения: 27.11.2008 03:03
corsik
alt76
Или одной строчкой :

Код: reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Run /v MyProgName /d "c:\MyProg\MyProg.exe" /f
Автор: corsik
Дата сообщения: 27.11.2008 09:13
Все спс разобрался!!!

Добавлено:

REGEDIT4

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run]
"proba"="D:\\Program Files\\proba\\proba.exe"

Вот как это должно было выглядеть под 2000виндой!!! =)
Автор: Elroir
Дата сообщения: 27.11.2008 21:45
grokote
Наверно, лучше поздно, чем никогда:

Код:
@echo off
call :process "%cd%"
goto :EOF
:process
:: Переходим в директорию, преданную, как аргумент
pushd "%~1"
:: Проходим по всем директориям подходящим под маску и посылаем их :doRename, как аргумент
for /d %%a in (?_*_^(*^)_^(*^)) do call :doRename "%%a"
:: Проходим по всем директориям и запускаем :process с названием директории, как аргумент
for /d %%a in (*) do call :process "%%a"
:: Возвращаемся туда, где были
popd
goto :EOF
:doRename
:: Разбиваем полученную директорию на части, в соответствии с маской и переименовываем
for /f "tokens=1,2,3,4 delims=_()" %%i in (%1) do ren %1 "%%i %%j %%k (%%l)"
Автор: Ninja33
Дата сообщения: 28.11.2008 08:44
Ребята,скажите пожалуста,как можна сделать,чтобы при упаковке файлов командой MAKECAB,имена файлов преобразовывались в верхний регистр?Файлов много,они у меня лежат в определенной папке,этой командой: For %%I In (C:\tmp\*.*) Do START /WAIT MAKECAB.exe "%%~I" я их упаковываю...Реально ли это?Зарание спасибо.
Автор: igor_andreev
Дата сообщения: 28.11.2008 09:13
Ninja33
Если ты делаешь дистриб винды и собираешься все это добро собрать в iso-файл при помощи cdimage(а для чего еще каждый файл в каб пакуют?), то не надо ничего конвертировать, cdimage сама все переведет в верхний регистр, если принудительно(параметр -d) не сказано обратное.

Если для других надобностей, то filecase.exe в помощь
http://www.stevemiller.net/downloads/ctb10w32.zip

З.Ы. makecab - консольная утилита, "START /WAIT" можно не писать
Автор: Ninja33
Дата сообщения: 28.11.2008 09:20

Цитата:
Если ты делаешь дистриб винды
так и есть ,Спасибо большое,буду юзать cdimage,просто раньше Ultra Iso все делал....не знал,спасибо!



Добавлено:
Еще один вопросик...а можна исключить пару файлов из сценария упаковки,не вынимая их из папки?
Автор: vitrzn
Дата сообщения: 28.11.2008 10:43
подскажите, а можно как-то вот этой командой
del /s /q /f *.usr
удалить все файлы кроме cons*.usr

Или как удалить все файлы из папок кроме cons*.usr ?
Автор: KapralBel
Дата сообщения: 29.11.2008 11:56
vitrzn
Поставь атрибут R/O на эти файлы
Del /s /q *.usr (без ключа /Force)
сними атрибут RO
Автор: vitrzn
Дата сообщения: 29.11.2008 12:43
KapralBel

СПАСИБО !
решение было простое

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172

Предыдущая тема: DVD-video (ДВД-видео) - что и как (часть 3)


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