PowerADIF is a PowerShell module designed to parse (import/export) ADIF (Amateur Data Interchange Format) files in the .adi
format. This module allows amateur radio operators to process log data efficiently.
- Import ADIF
.adi
files and parse them into PowerShell objects. - Export PowerShell objects into valid ADIF format.
- Adheres to the ADIF 3.1.4 specification for
.adi
files.
- Does not intend to support or parse
.adx
files for the time being. An XML parser should work for this. - Includes the enumerations defined by the spec for use by the user, but does not enforce type checking, nor perform automatic value resolution via the enumerations. Although this would be a nice feature in the future.
- Download the
PowerADIF.psm1
file. - Place it in your PowerShell module directory:
$modulePath = "$HOME\Documents\PowerShell\Modules\PowerADIF" New-Item -ItemType Directory -Path $modulePath -Force Copy-Item -Path PowerADIF.psm1 -Destination $modulePath
- Import the module:
Import-Module PowerADIF
Install-Module PowerADIF
Import-Module PowerADIF
$ADIF = Import-ADIF -Path "C:\Logs\log.adif"
$ADIF.Header
$ADIF.Records
Export-ADIF -ADIF $ADIF -Path "C:\Logs\exported.adif"
$Enumerations = Get-ADIFEnumerations
$Enumerations
$ADIFString = $ADIFStructure | ConvertTo-ADIF
$ADIFString
ConvertTo-ADIFTokens
- Converts raw ADIF data into tokenized objects.ConvertFrom-ADIFTokens
- Converts tokenized ADIF objects back into ADIF format.ConvertFrom-ADIF
- Parses raw ADIF data into a structured object containing headers and records.ConvertTo-ADIF
- Converts anADIFStructure
object into raw ADIF format.Import-ADIF
- Reads an ADIF file from disk and converts it to anADIFStructure
object.Export-ADIF
- Converts anADIFStructure
object into ADIF format and saves it to a file.Get-ADIFEnumerations
- Retrieves a (limited) list of ADIF enumerations available in the ADIF specification.
This module is licensed under the Apache 2.0 License.
Contributions are welcome! Feel free to open issues or submit pull requests to enhance functionality.
- Kieron Morris (t3hn3rd) - kjm@kieronmorris.me