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

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

Автор: angeltwo
Дата сообщения: 04.05.2008 20:05
JI063uk

psexec @list.txt -e -d "C:\111\1.exe"
(psexec из PsTools неоднократно тут упоминавшихся)

Elroir
Ни разу не добавлял лишние кавычки перед именами с пробелами в кавычках - все работало без проблем, поэтому так и писал.

Dantis
Попробуй тогда поставить службам Касперыча и Аутпоста в настройках запуск вручную. Это можно сделать командой:
sc config имя_службы start= demand
После этого перезагружай комп и эти службы мешать больше не будут. Перезагрузить можно командой:
shutdown -r -t 0
Обратно вернуть автозапуск служб можно так:
sc config имя_службы start= auto

P.S. Файлы .msc и есть консоль, она и будет запускаться, чего хотел, то и получаешь)
Автор: Dantis
Дата сообщения: 04.05.2008 20:19

Цитата:
P.S. Файлы .msc и есть консоль, она и будет запускаться, чего хотел, то и получаешь)



гы... один из вариантов работает . запускается сама прога, НО Запускается она не всегда =(.
Автор: JI063uk
Дата сообщения: 04.05.2008 20:37

Цитата:
angeltwo

Не получяеться с этой командой psexec...
Нашел кое что - но запускаеться только на моем компе а по сети нет
т.е. прибиваеться везде а запускаеться токо у меня

@echo off
setlocal
for /f "tokens=*" %%i in (list.txt) do (
taskkill /s "\\%%i" /im 1.exe /f
)
tasklist | find /i "1.exe" || start "" "C:\111\1.exe"
PAUSE

Help

Автор: Elroir
Дата сообщения: 04.05.2008 21:31
Astron

Цитата:
Команда №1 в контекстном меню, например "Spaces to Underscores"
--->меняет в имени пробелы на подчеркивания для текущего файла или каталога, причем имена всех содержащихся в текущем каталоге файлов и подкаталогов НЕ изменяются

Команда №2 в контекстном меню, например "All Sub Spaces to Underscores"
--->меняет пробелы на подчеркивания для текущего файла, а в случае каталога, то для него и всех содержащихся в нем файлов и каталогов


Вроде так
Батник replace_spaces.cmd:

Код:
@echo off
setlocal
if not "%~2"=="/s" goto file_rename
pushd "%~1" >nul 2>&1 || goto file_rename
popd
call :process_files %1
call :process_dirs %1 "%~2"
:file_rename
pushd "%~dp1"
call :do_rename %1
popd
goto :EOF
:process_files
pushd %1
for %%a in (*.*) do call :do_rename "%%~fa"
popd
goto :EOF
:process_dirs
pushd %1
for /d %%a in (*.*) do call :do_rename "%%~fa"
for /d %%a in (*.*) do call "%~f0" "%%~fa" "%~2"
popd
:do_rename
set "name=%~nx1"
set "name=%name: =_%"
ren "%~nx1" "%name%"
Автор: Cheerful_a_bear
Дата сообщения: 04.05.2008 22:41
ЛЮДИ, подскажите как удалять из папки файлы старше определенного количества дней...
Автор: Astron
Дата сообщения: 04.05.2008 23:48

Цитата:
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\*\shell\Spaces to Underscores]

[HKEY_CLASSES_ROOT\*\shell\Spaces to Underscores\command]
@="replace_spaces.cmd \"%L\""

[HKEY_CLASSES_ROOT\Folder\shell\Spaces to Underscores]

[HKEY_CLASSES_ROOT\Folder\shell\Spaces to Underscores\command]
@="replace_spaces.cmd \"%L\""

[HKEY_CLASSES_ROOT\Folder\shell\All Sub Spaces to Underscores]

[HKEY_CLASSES_ROOT\Folder\shell\All Sub Spaces to Underscores\command]
@="replace_spaces.cmd \"%L\" \"/s\""
Автор: Elroir
Дата сообщения: 05.05.2008 00:01
Astron
Самое интересное, что у меня в редакторе reg файл написан правильно.
Как я копировал...
Автор: Astron
Дата сообщения: 05.05.2008 00:34
Elroir
У меня не выполняется условие - всегда переименовывается всё, что есть в каталоге...
Автор: Elroir
Дата сообщения: 05.05.2008 01:00
Astron
Что-то у нас с тобой с первого раза ничего не получается
У меня все работает как часы.
После строчки "setlocal", добавь

Код:
echo %%2 == %2
pause
Автор: king_stiven
Дата сообщения: 05.05.2008 05:37
Cheerful_a_bear
17 страница топика
Автор: APir
Дата сообщения: 05.05.2008 07:42

