Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] вывод информации (http://forum.oszone.net/showthread.php?t=311524)

Ubiquiti 13-02-2016 12:27 2605633

вывод информации
 
Привет всем!!! Такой вопрос. Как сделать интерактивный вывод информации. К примеру

echo Идет архивирования файлов

какой та код

и после выполнение в зависимости от условия должно рядов с Идет архивирования появиться + при успешном выполнение или - при провале

Вопрос в чем как прописать потом + или - после того как вывел текст

Ubiquiti 13-02-2016 13:47 2605658

И еще вопрос как вывести день недели цифру дня недели знаю как сделать а как вывести к примеру вторник

Foreigner 13-02-2016 14:15 2605663

Цитата:

Цитата Ubiquiti
И еще вопрос как вывести день недели »

Код:

@echo off
setlocal

set "wmic=wmic path win32_localtime get dayofweek /value"
for /f %%i in ('"%wmic%"') do 1>nul set "%%i"

if %dayofweek% equ 0 echo Вс
if %dayofweek% equ 1 echo Пн
if %dayofweek% equ 2 echo Вт
if %dayofweek% equ 3 echo Ср
if %dayofweek% equ 4 echo Чт
if %dayofweek% equ 5 echo Пт
if %dayofweek% equ 6 echo Сб

Можно так
Код:

@echo off
setlocal

set "wmic=wmic path win32_localtime get dayofweek /value"
for /f %%i in ('"%wmic%"') do set /a "%%i+1"
for /f "tokens=%dayofweek%" %%i in ("ВС ПН ВТ СР ЧТ ПТ СБ") do echo %%i

Или с помощью PowerShell
Код:

powershell -c (get-date).dayofweek
powershell -c (get-date -f 'dddd')


greg zakharov 13-02-2016 17:06 2605715

Еще варианты:
Код:

@echo off
  setlocal
    for /f "tokens=3" %%i in (
      'robocopy /l * ^| findstr /i started'
    ) do echo %%i
  endlocal
exit /b

или:
Код:

@echo off
  setlocal
    set key="HKCU\Control Panel\International"
    reg add %key% /v sShortDate /d "ddd" /f >nul
    set "dow=%date%"
    reg add %key% /v sShortDate /d "dd.MM.yyyy" /f >nul
    echo %dow%
  endlocal
exit /b

или:
Код:

powershell /nop /ex bypass "& {(Get-Culture).DateTimeFormat.ShortestDayNames[[Int32](Get-Date).DayOfWeek]}"
или:
Код:

0</* :
@cscript /nologo /e:jscript "%~f0" %*&exit /b */0;
(function() {
  var dow = {0:'вс',1:'пн',2:'вт',3:'ср',4:'чт',5:'пт',6:'сб'};
  WScript.echo(dow[new Date().getDay()]);
}());

Вообще, вариантов очень много.

Ubiquiti 13-02-2016 19:54 2605763

с днями я определился Вы на первый вопрос ответ можете дать

Iska 13-02-2016 20:34 2605773

Цитата:

Цитата Ubiquiti
Вы на первый вопрос ответ можете дать »

Вы скромно умолчали о том, чем и как именно архивируете. На случай «рации на бронепоезде» заранее сообщаю, что, например, в случае использования отдельной утилиты, следует использовать её код возврата (errorlevel).

Ubiquiti 14-02-2016 08:25 2605875

7z архиватор

Iska как ошибки обработать я знаю как вывести информацию не знаю "действия выполнена - +"

Iska 14-02-2016 11:50 2605915

Цитата:

Цитата Ubiquiti
7z архиватор
Iska как ошибки обработать я знаю как вывести информацию не знаю "действия выполнена - +" »

Покажите Ваш код.

Ubiquiti 14-02-2016 13:25 2605950

Код:

@echo off
color 1a
mode con: cols=54 lines=22
 echo.
 echo    -----------------------------------------------
 echo        Обновление CONS+ и отправка отчета v1.3
 echo    -----------------------------------------------
 echo.
 echo.

rem вычисляем день недели
set /a y=%date:~6,4%
set /a m=1%date:~3,2%-100
set /a d=1%date:~0,2%-100
set /a i=(%y%-1901)*365 + (%y%-1901)/4 + %d% + (!(%y% %% 4))*(!((%m%-3)^&16))
set /a i=(%i%+(%m%-1)*30+2*(!((%m%-7)^&16))-1+((65611044^>^>(2*%m%))^&3))%%7+1

rem если вторник то обновляем и отправляем отчет
if "%i%"=="2" (
    echo      Сегодня %i% день обновление + отправка отчета
   
    start /wait /min D:\Consultant\cons.exe /adm /base* /receive_inet /yes
    echo    Обновляем консультант            - OK
   
    >nul copy D:\Consultant\RECEIVE\*.usr D:\Consultant\temp
    >nul xcopy D:\Consultant\ADM\STS D:\Consultant\temp\STS /I
    echo    Копируем файлы в temp            - OK
   
    >nul C:\progra~1\7-Zip\7z.exe a D:\Consultant\temp\yake.7z -r D:\Consultant\temp\
    echo    Архивируем данные для отправик  - OK
   
    >null C:\blat\full\blat.exe -server mail.ru -f mai@mail.ru -u mail@mail.ru -pw mail.ru -tf C:\blat\full\sendlist.txt -subject yake -body "Юзерка от ЯКЭ." -attach D:\Consultant\temp\yake.7z
    echo    Отправляем отчет                - OK
   
    >nul del /f /q D:\Consultant\temp
    >nul del /f /q D:\Consultant\temp\STS
    echo    Очищаем папку Temp              - OK
    echo    CONS+ обновлен отчет отправлен  - OK
) else (
echo                Сегодня %i% день обновление

start /wait /min D:\Consultant\cons.exe /adm /base* /receive_inet /yes
    echo    Обновляем консультант            - OK
)

т.е. если по коду смотреть то на экране появляется обновляем консультант и как он обновиться появляется -ok
Типа так

Обновляем консультант (происходит процесс, а потом после завершения процесса дописывает -ок или -err)

Iska 14-02-2016 14:02 2605959

Цитата:

Цитата Ubiquiti
Код:

>nul C:\progra~1\7-Zip\7z.exe a D:\Consultant\temp\yake.7z -r D:\Consultant\temp\
echo Архивируем данные для отправик - OK

»

Код:

    <nul set /p sVar=    Архивируем данные для отправки  -
    >nul "%ProgramFiles%\7-Zip\7z.exe" a "D:\Consultant\temp\yake.7z" -r "D:\Consultant\temp\*" && echo OK || echo Error


Ubiquiti 14-02-2016 14:44 2605979

все ок по тестил все работает с разными командами

Ubiquiti 14-02-2016 15:17 2605989

только не понятно как код понимает что произошла ошибка вроде же ни какой код не возвращается

Iska 14-02-2016 16:03 2606005

Цитата:

Цитата Ubiquiti
все работает с разными командами »

Это с какими — «разными»?

Цитата:

Цитата Ubiquiti
только не понятно как код понимает что произошла ошибка вроде же ни какой код не возвращается »

Возвращается.
Цитата:

Exit Codes from 7-Zip
7-Zip returns the following exit codes:

Code Meaning
0 No error
1 Warning (Non fatal error(s)). For example, one or more files were locked by some other application, so they were not compressed.
2 Fatal error
7 Command line error
8 Not enough memory for operation
255 User stopped the process

Ubiquiti 14-02-2016 16:11 2606008

Цитата:

Цитата Iska
Это с какими — «разными»? »

с пингом, если нет папки

Iska 14-02-2016 23:42 2606148

Цитата:

Цитата Ubiquiti
с пингом, если нет папки »

Пытался найти в Вашем коде «ping» и «if exist» — не нашёл. Равно, как и связи между ними.


Время: 07:17.

Время: 07:17.
© OSzone.net 2001-