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

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

Автор: GRom V
Дата сообщения: 01.03.2010 01:56
01MDM

Цитата:
GRom V
Убери эти параметры (/ru и /rp):

Код:
schtasks /create /tn run /tr "C:\Program Files\Total Commander\Utilites\Opera\opera.exe" /sc ONCE /st 19:13


Но мне нужно создать задачу от имени- user и пароль его - pass

И интересно то, что C:\Program - записывается в программа или сценарий, а остальное Files\Total Commander\Utilites\Opera\opera.exe - записывается в аргументы!!! Почему путь до файла делится и записывается не полностью. Ведь кавычки стоят???

Добавлено:
01MDM
С кавычками разобрался...получилось так:
schtasks /create /tn запуск2 /ru User /rp pass /tr "'C:\Program Files\Total Commander\Utilites\Opera\OperaLauncher.exe'" /sc ONCE /st 10:06

Процесс появляется, но самого окна нет! Почему???
Автор: Statr
Дата сообщения: 01.03.2010 15:10
Как узнать день недели в батнике?

1. Вариант, используем vb

Цитата:

echo wscript.echo WeekDay("%date%", 2)>"%temp%.\WeekDay.vbs"
for /f %%a in ('cscript "%temp%.\WeekDay.vbs" //nologo') do set nWeekDay=%%a

echo wscript.echo WeekDayName(WeekDay("%date%"))>"%temp%.\WeekDay.vbs"
for /f %%a in ('cscript "%temp%.\WeekDay.vbs" //nologo') do set sWeekDay=%%a

del "%temp%.\WeekDay.vbs">nul

echo Сегодня %sWeekDay% (%nWeekDay% день недели), %date% %time:~0,8%


2. Вариант, используем .com

Цитата:

echo E 0100 B4 2A CD 21 B4 4C CD 21>%temp%.\WeekDay.scr
for %%a in (NWEEKDAY.COM RCX 0008 W Q) do echo %%a>>%temp%.\WeekDay.scr
debug<%temp%.\WeekDay.scr>nul
del %temp%.\WeekDay.scr>nul

weekday.com
set /a nWeekDay=%errorlevel%+1
del weekday.com>nul

if %nWeekDay% equ 1 (set /a nWeekDay=7) else (set /a nWeekDay=nWeekDay-1)
for /f "tokens=%nWeekDay%" %%a in ( "monday tuesday wednesday thursday friday saturday sunday" ) do set sWeekDay=%%a
echo Today %sWeekDay% (%nWeekDay% day of week), %date% %time:~0,8%

Автор: Ykidia
Дата сообщения: 01.03.2010 17:39
Снова здравствуйте!
Такая задача: в папке I386 установочного диска Windows есть много файлов, пожатых cab-ом с расширением ??_ (например, DL_, EX_ и т.д.). Нужно:
1) Выявить, у каких файлов имя архива (с расширением ??_) отличается от имени распакованного файла (к примеру, файл AZRLPIA.DL_ содержит в себе microsoft.interop.security.azroles.dll).
2) Распаковать все такие файлы (с расширением ??_) с тем же именем, что и у архива (например, тот же AZRLPIA.DL_ распаковать как AZRLPIA.DLL)
Было бы неплохо, чтобы это можно было проделать и для подкаталогов, но это уже не так важно).

Спасибо.
Автор: 01MDM
Дата сообщения: 02.03.2010 20:19
GRom V

Цитата:
С кавычками разобрался...получилось так:
schtasks /create /tn запуск2 /ru User /rp pass /tr "'C:\Program Files\Total Commander\Utilites\Opera\OperaLauncher.exe'" /sc ONCE /st 10:06

Процесс появляется, но самого окна нет! Почему???


Я же написал:

Цитата:

Убери эти параметры (/ru и /rp):

Код:
schtasks /create /tn run /tr "C:\Program Files\Total Commander\Utilites\Opera\opera.exe" /sc ONCE /st 19:13




Добавлено:
Statr
Проще всего с помощью wmic:

Код:
@echo off
setlocal

