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
.adifiles and parse them into PowerShell objects. - Export PowerShell objects into valid ADIF format.
- Adheres to the ADIF 3.1.4 specification for
.adifiles.
- Does not intend to support or parse
.adxfiles 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.psm1file. - 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.RecordsExport-ADIF -ADIF $ADIF -Path "C:\Logs\exported.adif"$Enumerations = Get-ADIFEnumerations
$Enumerations$ADIFString = $ADIFStructure | ConvertTo-ADIF
$ADIFStringConvertTo-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 anADIFStructureobject into raw ADIF format.Import-ADIF- Reads an ADIF file from disk and converts it to anADIFStructureobject.Export-ADIF- Converts anADIFStructureobject 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) - [email protected]