Продукты
CDBF - DBF Viewer and Editor
DBF Viewer/Editor, text-mode
DBF Viewer/Editor for Linux
DBF Viewer/Editor for DOS
DBF reanimator
¤ CDBFlite
CDBFAPI
DBF Script
CDBFinfo
CDBFShell
CDBFview
DBF to CSV Converter
CSV to DBF Converter
DBF to XLS Converter
XLS to DBF Converter
DBF to MDB Converter
MDB to DBF Converter
DBF to SQL Converter
DBF to XML Converter
DBF to DBF Converter
MDB to XLS Converter
CSV to XLS Converter
DBF to HTML Converter
DBF to PDB Converter
PDB to DBF Converter
Excel Library
Access Recovery
Excel Recovery
Online Database Converter
DBF Converters' Shell
WhiteTown Software CD

Интерфейс командной строки CDBFlite

Первым символом параметра может быть '/' или '-'.
В качестве разделителя внутри параметров используется запятая или точка с запятой.

Замечание к OS Unix, Linux:
В OS Unix символ ';' обозначает конец команды и начало следующей, поэтому в следующих случаях:
/select:name,street,house,flat - правильно
/select:name;street;house;flat - не правильно!
"/select:name;street;house;flat" - правильно
Если команды берутся из файла, то там допустимы оба символа.

Замечание к OS/2 DLL:
Формат вызова -
/* */
RxFuncAdd("CDBFlite","cdbflite","CDBFlite")
call CDBFlite 'c:\path\cdbflite.ini',
полное имя к .ini файлу или пусто, если не используется: ''