for /f "tokens=2 delims==" %%i in ('wmic path win32_LocalTime get DayOfWeek /value') do set /a tok=%%i+1
for /f "tokens=%tok%" %%i in ("Sun Mon Tue Wed Thu Fri Sat") do echo Today is %%i
Автор: wolf0425
Дата сообщения: 03.03.2010 07:07

Цитата:
Я же написал:
Убери эти параметры (/ru и /rp):
и чем это должно помочь, кроме того что батник встанет и спросит пароль от текущего юзера?

Целью то похоже является запуск программы с правами юзера, отличного от текущего залогиненного, со вводом логина/пароля из батника.
Автор: Cheerful_a_bear
Дата сообщения: 03.03.2010 12:41
Приветствую народ.
Проблемка есть. пропадает файл rar.exe после выполнения всех скриптов

первый------------
@echo off
rar.exe a -r -m5 -agdd-mm-yyyy -y r:\Архив_NAS_.rar "\\192.168.10.11\media\"
pause
---------------------

второй-------------
@echo off
chcp 866 > nul
Echo Удаление устаревших архивов
call F:\BAT-FILES\R.bat
call F:\BAT-FILES\Q.bat
rar.exe a -r -m5 -agdd-mm-yyyy -y Q:\Архив_за_.rar "F:\Сохранение 1С\"
rar.exe a -r -m5 -agdd-mm-yyyy -df -y R:\Архив_за_.rar "F:\Сохранение 1С\"
pause
----------------------

третий---------------
@echo off
rem Сохранение 1cv8
rem Создание каталога для сохранения

"c:\Program Files\1cv81\bin\ragent.exe" -stop
"C:\Program Files\1cv81\bin\ragent.exe" -start

rem Сохранение Бухгалтерия 2010
"c:\Program Files (x86)\1cv81\bin\1cv8.exe" Config /Smo1srv02\buhgalteria2010 /DepotNййй /DepotP 111/Nййй /P111 /Out"F:\Сохранение 1С\8\Log1Cv8.txt" /DumpIB"F:\Сохранение 1С\8\1Cv8-.dt"

"c:\Program Files\1cv81\bin\ragent.exe" -stop
"C:\Program Files\1cv81\bin\ragent.exe" -start
------------------------

четвертый-----------------пятый, отличаются только буквой диска
@echo off
setlocal enabledelayedexpansion
set N=40

call :raschet %date% days_to_today

pushd "R:\"
for /f "tokens=*" %%a in ('dir /b *.*') do (
set filedate=%%~ta
call :raschet !filedate:~0,10! days_to_date_of_file
set /a raznitsa=%days_to_today%-!days_to_date_of_file!
if !raznitsa! gtr %N% del /q "%%a"
)
goto :eof
popd

:raschet
for /f "delims=. tokens=1-3" %%a in ('echo %~1') do (

set /a years=%%c*365+%%c/4
set /a prev_year=%%c-1
set /a result_year=%%c/4
set /a result_prev_year=!prev_year!/4
set /a vis=!result_year!-!result_prev_year!
if !vis!==1 (
if %%b==01 set /a years=!years!-1
if %%b==02 set /a years=!years!-1
)

if %%b==01 set months=0
if %%b==02 set months=31
if %%b==03 set months=59
if %%b==04 set months=90
if %%b==05 set months=120
if %%b==06 set months=151
if %%b==07 set months=181
if %%b==08 set months=212
if %%b==09 set months=243
if %%b==10 set months=273
if %%b==11 set months=304
if %%b==12 set months=334

set days=%%a
set firstsym=!days:~0,1!
if !firstsym!==0 set days=!days:~1,1!

set /a %~2=!years!+!months!+!days!
)
--------------------------

шестой----------------------
@echo off
md f:\111
Move "\\server\Users-Alex\Share\123456" f:\111
rar.exe a -r -m5 -agdd-mm-yyyy -m5 -y -d r:\Удаленные_Папка_обмена_за_.rar "\\server\Share\RecFolder\"
Move "f:\111\ДОСТАВКА" "\\server\Share\RecFolder\123456"
MD "\\server\Users-Alex\RecFolder\Сканер\"

