Войти

Показать полную графическую версию : [решено] вывод информации


Ubiquiti
13-02-2016, 12:27
Привет всем!!! Такой вопрос. Как сделать интерактивный вывод информации. К примеру

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

какой та код

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

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

Ubiquiti
13-02-2016, 13:47
И еще вопрос как вывести день недели цифру дня недели знаю как сделать а как вывести к примеру вторник

Foreigner
13-02-2016, 14:15
И еще вопрос как вывести день недели »

@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
Еще варианты:
@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
с днями я определился Вы на первый вопрос ответ можете дать

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

Ubiquiti
14-02-2016, 08:25
7z архиватор

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

Iska
14-02-2016, 11:50
7z архиватор
Iska как ошибки обработать я знаю как вывести информацию не знаю "действия выполнена - +" »
Покажите Ваш код.

Ubiquiti
14-02-2016, 13:25
@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
>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
все ок по тестил все работает с разными командами

Ubiquiti
14-02-2016, 15:17
только не понятно как код понимает что произошла ошибка вроде же ни какой код не возвращается

Iska
14-02-2016, 16:03
все работает с разными командами »
Это с какими — «разными»?

только не понятно как код понимает что произошла ошибка вроде же ни какой код не возвращается »
Возвращается.
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
Это с какими — «разными»? »

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

Iska
14-02-2016, 23:42
с пингом, если нет папки »
Пытался найти в Вашем коде «ping» и «if exist» — не нашёл. Равно, как и связи между ними.




© OSzone.net 2001-2012