Огромнейшее спасибо всем!!!
» Задачи на bat-файлах 5
1) Каким образом можно выяснить имеется ли запущенный процесс в системе, например winword.exe под пользователем user?
Консольная утилита tasklist работает, но когда применяешь фильтрацию типа /fi "username eq user" пишет ошибка: фильтр поиска не опознан. И вообще эта утилита tasklist была бы хороша, но ее фильтры у меня не работают практически на всех машинах в сети.
2) Если данный процесс существует, тогда ликвидировать его путем taskkill
Консольная утилита tasklist работает, но когда применяешь фильтрацию типа /fi "username eq user" пишет ошибка: фильтр поиска не опознан. И вообще эта утилита tasklist была бы хороша, но ее фильтры у меня не работают практически на всех машинах в сети.
2) Если данный процесс существует, тогда ликвидировать его путем taskkill
ailman85
Цитата:
Извини - ошибся. Имелось в виду, конечно же, то что написал yurkesha
Цитата:
он мне выдает 389, т.е. последние 3 цифры.
Извини - ошибся. Имелось в виду, конечно же, то что написал yurkesha
Все равно спасибо! Лишний раз не помешает
ssnvit
Можно попробовать так:
Код:
tasklist /v | find /i "winword.exe" | find "user">nul
if not errorlevel 1 taskkill /F /FI "USERNAME eq user" /IM winword.exe
Можно попробовать так:
Код:
tasklist /v | find /i "winword.exe" | find "user">nul
if not errorlevel 1 taskkill /F /FI "USERNAME eq user" /IM winword.exe
Elroir
[q][/q]
Спасибо - все работает.
Заодно разобрался почему глючил tasklist у меня в сети - причина в MUI, удалил из MUI tasklist и все стало как надо. На чистых английских машинах все О.к. а на руссифицированных через MUI надо удалять taskkist.mui.exe. Либо если не удалять, то например вместо user писать пользователь и т.п.
[q][/q]
Спасибо - все работает.
Заодно разобрался почему глючил tasklist у меня в сети - причина в MUI, удалил из MUI tasklist и все стало как надо. На чистых английских машинах все О.к. а на руссифицированных через MUI надо удалять taskkist.mui.exe. Либо если не удалять, то например вместо user писать пользователь и т.п.
Подскажите пожалуйста !!
как узнать пустая ли папка ?
если нет то выполнять набор действий...
Заранее благодарен !
как узнать пустая ли папка ?
если нет то выполнять набор действий...
Заранее благодарен !
lamener
Пуста - это значит нет файлов или нет файлов и поддиректорий?
Пуста - это значит нет файлов или нет файлов и поддиректорий?
Цитата:
Пуста - это значит нет файлов или нет файлов и поддиректорий?
нет поддиректорий
lamener
Код:
@echo off
setlocal
set "folder=c:\temp"
for /f "tokens=*" %%a in ('dir /ad /b "%folder%"') do (set "found=true" & goto next)
:next
if defined found (
:: Здесь набор действий, которые надо
:: выполнить
)
Код:
@echo off
setlocal
set "folder=c:\temp"
for /f "tokens=*" %%a in ('dir /ad /b "%folder%"') do (set "found=true" & goto next)
:next
if defined found (
:: Здесь набор действий, которые надо
:: выполнить
)
Elroir Спасибо !!
Код: @echo off
cd /d "E:\1"
if not errorlevel 1 (
for /D %%e in (*) do (
move "%%e" "E:\2"
echo %%~nxe > "E:\2\%%~nxe\9.txt"
)
)
Код: @echo off
cd /d "E:\1"
if not errorlevel 1 (
for /D %%e in (*) do (
move "%%e" "E:\2"
echo %%~nxe > "E:\2\%%~nxe\9.txt"
)
)
lamener
Вместо строчки с "echo %%~nxe > "E:\2\%%~nxe\9.txt"", используй такую:
Код:
set /p=%%~nxe<nul>"E:\2\%%~nxe\9.txt"
Вместо строчки с "echo %%~nxe > "E:\2\%%~nxe\9.txt"", используй такую:
Код:
set /p=%%~nxe<nul>"E:\2\%%~nxe\9.txt"
Elroir
Спасибо !! Спасибо ! И еще раз спасибо !!
Существует каталог с кучей подкаталогов с файлами имена всегда разные.
Переместить все подкаталоги с файлами из указанного каталога в назначенный каталог, и в каждом из перемещенных подкаталогов создать текстовый документ (имя документа 9.txt), содержание документа - "имя подкаталога"
Код: @echo off
cd /d "E:\1"
if not errorlevel 1 (
for /D %%e in (*) do (
move "%%e" "E:\2"
set /p=%%~nxe<nul>"E:\2\%%~nxe\9.txt"
)
)
Спасибо !! Спасибо ! И еще раз спасибо !!
Существует каталог с кучей подкаталогов с файлами имена всегда разные.
Переместить все подкаталоги с файлами из указанного каталога в назначенный каталог, и в каждом из перемещенных подкаталогов создать текстовый документ (имя документа 9.txt), содержание документа - "имя подкаталога"
Код: @echo off
cd /d "E:\1"
if not errorlevel 1 (
for /D %%e in (*) do (
move "%%e" "E:\2"
set /p=%%~nxe<nul>"E:\2\%%~nxe\9.txt"
)
)
lamener
Цитата:
Не понял. Если в name.txt уже существует каталог с таким именем, то переименовать во что?
Цитата:
Если такое имя существует по переименовать подкаталог с именем - "имя-1"
Не понял. Если в name.txt уже существует каталог с таким именем, то переименовать во что?
Elroir
Если такое имя существует по переименовать подкаталог с именем - "имя-1"
Не понял. Если в name.txt уже существует каталог с таким именем, то переименовать во что?
Цитата:
прошу прощения за непонятную постановку вопроса
Если такое имя существует по переименовать подкаталог с именем - "имя-1"
Не понял. Если в name.txt уже существует каталог с таким именем, то переименовать во что?
Цитата:
например : "folder" существует переименовать в "folder-1"
прошу прощения за непонятную постановку вопроса
lamener
Цитата:
Здесь может быть проблема - если и "folder-1" тоже уже существует, что делать?
На самом деле проблема шире - любое другое имя может уже существовать ("folder-1", "folder-2", "folder-3" и т.д). Нужно либо какое-то правило, либо допущение, что имени с суффиксом "-1" не существует.
Цитата:
например : "folder" существует переименовать в "folder-1"
Здесь может быть проблема - если и "folder-1" тоже уже существует, что делать?
На самом деле проблема шире - любое другое имя может уже существовать ("folder-1", "folder-2", "folder-3" и т.д). Нужно либо какое-то правило, либо допущение, что имени с суффиксом "-1" не существует.
Elroir
Здесь может быть проблема - если и "folder-1" тоже уже существует, что делать?
Цитата:
Здесь может быть проблема - если и "folder-1" тоже уже существует, что делать?
Цитата:
ну можно сделать так "folder-1-1"
Доброго времени суток. Немножко тупой вопрос: имеется досовская программа. При запуске главного файла (расширение ехе), пишет что не загружен файл с раширением СОМ. Можно конечно создать батник (типа сначала СОМ потом ЕХЕ). Но сам вопрос: возможно ли СОМ вшить в ЕХЕ -шник ???? Я так делал с dll и exe......
есть код:
date /t >>log.txt
time /t >>log.txt
в итоге дата и время разделяются переносом.
как сделать, чтобы в log.txt дата и время отображались на одной строке?
date /t >>log.txt
time /t >>log.txt
в итоге дата и время разделяются переносом.
как сделать, чтобы в log.txt дата и время отображались на одной строке?
echo %DATE% %TIME%>log.txt
DzOOMer
echo %date% %time:~,-3%>log.txt
echo %date% %time:~,-3%>log.txt
а тогда такой код:
echo Exit QIP: >>log.txt
taskkill /im qip.exe >>log.txt
выдает:
Exit QIP:
Успешно: Процесс "qip.exe", с идентификатором 2849, был завершен.
как сделать чтобы выводился на одной строке?
echo Exit QIP: >>log.txt
taskkill /im qip.exe >>log.txt
выдает:
Exit QIP:
Успешно: Процесс "qip.exe", с идентификатором 2849, был завершен.
как сделать чтобы выводился на одной строке?
DzOOMer
for /f "delims=" %%a in ('taskkill /im qip.exe') do set t=%%a
echo Exit QIP: %t%>>log.txt
Добавлено:
одной строкой
for /f "delims=" %%a in ('taskkill /im qip.exe') do echo Exit QIP: %%a>>log.txt
for /f "delims=" %%a in ('taskkill /im qip.exe') do set t=%%a
echo Exit QIP: %t%>>log.txt
Добавлено:
одной строкой
for /f "delims=" %%a in ('taskkill /im qip.exe') do echo Exit QIP: %%a>>log.txt
Nagual
спасибо.
тогда еще одна задачка на вывод в одну строку- бывает так, что результат выполнения внешнего файла вылазит в двух строках, например это:
rasdial "modem DSL connect" /disconnect >>log.txt
в случае если на момент выполнения команды соединение отсутствует выдает две строки:
Отсутствуют подключения
Команда успешно завершена.
возможно ли указать, чтобы эти сообщения следовали в одной строке?
спасибо.
тогда еще одна задачка на вывод в одну строку- бывает так, что результат выполнения внешнего файла вылазит в двух строках, например это:
rasdial "modem DSL connect" /disconnect >>log.txt
в случае если на момент выполнения команды соединение отсутствует выдает две строки:
Отсутствуют подключения
Команда успешно завершена.
возможно ли указать, чтобы эти сообщения следовали в одной строке?
DzOOMer
Цитата:
Например так
Код:
@echo off
setlocal enabledelayedexpansion
for /f "tokens=*" %%i in ('rasdial "modem DSL connect" /disconnect') do (
set mess=!mess! %%i
)
echo %mess% 1>log.txt
Цитата:
возможно ли указать, чтобы эти сообщения следовали в одной строке?
Например так
Код:
@echo off
setlocal enabledelayedexpansion
for /f "tokens=*" %%i in ('rasdial "modem DSL connect" /disconnect') do (
set mess=!mess! %%i
)
echo %mess% 1>log.txt
сделал так:
for /f "delims=" %%a in ('rasdial "modem DSL connect" /disconnect') do echo Drop DSL: %%a>>log.txt
но вылазит в двух строках:
Drop DSL: Отсутствуют подключения
Drop DSL: Команда успешно завершена.
Добавлено:
01MDM
да, так подойдет. спасибо.
и последнее (надеюс). в логе все пишется в DOS кодеровке.
хотел перевести в win для этого делаю так:
chcp 1251 >nul
код
chcp 866 >nul
но в лог всеравно все пишется в DOS'e. как победить?
for /f "delims=" %%a in ('rasdial "modem DSL connect" /disconnect') do echo Drop DSL: %%a>>log.txt
но вылазит в двух строках:
Drop DSL: Отсутствуют подключения
Drop DSL: Команда успешно завершена.
Добавлено:
01MDM
да, так подойдет. спасибо.
и последнее (надеюс). в логе все пишется в DOS кодеровке.
хотел перевести в win для этого делаю так:
chcp 1251 >nul
код
chcp 866 >nul
но в лог всеравно все пишется в DOS'e. как победить?
DzOOMer
Сделай лучше так
Код:
@echo off
for /f "tokens=*" %%i in ('rasdial "modem DSL connect" /disconnect') do (
call:mess "%%i"
)
echo.>>log.txt
goto:eof
:mess
chcp 1251 1>nul
set /p="%~1 "<nul 1>>log.txt
chcp 866 1>nul
Сделай лучше так
Код:
@echo off
for /f "tokens=*" %%i in ('rasdial "modem DSL connect" /disconnect') do (
call:mess "%%i"
)
echo.>>log.txt
goto:eof
:mess
chcp 1251 1>nul
set /p="%~1 "<nul 1>>log.txt
chcp 866 1>nul
lamener
Цитата:
Этот код у тебя работает? Переносятся каталоги?
Цитата:
move "%%e" "E:\2"
Этот код у тебя работает? Переносятся каталоги?
Elroir
Цитата:
Да нормально работает !! Но только соответственно в паре с for
Код: for /D %%e in (*) do (
move "%%e" "E:\2"
)
Цитата:
move "%%e" "E:\2"
Этот код у тебя работает? Переносятся каталоги?
Да нормально работает !! Но только соответственно в паре с for
Код: for /D %%e in (*) do (
move "%%e" "E:\2"
)
Здравствуйте. Есть задачка по копировнию файлов по дате создания. К примеру для копировния файлов по сегодняшней дате я использовал...
set d=%date:~0,2%
set m=%date:~3,2%
set y=%date:~6,4%
xcopy /d:%m%-%d%-%y% \\Post1\c$\CASH\TXT\*.txt C:\Statistic\
А как можно сделать чтобы при запуске бат файла можно было вписывать дату (например: ВПИШИТЕ ДАТУ: 14.05.08) и он бы копировал файлы даты которую я написал, а сели просто нажимаешь Enter тогда копировались бы файлы текущей даты. Спасибо.
set d=%date:~0,2%
set m=%date:~3,2%
set y=%date:~6,4%
xcopy /d:%m%-%d%-%y% \\Post1\c$\CASH\TXT\*.txt C:\Statistic\
А как можно сделать чтобы при запуске бат файла можно было вписывать дату (например: ВПИШИТЕ ДАТУ: 14.05.08) и он бы копировал файлы даты которую я написал, а сели просто нажимаешь Enter тогда копировались бы файлы текущей даты. Спасибо.
Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
Предыдущая тема: Сброс пароля администратора
Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.