-----------------------------


В чем проблема не пойму, исчезает файл rar.exe и все останавливается...
Может из-за того, что несколько батников используют rar.exe в одно и тоже время?
Автор: wolf0425
Дата сообщения: 03.03.2010 14:31

Цитата:
пропадает файл rar.exe после выполнения всех скриптов
вопрос на засыпку - а где лежит rar.exe и все эти батники?
Автор: Cheerful_a_bear
Дата сообщения: 03.03.2010 14:42

Цитата:
а где лежит rar.exe и все эти батники?

на сервере на локальном диске F:\BAT-FILES\
Автор: wolf0425
Дата сообщения: 03.03.2010 15:07
а R:\ - это флешка?
Автор: SemGemdgi
Дата сообщения: 03.03.2010 15:49
Уважаемые, подскажите.

Есть такой батник, выполняющийся при входе в систему, в нем написано прим.следующее:

[no]if %username%==vasya (net use l: \\it-1\buh\buh)[/no]

Он подключает определённым пользователям общую папку, например бухов. Так вот вопрос в следующем, можно ли как-то сделать так, что бы не прописывать каждого на общую папку, а указать группу типа: "если юзер является членом группы такой-то, подключить то-то" ? Есть такое, а то каждого писать, поломается клавиатура
Автор: 01MDM
Дата сообщения: 03.03.2010 21:08
wolf0425

Цитата:
и чем это должно помочь, кроме того что батник встанет и спросит пароль от текущего юзера?


У меня ничего не спрашивает, запускает по времени указанном в задании.
Автор: Cheerful_a_bear
Дата сообщения: 03.03.2010 21:20

Цитата:
а R:\ - это флешка?

R и Q диски сетевые, смонтированы как локальные диски.

Автор: wolf0425
Дата сообщения: 03.03.2010 21:27

Цитата:
можно ли как-то сделать так, что бы не прописывать каждого на общую папку, а указать группу типа: "если юзер является членом группы такой-то,

ну попробуй через пару поисков пропустить вывод net user %username%

еще варианты - делать не через проверку принадлежности к группам домена, а через проверку самого наличия прав на доступ в \\it-1\buh\buh или через проверку наличия юзера в текстовом списке, лежащем например в \\it-1\buh\buh\users.txt


Добавлено:
Cheerful_a_bear
Цитата:
R и Q диски сетевые, смонтированы как локальные диски.

в том варианте что приведен - при отключении диска r:\ тест на даты файлов и удаление старых молча происходит в текущем каталоге.
pushd "R:\" на всякий случай поменяй на
pushd "R:\" || (echo NO DISK & pause & goto:eof)

Автор: Kirillhome
Дата сообщения: 03.03.2010 23:17
Cheerful_a_bear

Цитата:
четвертый-----------------пятый, отличаются только буквой диска
@echo off
setlocal enabledelayedexpansion
set N=40

call :raschet %date% days_to_today

pushd "R:\"
for /f "tokens=*" %%a in ('dir /b *.*') do (
set filedate=%%~ta
call :raschet !filedate:~0,10! days_to_date_of_file
set /a raznitsa=%days_to_today%-!days_to_date_of_file!
if !raznitsa! gtr %N% del /q "%%a"
)
goto :eof
popd
....

Во-первых, popd - никогда не выполнится, во-вторых, я бы добавил ещё setlocal disabledelayedexpansion
А в третьих - что значит - "пропадает rar" и когда он перестаёт работать???
Автор: Cheerful_a_bear
Дата сообщения: 03.03.2010 23:24

Цитата:
Во-первых, popd - никогда не выполнится, во-вторых, я бы добавил ещё setlocal disabledelayedexpansion
А в третьих - что значит - "пропадает rar" и когда он перестаёт работать???



Простите не понятно...
Но выполняется... удаляет файлы старше 40-ка дней.
Файл rar.exe пропадает, и бак файл вываливается в ошибку.. типа команда не является командой dos или типа того...
Автор: Kirillhome
Дата сообщения: 03.03.2010 23:58
Cheerful_a_bear