Цитата:
rar.exe a -r -agdd-mm-yyyy -m5 -df -y c:\BACKUP\Архив\Архив_DOC_за_.rar c:\BackUP\DOC\
rar.exe a -r -agdd-mm-yyyy -m5 -df -y c:\BACKUP\Архив\Архив_XLS_за_.rar c:\BackUP\XLS\


Как сделать так, чтобы архивные файлы старше месяца автоматически удалялись, а на их место записывались новые?


Есть идея.

"rar.exe a -r -agdd" и разрешить перезапись файлов.

То есть убрать месяц и год из имени файлов, тогда они будут совпадать. Должно сработать.
Автор: bmax
Дата сообщения: 05.05.2008 13:57
Всем добрый день!
Не откажите в помощи, пожалуйста!
как реализовать задаку:
Бежим по файлику от начала до конца в поисках следующего:
FileName="имя файла" и вот если "имя файла" начинается с буквы b, тогда передаем переменной номер строки в которой было найдено совпадение. Бежим дальше в поисках следующего найденного FileName="имя файла", где "имя файла" начинается с буквы b - опять передаем номер строки переменной и т.д. пока не будет достигнут конец файла. Как только достигнут конец файла сохраняем номер строки конца файла во внешний файл, чтобы в следующий раз приступить к поиску с этого места.
Буду рад любой помощи!
Спасибо.

Автор: GORA2
Дата сообщения: 05.05.2008 14:04
Подскажите, можно ли решить такую задачу средствами bat файла:
1 Нужно отследить завершение процесса установки приложения запущенного из bat файла.
2 В ходе установки приложение запускает "дочерний" процесс и закрывает основной, тем самым возвращая управление bat файлу.
3 Процесс установки продолжается и его можно видеть в "Диспетчере задач" по запущенным процессам (например, mscorsvw.exe), но дело усложняется тем, что процесс с этим именем не один!!!
4 Когда процесс с указанным именем остается один в диспетчере - это и будет завершение установки.

Как это можно реализовать?
Автор: 01MDM
Дата сообщения: 05.05.2008 19:22
bmax

Вот вроде подробно написал, но не понятно. Нужно узнать номер строки где в последний раз встречается:

Код:
FileName="b*"
Автор: rupinskiy
Дата сообщения: 05.05.2008 23:38
Уважаемые сведущие - направили меня с других топиков к вам за советом - помогите пожалуйста решить 2 проблемки:

1.) есть строка типа - %%текст1;; а есть другая ???текст2)) - надо текст1 поменять на текст 2, где "% ; ? )" - произвольные символы, которые будут (могут) выступать критериями поиска

2.) есть файлы (тисяч 15) у всех такое название построено по такому формату - ХХХХ(другая лабуда), где ХХХХ - 4-ре цифры - надо сделать чтобы что либо обработало этот массив и пораспихивало все файлы по следующему правилу - создало папку с именем ХХХХ (те же 4 цифры) и закинуло все файлы которые начинаютса на них и так со всеми возможными вариантами этих 4-рез цифр
Автор: Astron
Дата сообщения: 06.05.2008 00:32
Elroir
а) =
б) ="%s"
в общем, вроде заработало!!!
Автор: bmax
Дата сообщения: 06.05.2008 08:23
01MDM, спасибо огромное!
Каждый раз при успешном нахождении FileName="b*" передает номер строки в которой нашла совпадение (который(номер строки) я в дальнейшем использую для образования имени файла), ищет дальше и если находит - выполняет то же самое, и бежит дальше, пока не будет достигнут конец файла. Как только достигнут конец файла передаем номер строки КОНЦА ФАЙЛА во внешний файл, чтобы в следующий раз начинать поиск FileName="b*" не с самого начала, а с того места где закончили в прошлый раз, т к. файл постоянно дописывается. Как это реализовать?

Еще раз спасибо за помощь!
Автор: king_stiven
Дата сообщения: 06.05.2008 08:31
rupinskiy

Цитата:
2.) есть файлы (тисяч 15) у всех такое название построено по такому формату - ХХХХ(другая лабуда), где ХХХХ - 4-ре цифры - надо сделать чтобы что либо обработало этот массив


Код: @echo off
cd /d D:\2
for %%c in (*.*) do call :rty "%%c"
goto :eof
:rty
set file=%~1
set "file=%file:~0,4%"
if not exist "%file%\" md "%file%"
MOVE %1 "%file%"
Автор: 01MDM
Дата сообщения: 06.05.2008 09:07
bmax

Код:
@echo off
setlocal

:: Находим строки "FileName=...." и их номера
for /f "tokens=1,3* delims=:=" %%i in ('findstr /n "FileName=.b.*" 1.txt') do (
    set line=%%i && call:somejob %%j %%k
)

