PDA

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


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

mcintosh55
14-11-2016, 16:54
@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
Мой вариант:
@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
Мой вариант: »
Как вариант. Только какая Я понял ему надо вести команду, а в ответ ему cmd выдаст по команде справку и эту справку вывести в help.txt

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

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

mcintosh55
15-11-2016, 05:30
неправильно ТЗ понял »
скорее да у него есть справка, ему надо вывести данные. К примеру ввести команду, а она выдаст ему help

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

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

romriin
15-11-2016, 07:09
Ну, если ввести один параметр — это ещё ничего. А вот делать разбор командной строки на пакетных файлах — увольте. »

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

Iska
15-11-2016, 08:22
Так то, что Вы пишете теперь — это как раз всё подряд, тут разбор не нужен.

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

romriin
15-11-2016, 16:29
ну мы Вам накидали макет, а дальше сами. можете мой макет взят или Iska и забить все в bat файл, а можете подумать и всю справку забить в txt файл а от туда выдергивать с помощью cmd. »
Я никак не могу разобраться, можете объяснить подробно, как такое сделать

mcintosh55
15-11-2016, 17:21
@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

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

romriin
15-11-2016, 17:36
Писать код по алгоритму, если не получаться какая-та часть алгоритма разбить эту часть на более мелкие части »
У меня не получается часть когда я разбираю ответ от help, и строку формата:
XCOPY Копирует файлы и деревья папок
Надо превратить в
| XCOPY | Копирует файлы и деревья папок |
При том чтобы таблица была с колонками одинаковой ширины в каждой строке.

mcintosh55
15-11-2016, 17:42
echo "+------+--------------+"
echo "| key + Description|"
echo "+--------+---------------------------------------+"
echo "| XCOPY | Копирует файлы и деревья папок |"
echo "+--------+---------------------------------------+"

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

romriin
15-11-2016, 21:29
Спасибо, разобрался и сделал как мне надо.




© OSzone.net 2001-2012