Цитата:

Цитата: Во-первых, popd - никогда не выполнится, во-вторых, я бы добавил ещё setlocal disabledelayedexpansion
А в третьих - что значит - "пропадает rar" и когда он перестаёт работать???

Простите не понятно...
Автор: Joo1z
Дата сообщения: 04.03.2010 14:28
Kirillhome
Значит где-то происходит смена рабочей директории. Прописывай не rar.exe, полный путь F:\BAT-FILES\RAR.EXE
Автор: Cheerful_a_bear
Дата сообщения: 04.03.2010 15:47

Цитата:
Значит где-то происходит смена рабочей директории. Прописывай не rar.exe, полный путь F:\BAT-FILES\RAR.EXE


Да видимо Вы правы... Проверю...
Автор: EN286
Дата сообщения: 05.03.2010 13:00
@echo off
rem 1) set all=set
for /r %%d in (.) do (
cd %%d
if exist *.m3u del *.m3u
rem 2) set all=set
for %%f in (*.mp3) do (
    rem 3) set all=set
    echo %%f >> %All%.m3u
    )    
)


Подскажите пожалуйста, почему set all=set работает только в первом случае, а во втором и третьем не хочет. И как заставить работать ее в цикле фора?
Автор: Joo1z
Дата сообщения: 05.03.2010 13:36
EN286
Используй setlocal enabledelayedexpansion и обращайся к переменной !All!, а не %All%.
Автор: EN286
Дата сообщения: 05.03.2010 15:03
Joo1z, огромное спасибо!

Сделал наконец что б плейлисты по имени папок создавались=)


@echo off
setlocal enabledelayedexpansion

for /r %%d in (.) do (
cd %%d
Set foldername=!%%d!
For /D %%a In ("!foldername:~0,-2!") Do Set foldername=%%~na
if exist *.m3u del *.m3u
for %%f in (*.mp3) do echo %%f >> !foldername!.m3u
)

Добавлено:
Как такой скрипт заставить создавать плейлист в каждом каталоге, в котором будут песни и из подкаталогов тоже?

По идее один цикл должен заходить в каталог в котором будет создан плейлист, второй цикл собирать в плейлист все файлы этого каталога и следующего. По завершению второго цикла, первый переходит на каталог ниже и тд.. но вот как реализовать что б все работало? =\
Автор: lorents
Дата сообщения: 05.03.2010 21:54
Объясните пожалуйста, как пользоваться следующими программами
zip.exe - создает zip-архивы
unzip.exe - распаковывает zip-архивы
http://webfile.ru/4341742
У меня ни как не выходит сделать чтобы они заработали
Автор: Kirillhome
Дата сообщения: 05.03.2010 23:24
lorents
Может, я не прав, но мне кажется, подобные вопросы имеет смысл задавать где-то здесь.
Автор: wolf0425
Дата сообщения: 05.03.2010 23:32

Цитата:
zip.exe - создает zip-архивы
unzip.exe - распаковывает zip-архивы
а нафига тебе с этой древностью разбираться?
Если надо запаковать - используй 7z, почитав справку.
Автор: lorents
Дата сообщения: 06.03.2010 08:41
wolf0425
Kirillhome

Цитата:
Может, я не прав, но мне кажется, подобные вопросы имеет смысл задавать где-то здесь.

возможно, просто эти программы работают через командную строку, подумал что лучше спросить здесь

wolf0425

Цитата:
а нафига тебе с этой древностью разбираться?

просто нужны программы которые распаковывают и архивируют только zip
Автор: wolf0425
Дата сообщения: 06.03.2010 10:45

Цитата:
нужны программы которые распаковывают и архивируют только zip
а в чем смысл такого ограничения?

посмотрел я на программы в твоем архиве - оказалось поделки инфозипа, скомпиленные хз кем.
А какие проблемы у тебя с паковкой/распаковкой? Список ключей они исправно печатают, на ошибки в ключах ругаются вменяемо, zip.exe -r 123 * успешно запаковал текущий каталог с подкаталогами.
В чем сложность то?