:: Считаем дальше, от последнего найденного, до конца файла
for /f "skip=%line%" %%i in (1.txt) do set /a cnt+=1
set /a cnt+=line

:: Всего строк в файле, без учета пустых в нижней части файла
:: Но можно исправить, если принципиально.
echo %cnt% > mark.txt
goto:eof

:somejob
:: Здесь обрабатываешь названия файлов из найденных строк
echo file name is %~1 %~2 line:%line%

Автор: Joolz
Дата сообщения: 06.05.2008 09:09
Есть ли способ скрыть вывод команды taskkill?
Конструкция типа:

Код: taskkill /F /IM "program.exe" /T>null
Автор: bmax
Дата сообщения: 06.05.2008 09:13
To 01MDM спасибочки!
Автор: king_stiven
Дата сообщения: 06.05.2008 09:20
А так надёжней

Код: @echo off
cd /d D:\2
for %%c in (*.*) do (
set "file=%%c"
call :rty
)
goto :eof
:rty
set "folder=%file:~0,4%"
if not exist "%folder%\" md "%folder%"
MOVE "%file%" "%folder%"
Автор: Joolz
Дата сообщения: 06.05.2008 11:00
И еще вопросец...
Как можно стартовать службу (service), если у нее тип запуска - отключено.
Я пробую через WMIC, но не соображу какой там синтаксис.

Пробую юзать wmic service where NAME=Messenger call ChangeStartMode startmode=Manual, но дает ошибку startmode - не входной параметр.

Надо поменят StartMode=Disabled на Auto
Name=Messenger
DisplayName="Служба сообщений"
Автор: SHEVRSV
Дата сообщения: 06.05.2008 11:10
Как создать генератор символов и записи его в txt замещая определенные символы.

Для чего мне это надо:

У меня есть наклейка от Win XP OEM, кто то оторвал три символа из кода, можно ли их как то восстановить или сгенирировать три недостающих символа?

Как можно сделать:

у меня есть
1. ключик типа: ххххх-ххххх-ххххх-???ххх-ххххх
где ??? не известные три символа
2. программа для проверки ключа подходит ли он к этой версии.
Для проверки ключа он вводится вручную, либо, из txt файла, но в указанном выше формате.

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

ххххх-ххххх-ххххх-FD5ххх-ххххх
ххххх-ххххх-ххххх-FD6ххх-ххххх
ххххх-ххххх-ххххх-CVBххх-ххххх
ххххх-ххххх-ххххх-RT5ххх-ххххх

и вместо ??? не все цифры и буквы алфавита, а например только комбинация из DFCVBRT56

Из реестра вытащить не получится, потому что там ключ ОЕМ.
Автор: bmax
Дата сообщения: 06.05.2008 11:23
Все вроде бы работает, только вот еще спрошу:

for /f "skip=КАК ЗДЕСЬ РОПУСТИТЬ КОЛИЧЕСТВО СТРОК РАВНОЕ ЗНАЧЕНИЮ В ПЕРВОЙ СТРОКЕ ФАЙЛА 1.TXT??? tokens=1,3* delims=:=" %%i in ('findstr /n "FileName=.b.*" d:\Teleport\files\acp.rec') do (
set "line=%%i" && call:copy)
Автор: 01MDM
Дата сообщения: 06.05.2008 11:29
Joolz


Код:
sc config Messenger start= auto
sc start Messenger
Автор: Joolz
Дата сообщения: 06.05.2008 11:36
01MDM
О! Какая интересная утилитка. Спасибо большое.

Решил задачку и с помощью WMIC. Если кому интересно, вот код:

Код:
wmic service where (NAME="Messenger") call ChangeStartMode "AUTOMATIC"
wmic service where (NAME="Messenger") call StartService
Автор: 01MDM
Дата сообщения: 06.05.2008 11:40
Joolz

Я опечатался, исправил


Добавлено:
bmax

Если в первой строке файла только число, то


Код:
@echo off
set /p skip=<1.txt
for /f "skip=%skip%........
Автор: Dantis
Дата сообщения: 06.05.2008 13:17
Можноли по средствам bat файлов запретить доспут на определенную страничку в инете? (через фаер уже не как =( моя домашняя обизаня научилась его закрывать)
Автор: king_stiven
Дата сообщения: 06.05.2008 13:57
SHEVRSV

Код: @echo off
for %%c in (D F C V B R T 5 6) do (
for %%d in (D F C V B R T 5 6) do (
for %%e in (D F C V B R T 5 6) do echo ххххх-ххххх-ххххх-%%c%%d%%eххх-ххххх >> 1.txt
)
)

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566

Предыдущая тема: Сброс пароля администратора


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