Are their any conventions (either written or just generally understood) for when to use a forward slash (/) or a hyphen (-) when reading arguments/flags from a command line?
C:\> myprogram.exe -a
C:\> myprogram.exe /a
The two seem to be interchangeable in my experience, but I haven't used enough command line tools to say I've spotted any rules or patterns.
Is there a good reason that either of them are used at all? Could I theoretically use an asterisk (*) if I wanted to?