зы: архиватор не поддерживает символы «quotes» в имени. точнее - в архив лепит одинарные уголки
Автор: lorents
Дата сообщения: 06.03.2010 14:26
wolf0425

Цитата:
посмотрел я на программы в твоем архиве - оказалось поделки инфозипа, скомпиленные хз кем.

скомпилированы мною
мне просто надо архивироваться содержимое одной папки, но не саму папку (с максимальной степенью сжатия)
и так же распаковать в определенную папку все содержимое zip-архива
вот у меня это ну ни как не выходит?
подскажите пожалуйста, что Вы прописывали в командной строке?
Автор: XoMaiK
Дата сообщения: 06.03.2010 14:54
Помогите с решением задачи, возможно она уже решалась.
Есть файл *.md5, который содержит md5 сумму и путь к файлу. Пример:

Код:
70f6d7fe5c1ef556ef5eed7143b4b859 *sources\dlmanifests\accessibilitycpl-dl.man
901595703489cbf71f5c8b95915203a9 *sources\actionqueue.dll
bed861f61182f8a226ba3fe2cbe94fad *sources\ru-ru\actionqueue.dll.mui
e0a4d8f3ebf6ad95fff769f8e4f60f68 *sources\etwproviders\actionqueueetw.dll
e0a4d8f3ebf6ad95fff769f8e4f60f68 *support\logging\actionqueueetw.dll
Автор: wolf0425
Дата сообщения: 06.03.2010 15:46

Цитата:
архивироваться содержимое одной папки, но не саму папку (с максимальной степенью сжатия)
zip -j -9 archive.zip t:\papka\*

Цитата:
и так же распаковать в определенную папку все содержимое zip-архива

unzip archive.zip -d z:\papka2\

а теперь рассказывай - какой из вышенаписанных ключей ты не нашел во встроенном хэлпе.


Добавлено:

Цитата:
Необходимо скопировать все файлы по списка, из одного каталога, содержащего эти файлы, в другой с сохранением структуры каталогов.
например так

Код: @echo off

for /f "tokens=1*" %%a in (1212) do call :copy "%%b"
exit

:copy
set "file=%~1"
set "file=%file:~1%"
echo f | xcopy /y "src\%file%" "dest\%file%"
Автор: lorents
Дата сообщения: 06.03.2010 19:14
wolf0425

Цитата:
unzip archive.zip -d z:\papka2\

Большое спасибо

Объясните пожалуйста, что значат выделенные строки
[more]

Код: @ECHO OFF
REM Programs' settings. Change the pathes to matche your installation.
REM kzip parameters:
set kBinary=kzip.exe
set kRecursive=/r
REM set kVerbose=/v
REM set kBlockSplit=/b128
set zipmix=zipmix.exe
REM 7zip parameters
set sBinary=7za.exe
set sCompressionLvl=9
set sPasses=15
set sFastBytes=258

REM checking command line parameters
if a%1==a goto help
if b%2==b goto help


REM compressing files
%kBinary% %kRecursive% %kVerbose% %kBlockSplit% %TEMP%\%1k *.*
if not errorlevel 0 goto kzipError
%sBinary% a -tzip -mx=%sCompressionLvl% -mpass=%sPasses% -mfb=%sFastBytes% %TEMP%\%17.zip -r %2\*
if not errorlevel 0 goto 7zipError
%zipmix% %TEMP%\%1k %TEMP%\%17 %1
if not errorlevel 0 goto zipmixError
REM cleaning up
DEL %TEMP%\%1k.zip %TEMP%\%17.zip
pause
goto End

:kzipError
echo kzip exited with errorlevel %errorlevel%
goto :end
:7zipError
echo 7zip exited with errorlevel %errorlevel%
goto end
:mixzipError
echo mixzip exited with errorlevel %errorlevel%
goto end

:help
echo Usage:
echo %~nx0 ^<archive_name^> ^<directory_to_compress^>
goto End

:end

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132

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


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