Компьютерный форум 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=320786)

romriin 14-11-2016 16:19 2687467

Вывод в файл таблицы
 
Помогите сделать лабу.
Разработать пакетный файл для вывода в файл справки о заданной команде в таблицу. Таблица должна быть формата:
+----+--------------+
| Key | Description|
+----+--------------+

mcintosh55 14-11-2016 16:54 2687476

Код:

@echo off
:: ввод данных:
set /p Data="Data: "
 
::справка::
if "%Data%"=="справка1" (
echo "+------+--------------+"
echo "| key  + Description|"
echo "+----+--------------+"
)
if "%Data%" == "справка2" (
echo "+------+--------------+"
echo "| key  + Description1|"
echo "+----+--------------+"
)
echo.
echo "неправильный выбор"
echo.
pause


Iska 14-11-2016 20:25 2687531

Мой вариант:
Скрытый текст
Код:

@echo off
setlocal enableextensions enabledelayedexpansion

set sParam=%~1

if defined sParam (
        for %%i in (/h /help) do if /i "%sParam%" equ "%%i" call :Usage
) else (
        call :Usage
)

endlocal
exit /b 0

:Usage
        setlocal enableextensions enabledelayedexpansion

        >"Help.txt" (
                echo ┌─────┬─────────────┐
                echo │ Key │ Description │
                echo ├─────┼─────────────┤
                echo │    │            │
                echo │    │            │
                echo │    │            │
                echo └─────┴─────────────┘
        )

        endlocal
        exit /b 0


mcintosh55 15-11-2016 05:11 2687663

Цитата:

Цитата Iska
Мой вариант: »

Как вариант. Только какая Я понял ему надо вести команду, а в ответ ему cmd выдаст по команде справку и эту справку вывести в help.txt

Iska 15-11-2016 05:16 2687665

mcintosh55, я, кстати, кажись, неправильно ТЗ понял (глядя на последний вопрос соседней темы). Тут надо ить «о заданной команде», а у меня никакого выбора нет, токмо вся справка целиком.

Откровенно говоря, задания студентам дают маловменяемые.

mcintosh55 15-11-2016 05:30 2687666

Цитата:

Цитата Iska
неправильно ТЗ понял »

скорее да у него есть справка, ему надо вывести данные. К примеру ввести команду, а она выдаст ему help

пример:
введите команду: echo
+----+--------------+
| Key | Description|
+----+--------------+
|echo|подавление сообщение в консоли|
+----+--------------+

Iska 15-11-2016 06:48 2687673

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

romriin 15-11-2016 07:09 2687674

Цитата:

Цитата Iska
Ну, если ввести один параметр — это ещё ничего. А вот делать разбор командной строки на пакетных файлах — увольте. »

Да к сожалению, надо сделать разбор командной строки. Как я понял из задания что-то вроде
+-------+-------------------+
|--Key--|---Description----|
+-------+-------------------+
|ASSOC|Вывод либо...----|
|--------|---------------------|
|ATTRIB|Отображение...-|
|--------|--------------------|
|BREAK|Включение...-----|
+-------+-------------------+

Iska 15-11-2016 08:22 2687687

Так то, что Вы пишете теперь — это как раз всё подряд, тут разбор не нужен.

mcintosh55 15-11-2016 08:28 2687688

ну мы Вам накидали макет, а дальше сами. можете мой макет взят или Iska и забить все в bat файл, а можете подумать и всю справку забить в txt файл а от туда выдергивать с помощью cmd.

romriin 15-11-2016 16:29 2687805

Цитата:

Цитата mcintosh55
ну мы Вам накидали макет, а дальше сами. можете мой макет взят или Iska и забить все в bat файл, а можете подумать и всю справку забить в txt файл а от туда выдергивать с помощью cmd. »

Я никак не могу разобраться, можете объяснить подробно, как такое сделать

mcintosh55 15-11-2016 17:21 2687816

@echo off
:: ввод данных:
set /p Data="Data: "

::справка::
if "%Data%"=="echo" (
echo "+------+--------------+"
echo "| key + Description|"
echo "+----+--------------+"
echo "+echo+вывод даных в консоль+
echo "+----+--------------+"
)
if "%Data%"=="if" (
echo "+------+--------------+"
echo "| key + Description|"
echo "+----+--------------+"
echo "+ if + оператор условия+
echo "+----+--------------+"
)
if "%Data%"=="set" (
echo "+------+--------------+"
echo "| key + Description|"
echo "+----+--------------+"
echo "+set+ Вывод, задание и удаление переменных среды cmd.exe+
echo "+----+--------------+"
)
echo.
echo "неправильный выбор"
echo.
pause

Цитата:

Цитата romriin
Я никак не могу разобраться »

1. Что бы разобраться надо прочитать задачу, внимательно
2. Написать алгоритм решение задачи
3. Писать код по алгоритму, если не получаться какая-та часть алгоритма разбить эту часть на более мелкие части
4. А вот если из этого, что то не получается тогда задается конкретный вопрос на форуме на который Вы сможете получить быстрый ответ,
а полностью код писать Вам здесь ни кто не будет, здесь наводят на мысль.

romriin 15-11-2016 17:36 2687820

Цитата:

Цитата mcintosh55
Писать код по алгоритму, если не получаться какая-та часть алгоритма разбить эту часть на более мелкие части »

У меня не получается часть когда я разбираю ответ от help, и строку формата:
Код:

XCOPY          Копирует файлы и деревья папок
Надо превратить в
Код:

| XCOPY | Копирует файлы и деревья папок |
При том чтобы таблица была с колонками одинаковой ширины в каждой строке.

mcintosh55 15-11-2016 17:42 2687824

Код:

echo "+------+--------------+"
echo "| key + Description|"
echo "+--------+---------------------------------------+"
echo "| XCOPY | Копирует файлы и деревья папок |"
echo "+--------+---------------------------------------+"

ну как то так в cmd надо подгонять конкретно
скачай текстовый редактор bred3

romriin 15-11-2016 21:29 2687888

Спасибо, разобрался и сделал как мне надо.


Время: 22:29.

Время: 22:29.
© OSzone.net 2001-