ascii | ascii -dos | calc | cmd | data | env | fromclip | jsonform | license | number | prompt | random | ruler | spell | status | toclip | update | version | video | view | xmlform | Команда: version Show portable version informations embedded in binary filesunder windows, linux and macintosh, on the command line or in batch files. Embed a simple string version info in your programs without the need for non portable manifest files.sfk version filename sfk ver -own print version of a binary file, or of sfk itself. this function can be used: 1. with binary files containing a portable version string: $version:name=sfk,type=base,os=windows,vernum=1.5.1,fix=0, title=Swiss File Knife,date=Aug 2 2008,info=major rework$\0 2. with windows binaries, where only file version and bitsize are extracted, and shown with the file modification time. if a product version is found that differs from the file version it is shown in the info field. version string fields: [2] *name short name, usually similar to the executable name [3] type the type of edition, e.g. base or extended [4] *os operating system, e.g. windows, linux-lib6, linux-lib5 [5] *vernum version number, any number of values separated by dots [6] fix fix level, e.g. a revision or service pack number [7] *title long, descriptive name, as printed in a help text [8] *date release or compile date [9] info additional infos or remarks, free text string fields marked with "*" are mandatory for a valid version string. the other fields can be left out, or be empty like ",fix=,". if found, contents are printed TAB-separated, after the filename, therefore the [] numbers given above are output column numbers, not the location in the input string (which is random anyway). options -num[ber] just print the full version number, combining vernum and fix to a dotted string. cannot be used with -own. -verbose tells a warning if file(s) contain no version. -win[dows] compact display of file, os, version and filetime which is all that's shown for windows binaries. aliases sfk winver - same as sfk ver -win to primarily list windows file version infos. see also sfk require - check if a required version is used. web reference http://stahlworks.com/sfk-version examples sfk ver dview.exe print the version of a Depeche View executable. sfk ver -own print sfk's version. sfk ver. print sfk's version (quickest). sfk ver . .exe show the version of all .exe files within the current folder and all sub folders. sfk ver -nosub . .exe +filt -ssep "\t" -sform "$-20.20col1\t$col5" search all .exe files of the current dir for versions, reformatting the output, with a 20 chars filename limit. version embedding example for C/C++ programs Add to your source code: #define SOFTWARE_VERSION 101 // meaning 1.01 #define OS_SHORT_NAME "linux" // or "windows", "mac" #define STRINGIFY(x) #x #define TOSTRING(x) STRINGIFY(x) #define SOFTWARE_VERTEXT TOSTRING(SOFTWARE_VERSION) static const char *pGlblVersionText = " $version:name=footool,vernum=" SOFTWARE_VERTEXT "," "title=The Foo Bar Tool," "os=" OS_SHORT_NAME "," "date=" __DATE__ " " __TIME__ "$\0"; void printHelpText() { // NOTE: this dummy operation is required with some compilers // to keep pGlblVersionText from being stripped by the linker, // as it isn't used anywhere within the code. printf("%c", *pGlblVersionText); // ... (print actual help text) } After compile, extract version like: sfk version footool.exe Example output: footool.exe footool linux 101 The Foo Bar Tool Apr 20 2013 08:58:40 |