Допустимы следующие параметры:

  • /version
    Служебный параметр, возвращает номер версии и дату компиляции CDBFlite.

  • /delete:N1,N2-N3,all
    Пометить на удаление.
    После команды с двоеточием указываются номера записей подлежащие удалению. Их можно перечислять через запятую, указывать диапазон через черточку, либо указать параметр "all" - в этом случае будут помечены на удаление все записи. Можно комбинировать и использовать любое количество номеров записей для удаления.
    /delete:10,20 - удалить записи #10 и #20
    /delete:10-20 - удалить записи с #10 по #20
    /delete:all - удалить все
    /delete:10,20,30-35,40

  • /recall:N1,N2-N3,all
    Снять пометку на удаление.
    После команды с двоеточием указываются номера записей подлежащие восстановлению. Их можно перечислять через запятую, указывать диапазон через черточку, либо указать параметр "all" - в этом случае будет снята пометка на удаление со всех записей. Можно комбинировать и использовать любое количество номеров записей.
    /recall:10,20 - снять пометку с записи #10 и #20
    /recall:10-20 - снять пометку с записей с #10 по #20
    /recall:all - восстановить все
    /recall:10,20,30-35,40

  • /pack[:dbf|memo]
    Упаковать базу данных.
    Физически удалить помеченные на удаление записи, после чего восстановить их будет уже нельзя.
    Если указать уточняющий параметр :dbf или :memo, то будет упакован только .dbf файл или только файл примечаний. Если уточняющий параметр не указывать, то будет упаковано и то и другое.
    Может комбинироваться, например, с параметром /delete:
    /delete:15-100 /pack
    /pack:dbf

  • /zap
    Удалить физически все записи в базе данных. /zap

  • /blank
    Очистить буфер записи.
    Обычно применяется перед операциями добавления записей. При старте программы буфер записи очищается автоматически.
    /blank

  • /append:N|blank
    Добавить запись с текущей информацией в буфере.
    Если указать необязательное число - будет добавлено указаное число записей. Если указать слово blank, то будет добавлена одна пустая запись.
    /append
    /append:blank
    /append:100

  • /trunc:N
    Обрезать базу данных по указаный номер записи.
    Обрезанные записи восстановлению не подлежат.
    /trunc:100

  • /make:filename.dbf
    Создать пустую базу данных с такой же структурой.
    /make:new.dbf

  • /sort:field1;field2;...
    Отсортировать имеющуюся базу данных по указаным полям.
    Старая копия сохраняется в файле с расширением .bak. В процессе сортировки создается файл с расширением .tmp, то есть для успешного выполнения на диске должно быть необходимое свободное место.
    /sort:name
    /sort:phone
    /sort:street;house;flat
    перед выполнением команды sort автоматически вызывается /clear (см.ниже).

  • /cdx
    Очищает (устанавливает в 0) байт по смещению 1с в заголовке, обозначающий наличие .CDX или .MDX файла.
    /cdx

  • /cpzero[:N]
    Устанавливает в заданое значение байт по смещению 1d в заголовке, обозначающий используемую кодовую страницу, если значение не указывать, используется 0.
    /cpzero
    /cpzero:3

  • /check
    Проверяет корректность заголовка и при необходимости его исправляет.
    *.dbf /check

  • /struct:file.txt|file.sql|file.dbf|file.prg|file.fox
    Вывести информацию о структуре.
    Если не задавать имя файла, то информация выдается на stdout.
    /struct
    Если указать имя файла с расширением .txt, информация будет добавлена к указанному файлу в таком же виде, как и в предыдущем параметре.
    /struct:somefile.txt
    Если указать имя файла с расширением .sql, информация будет добавлена к указанному файлу в формате команды CREATE TABLE языка SQL.
    /struct:somefile.sql
    Если указать имя файла с расширением .dbf, информация будет записана в указанный файл в формате принятом в FoxPro или Clipper. Существующий файл перезаписывается.
    /struct:somefile.dbf
    Если указать имя файла с расширением .prg, информация будет добавлена к указанному файлу в формате команды CREATEDB языка Clipper.
    /struct:somefile.prg
    Если указать имя файла с расширением .fox, информация будет добавлена к указанному файлу в формате команды CREATE TABLE языка FoxPro.
    /struct:somefile.fox

  • /select:field1;field2;...|*
  • /s:field1;field2;...|*
    Вывести на stdout указанные поля базы данных.
    /select:name
    /select:name;phone
    /select:name;street;house;flat
    /select:*

  • /del[+|-]
    /del или /del+ = выводить признак удаления при выводе записей на экран.
    /del- = не выводить признак удаления. По умолчанию.
    Применяется совместно с /select.
    /del /select:*

  • /order:field1;field2;...
  • /o:field1;field2;...
    Установить порядок записей
    (отсортировать имеющуюся базу данных в памяти по указаным полям) для произведения каких-либо действий. Само по себе смысла не имеет. Использовать следует в комбинации с другими командами:
    /order:name /select:name;phone;street;house;flat
    если вам необходимо устанавить фильтр, то это следует сделать до команды /order - команда /filter отменяет ее действие.

  • /clear
    Очистить ранее установленные order,sort,select,filter.
    Может понадобится если необходимо в одном запуске сделать несколько запросов.
    /order:name /select:name;phone /clear /order:phone /select:phone;name

  • /asc
    Установить порядок сортировки по возрастанию. По умолчанию.
    /asc

  • /desc
    Установить порядок сортировки по убыванию.
    /desc

  • /filter:condition
  • /f:condition
    Установка фильтра.
    Фильтр служит для отбора записей удовлетворяющих некоторому условию. Допустимо использовать несколько условий в одном фильтре и/или несколько фильтров. В последнем случае они объединяются по условию 'И'.
    Например:
    /filter:name=Иванов
    - выбрать всех Ивановых
    /filter:name=Иванов&age}30
    - выбрать всех Ивановых c возрастом более 30 лет
    /filter:name=Иванов&age{30
    - выбрать всех Ивановых c возрастом менее 30 лет
    /filter:name=Иванов;name=Петров
    - выбрать всех Ивановых или Петровых
    /filter:name=Иванов|name=Петров
    - выбрать всех Ивановых или Петровых
    /filter:name~Иван
    - выбрать всех содержащих подстроку "Иван". Таким образом будут выбраны Иван, Иванов, Иванович и т.д. причем не обязательно с начала строки.
    Здесь требуется пояснить, что в командной строке вы не можете употреблять символы '|', '>', '<' - эти символы использует сама OS для перенаправления ввода-вывода. По этой причине в командной строке следует заменять указанные символы следующим образом:
    '|' --> ';'
    '>' --> '}'
    '<' --> '{'
    Если команды передаются программе из файла, то там можно использовать любые символы.
    Допустимы следующие логические операции:
    = - равно
    <> или >< - не равно
    > или >> - больше
    >= - больше или равно
    < или << - меньше
    <= - меньше или равно
    ~ - вхождение подстроки (для строковых полей)
    Если вы задаете несколько фильтров подряд они объединяются:
    /filter:name=A /filter:age=30
    все равно что
    /filter:name=A&age=30
    Надо заметить, что во втором случае работать будет быстрее, так как сравнение идет за 1 проход, а в первом случае 2.
    Если сравниваемое выражение содержит пробелы, его следует заключать в двойные кавычки, если команда в файле допустимы одиночные.
    /filter:name="Иванов Петр"
    Команда /filter отменяет действие команды /order.
    В выражении фильтра допустимо использовать следующие функции
    ABS, ACOS, ASIN, ATAN, COSH, COS, EXP, LOG10, LOG, POW10, ROUND, SINH, SIN, SQRT, SQR, TANH, TAN, TRUNC
    для числовых полей
    /filter:summa-round(summa)>0.5
    В выражении фильтра допустимо использовать следующие функции
    TRIM, LTRIM, RTRIM, SUBSTR, LEFT, RIGHT
    для символьных полей и для даты.
    /filter:substr(date,3,2)=05 /select:*
    Для сравнения даты следует использовать функцию DTOS.
    /filter:date=dtos(05.02.2001) /select:*

  • /ansi
    В файле кодировка ANSI (Windows).

  • /OEM
    В файле кодировка OEM (DOS). По умолчанию.

  • /case[+|-]
    /case или /case+ = не различать регистр букв.
    /case- = различать регистр букв. По умолчанию.
    Применяется совместно с /sort, /order или /filter.
    /case /sort:name

  • /del[+|-]
    /del или /del+ = выводить признак удаления при выводе записей на экран.
    /del- = не выводить признак удаления. По умолчанию.
    Применяется совместно с /select.
    /del /select:*

  • /date:dmy|mdy|ymd|asis|char
    Формат даты для вывода или для фильтра.
    dmy - День-Месяц-Год
    mdy - Месяц-День-Год
    ymd - Год-Месяц-День
    asis - Так как хранится в файле
    Допускается изменять порядок как угодно часто:
    /date:ymd /filter:born=1971 /date:mdy /select:*
    char - Описывает не формат, а символ разделитель. Допустимо указать любой:
    /date:- // 28-01-2001
    /date:/ // 28/01/2001

  • /range:N1,N2-N3|all
    Выбрать записи с конкретными номерами.
    Если база отсортрована и/или отфильтрована, то записи отбираются именно из числа удовлетворяющих фильтру и в порядке сортировки. Параметр /range имеет самый низкий приоритет и его следует использовать последним в комбинации с /filter или /order. Параметр all отключает range.
    /range:1-10
    /range:11-20
    /range:1-100,200-500,150
    /range:all

  • /memo[:text]
    Выводить состояние мемо поля
    /memo
    или содержимое
    /memo:text

  • /field:field1=value;field2=value;...
  • /l:field1=value;field2=value;...
    Установить значения полей в буфере данных.
    После этого вы можете записать их в базу командой /append или /update.
    /field:name="John Smith";age=30;phone=3-14159265358

  • /update
    Записать текущие данные из буфера записи в базу данных.
    Данные записываются во все записи, которые удовлетворяют текущему /filter и/или /range. Если /filter не установлен, то обновятся все записи.
    /field:first=100 /update
    /filter:name=John /field:first=100 /update

  • /count
    Возвращает число записей в базе с учетом фильтра.
    /count

  • /name[+|-]
    /name или /name+ = выводить имя файла базы данных
    /name- = не выводить имя файла базы данных. По умолчанию.
    Воздействует на команды /count и /select.
    *.dbf /name /count
    *.dbf /name /filter:customer="Smith" /select:*

  • /calc:condition
    Просто вычисляет заданное выражение.
    Своеобразный калькулятор, работающий из командной строки. Допустимы +-/*, а также все функции, которые описаны при описании параметра /filter.
    /calc:2+2*2
    /calc:cos(0)

  • /trim:left|right|all
    Управление обрезанием начальных и концевых пробелов в строковых полях.
    /trim - без суффикса, отключает обрезание пробелов.
    /trim:left - удалить пробелы слева
    /trim:right - удалить пробелы справа
    /trim:all - удалить пробелы слева и справа

  • /out:file.txt|file.htm|file.dbf|file.sql|file.prg|file.fox|file.csv
    Тип (способ) вывода информации командой /select.
    По умолчанию вывод производится на консоль (экран).
    /out /select:*
    Если указать имя файла с расширением .txt, то команда /select запишет результат работы в указанный файл в том же виде, как происходит вывод на экран. Если файл существует - информация добавляется.
    /out:file.txt /select:*
    Если указать имя файла с расширением .csv, то команда /select запишет результат работы в указанный файл в виде значений, разделенных запятыми. Если файл существует - информация добавляется.
    /out:file.csv /select:*
    Если указать имя файла с расширением .htm, то команда /select поместит вывод в виде таблицы в указанный файл. Если файл существует - информация добавляется.
    /out:file.htm /select:*
    Если указать имя файла с расширением .dbf, то команда /select поместит вывод в указанный .dbf-файл. Если такого файла нет - он будет создан. Если файл существует, то CDBFlite добавляет информацию только в существующие поля (имеющие то же имя, что и в файле источнике).
    /out:file.dbf /select:name;address;phone
    Если указать имя файла с расширением .sql, то команда /select запишет результат в указанный файл, используя синтаксис команды "INSERT INTO" языка SQL. Если файл существует - информация добавляется.
    /out:file.sql /select:*
    /struct:dump.sql /out:dump.sql /select:*
    Если указать имя файла с расширением .prg или .fox, то команда /select запишет результат в указанный файл, используя синтаксис команды "REPLACE" языка Clipper или FoxPro. Если файл существует - информация добавляется.
    /out:file.prg /select:*
    /struct:dump.prg /out:dump.prg /select:*

  • +filename.dbf
    Выполняется операция APPEND FROM
    - добавление к текущему файлу записей из другого файла. Если поля имеют одинаковое имя, но разный тип - CDBFlite преобразует выражение к нужному типу.
    cdbflite first.dbf +second.dbf

  • /hdr[+|-]
    Выводить или не выводить названия полей при выполнении команды /select.
    /hdr+ /select:*

  • /browse
  • /fields
    Способ вывода информации командой /select. По умолчанию /browse.
    /fields /select:*
    /deleted[+|-]
    Учитывать или не учитывать записи помеченные на удаление.
    /deleted-

  • /cmp:filename.dbf [/filter] [/order] /cmp[:isc]
    Сравнить два .DBF файла. Сначала задается имя второго файла:
    /cmp:filename.dbf
    Теперь можно установить фильтр и/или порядок записей.
    Установка фильтра или порядка записей командами /filter или /order подействует на оба файла.
    После этого следует выполнить команды сравнения (можно несколько сразу):
    /cmp или /cmp:i - вывести общую информацию о базах
    /cmp:s - сравнить структуры баз
    /cmp:c - сравнить содержимое баз
    /cmp:isc - выполнить все вышеперечисленное.
    Условные знаки применяемые при сравнении структуры:
    -- - поле отсутствует.
    <> - поля с одинаковым именем, но все остальные параметры не совпадают.
    ~= - поля с одинаковым именем и типом, но разной размерности.
    = - все параметры поля совпадают, кроме смещения от начала записи.
    == - полное совпадение параметров
    полей.
    Например:
    cdbflite file1.dbf /cmp:file2.dbf /cmp
    cdbflite file1.dbf /cmp:file2.dbf /cmp:s
    cdbflite file1.dbf /cmp:file2.dbf /f:born}dtos(01.01.1970) /o:name /cmp:ics

  • /sum:field1;field2;...|*
    Напечатать сумму по указанным полям.
    /sum:salary
    /sum:payment;discount
    /sum:*

  • /avg:field1;field2;...|*
    Напечатать среднее значение по указанным полям.
    /avg:salary
    /avg:payment;discount
    /avg:*

  • /encode:password
    Зашифровать базу указанным паролем.
    Стойкость шифрования не очень высокая, но вполне достаточная.
    /encode:super_secret

  • /decode:password
    Расшифровать базу, используя указанный пароль.
    Если вы ошибетесь в пароле, то вместо оригинала получите всякий вздор.
    /decode:super_secret

  • /psw[:password]
    Использовать указанный пароль для операций ввода-вывода.
    Параметр /psw без указания пароля отключает действие текущего пароля.
    /psw:12345
    /field:a1=John;a2=Smith;a3=100;a4=27.05.2001 /append
    /psw:12345 /select:*

  • /bak[+|-]
    Создавать или не создавать .bak файл при измененеиях базы данных.
    /bak+
    /bak-

  • /2oem, /2ansi
    кодировка на выходе.
    oem2ansi, /ansi2oem
    изменить кодовую страницу исходного файла.

  • /deldupes
    удаление дублирующихся строк.

  • /ignorequotes
    не убирать кавычки из комманд в командной строке и воспринимать их буквально.

  • /modify:struct.txt
    изменить структуру указанного dbf файла
    Файл с описанием структуры может содержать такие команды:
    1. По умолчанию все поля исходного файла сохраняются как есть.
    2. FIELDNAME TYPE(LEN)
      если FIELDNAME существует, то программа изменит TYPE и LENGTH
      если FIELDNAME не существует, то это поле будет добавлено в конец таблицы
    3. FIELDNAME/BEFORE TYPE(LEN)
      если FIELDNAME не существует, то это поле будет добавлено перед полем BEFORE
    4. -FIELDNAME
      удалить FIELDNAME из таблицы
    5. FIELDNAME=NEWNAME
      переименовать FIELDNAME в NEWNAME

      Кроме того вы можете указать некоторые команды после описания поля

    6. INC:startvalue
      Например
      ID N(10) INC:1
      Поле ID будет заполнено 1, 2, 3, ....
    7. EXP:expression
      Например
      FULLNAME C(30) EXP:TRIM(FIRST) TRIM(LAST)
      Поле FULLNAME будет заполнено содержимым FIRST и LAST
      XXX N(15.2) EXP:ID*2
      Поле XXX будет содержать ID*2

    Полный файл может выглядеть так:

    -PRC_MNC
    PRC_PID=PARCELID
    -PRC_ASSNG_
    -PRC_ASS001
    FULLNAME C(80) EXP:TRIM(FIRST) TRIM(LAST)
    PRC_BLOCK/BLOCK
    PRC_LOT=LOT
    ID N(10) INC:1

  • /create:struct.txt newfile.dbf
    создать новый файл используя указанную структуру
    Все команды работают аналогично /modify, кроме '='
  • Ссылки по теме
    Командная строка
    Снимки экрана

    Copyright © WhiteTown Software, 1996-2012 | Политика в отношении частной информации | Карта сайта