HOW TO GET STARTED

The WA2L/WinTools package is a collection of Windows utilities that are intended to be supportive and handy on daily tasks while working with files on the Windows operating system.

To get a start in WA2L/WinTools I suggest to read first the wintoolsintro(1) page.

To configure the WA2L/WinTools package, use the config(1m) command (WA2LWinTools\bin\config.exe).

A printable version in PDF (wintools_manpages-1.2.08.pdf), eBook versions in ePUB (wintools_manpages-1.2.08.epub) and MOBI (wintools_manpages-1.2.08.mobi) and a browseable version in HTML is available in the WA2LWinTools/man/ directory.

Check http://sourceforge.net/projects/wa2l-wintools/ for updates for the package.

TABLE OF CONTENTS

Index:

* = no manpage available yet, see

wintoolsintro(1) for a short

command description

Manual Pages:

1by1(1)

7-zip(1)

activehotkeys(1m)

altdrag(1)

anydesk(1)

appstart(1)

appstart.cfg(4)

asfilecrypt(1)

auto_exec(1m)

auto_exec.ini(4)

avi2mp4(1)

avi2mp4.cfg(4)

azw2epub(1)

azw2epub.cfg(4)

azw2mobi(1)

azw2mobi.cfg(4)

beeftext(1)

beeftext.cfg(4)

bes(1)

bes.cfg(4)

bib2xml(3)

bib2xml.xml(4)

bibliography(1)

bibliography.cfg(4)

bluetooth(1)

caffeine(1)

caffeine.cfg(4)

calculator(1)

calendar(1)

catchchar(1)

cinemadrape(1)

citesdownload(1m)

citesdownload.cfg(4)

classicstartmenu(1m)

clocx(1)

compareit(1)

config(1m)

config.cfg(4)

console(1m)

convert(3)

copyaslink(1)

copyasuxpath(1)

copyaswinpath(1)

countdown(1)

csvfileedit(1)

csvfileview(1)

csvq(3)

csv2worksheet(3)

desktopicon(1)

desktopok(1)

desktops(1)

desktopticker(1)

dirindex(1)

dirindex.cfg(4)

dirinfo(1)

dirinfo.cfg(4)

dockfolders(1)

dpwiper(1)

dsubst(1)

dsubst.cfg(4)

easyscreencastrecorder(1)

easyscreencastrecordings(1)

ebnfview(1)

edszip(1)

edszip.cfg(4)

emptyfoldernuker(1)

epub2mobi(1)

epub2mobi.cfg(4)

exiftoolgui(1)

folderchangesview(1)

folderspopup(1)

greenshot(1)

hasher(1)

hexeditor(1)

hotkeyp(1)

hp48gx(1)

icongrabber(1)

iconrefresh(1)

inststats(3)

instverify(3)

iyf(1)

iyf.cfg(4)

java.cfg(4)

jpegview(1)

jsonedit(1)

keepass(1)

keyfreeze(1)

keynote(1)

lame(3)

list2(1)

locate(1)

lynx(1)

man(1)

man.cfg(4)

man.map(4)

manuals(1)

manualsbrowser(1)

manvi(1)

mc(1)

mediaplayer(1)

meta2cover(1)

meta2cover.docx(4)

metadata(1)

metadata.bib(4)

metadata.cfg(4)

metadata.template(4)

metadataview(1)

metarweather(1)

minimizetotray(1)

miranda(1)

mobi2epub(1)

mobi2epub.cfg(4)

monitoroff(1m)

mousefinder(1)

mousefinder.cfg(4)

movetoscreen(1)

mp3cutter(1)

mtail(1)

mtputty(1)

multiclipboardslots(1)

mycview(1)

nano(1)

newfiletime(1)

newslibrary(1)

nosleep(1)

notepad2(1)

np(1)

office2pdf(1)

outlookattachview(1)

pack(1m)

pack.cfg(4)

pack-supportfiles(1m)

pageant(1)

pdf2epub(1)

pdf2epub.cfg(4)

pdf2mobi(1)

pdf2mobi.cfg(4)

pdf2png(1)

pdf2png.cfg(4)

pdf2ppt(1)

pdf-copy-paster(1)

pdfconcatenate(1)

pdfrotate(1)

pdftkbuilder(1)

perfmon(1)

picpick(1)

pinwin(1)

pmeter(1)

png2jpg(1)

png2jpg.cfg(4)

poweroff(1m)

ppt2jpg(1)

ppt2jpg.cfg(4)

ppt2png(1)

ppt2png.cfg(4)

progstats(1)

proxy(3)

proxy.cfg(4)

pstart(1)

puretext(1)

putty(1)

puttyclean(1)

puttygen(1)

puttysm(1)

q10(1)

qsel(1)

qsel.cfg(4)

qtranslate(1)

radiosure(1)

rdcman(1)

redirect2web(1)

redirect2web.cfg(4)

redirect2web.map(4)

regexintro(4)

removeexternallinks(1)

removeexternallinks.cfg(4)

ruler(1)

ridnacs(1)

run(1)

run.cfg(4)

runpopup(1)

safehouseexplorer(1)

sav(1)

savnow(1)

screenshottray(1)

screenshot.cfg(4)

searchmyfiles(1)

sed1line(1)

seethroughwindows(1)

sendtodir(1)

setmodificationdate(1)

shortcuts(1)

shortcuts.def.cfg(4)

simplerecorder(1)

softwaredir(1)

softwarelist(1)

soundvolumeview(1)

spanishaccents(1)

spread32(1)

sqlite-gui(1)

startmenu(1)

startmenu.cfg(4)

startupdir(1)

stationsdownload(1m)

stationsdownload.cfg(4)

stopwatch(1)

sumatrapdf(1)

svcinit(1m)

svg2png(1)

svg2png.cfg(4)

synchronizeit(1)

textify(1)

textnote2html(3)

textnoteview(1)

tinytimerecorder(1)

todayprefix(1)

todayprefix.cfg(4)

tunnel(1)

tunnel.cfg(4)

turbopad(1)

typertask(1)

usbdeview(1)

usbdiskeject(1)

userinfo(1)

userinfo.cfg(4)

vcp(1)

vcp.cfg(4)

vi(1)

vietocr(1)

view(1)

vim(1)

vim(4)

wallpaper(1)

wallpaper.cfg(4)

wallpaperindex(1)

wallpaperpack(1m)

wav2mp3(1)

wav2mp3.cfg(4)

weathermate(1)

webbrowser(1)

webcamsdownload(1m)

webcamsdownload.cfg(4)

windowresizer(1)

windowtabs(1)

winfontsforall(1)

winroll(1)

winscp(1)

wintail(1)

wintoolsdownload(1m)

wintoolsintro(1)

wintoolsrevision(1)

wintoolsrevision(1m)

wintoolsrevisionnotifier(1m)

wintoolswebdownload(1m)

wma2mp3(1)

wma2mp3.cfg(4)

wscheduler(1)

wtreset(1m)

wtshell(1m)

xlsx2csv(3)

xmledit(1)

xps2pdf(1)

xps2png(1)

xps2png.cfg(4)

yellowpile(1)

zoomit(1)

Time: 16:33:28 GMT, September 14, 2024

WinToolsIntro

TOC Index

NAME

WinToolsIntro - Introduction and overview for WA2L/WinTools, End User Tools for Windows

AVAILABILITY

WA2L/WinTools

DESCRIPTION

-

COMMANDS

The commands can be found in the 'Send To' context menu in 'Windows Explorer' , when right clicking a file or directory and in the sub-menu WA2LWinTools of the Windows™ 'Start' menu.

To put the commands into the 'Send To' context menu invoke the interactive bin/config command.

For a description of additional commands that are available on the command line, see wtshell(1m) manual page.

1

1by1(1)

1by1 is a small and versatile audio player for MP3, MP2 and plugin supported audio formats as WAV, OGG, AAC, CD Audio and many others. With no need for playlists it simply plays your tracks, one by one directly from your directories.

The player focuses on smart file handling and enhanced play features. You won't find visual effects or skins. On the other hand you get extra features like built in dynamic audio enhancing, transition mixing, a file finder, big title display, Cue sheet and Playlist support.

See also: https://mpesch3.de/1by1.html and 1by1.Readme(1) in the HTML documentation for more information.

7

7-zip(1)

7-Zip is an utility to work with compressed 7z, ZIP, GZIP, BZIP2, TAR, RAR files and more.

See also: http://www.7-zip.org/ and 7-zip.Help(1) in the HTML documentation for more information.

A

activehotkeys(1m)

ActiveHotkeys detects what global keyboard shortcuts (hotkeys) are currently registered on the computer by various applications. This helps you determine which hotkeys are in use, and which are still available.

See also: hotkeyp(1), pstart(1).

altdrag(1)

AltDrag gives you the ability to move and resize windows in a new way. After starting AltDrag, you can simply hold down the Alt key and then click and drag any window.

anydesk(1)

Connect to a computer from within the office or over the internet.

AnyDesk ensures secure, fast and reliable remote desktop connections for IT professionals and individuals alike with a minimal footprint.

The AnyDesk version bundled with WA2L/WinTools is the Free Download - for personal use.

If you wish to use AnyDesk in a business environment you must purchase a license: https://anydesk.com/en/order

For more information see: https://anydesk.com/en/order and https://anydesk.com/en/features.

appstart(1)

start a program from specific directory.

This permits to install a program on several devices (as: USB-drive or local-drive) and to start it from the (fastest) available drive without to have to change the startup shortcut or the start definition in pstart(1).

The search path can be specified in the optional configuration file etc/appstart.cfg using the SEARCHPATH=path1;path2;pathN... setting. The additional environment variables %INSTALLDIR% that points to the installation directory- and %INSTALLDRIVE% that points to the installation drive of WA2L/WinTools can be used in the SEARCHPATH= setting.

asfilecrypt(1)

Encrypt files with Salsa20, ChaCha20 or HC-256. The program creates an encrypted (password protected) copy of any file and the program can later be used to decrypt (restore) the original file.

auto_exec(1m)

start AUTOEXEC commands on login.

avi2mp4(1)

convert one or more *.avi video file(s) to *.mp4 video file(s).

azw2epub(1)

convert AZW3 or AZW files to ePUB eBooks. azw2epub needs Calibre to be installed somewhere on the system to perform the conversion.

Calibre can be downloaded from https://calibre-ebook.com/download_portable where the use of the portable version is recommendable.

You then need to set the location where the ebook-convert.exe command of Calibre is located in the AZW2EPUB_CALIBRE_PATH=path setting in the configuration file etc/azw2epub.cfg.

azw2mobi(1)

convert AZW3 or AZW files to MOBI eBooks. azw2mobi needs Calibre to be installed somewhere on the system to perform the conversion.

Calibre can be downloaded from https://calibre-ebook.com/download_portable where the use of the portable version is recommendable.

You then need to set the location where the ebook-convert.exe command of Calibre is located in the AZW2MOBI_CALIBRE_PATH=path setting in the configuration file etc/azw2mobi.cfg.

B

beeftext(1)

Beeftext is a text snippet management tool for Windows™.

See: https://github.com/xmichelo/Beeftext/wiki/Getting-started for more information about Beeftext.

bes(1)

limit CPU usage of processes to avoid high system load caused of some processes that consume to much CPU.

bib2xml(3)

convert one or more BibTeX *.bib file(s) to a Source.xml bibliography file that can be loaded into 'Microsoft™ Word'.

bibliography(1)

create a bibliography (_BIBLIOGRAPHY.html by default) from *.meta files produced using the metadata(1) command.

bluetooth(1)

start the BlueTooth settings dialog of 'Microsoft™ Windows'.

C

caffeine(1)

prevent the system from hibernating, sleep or locking thru simulating user activity.

See also: nosleep(1).

calculator(1)

Calculator using reverse Polish notation (RPN).

See also: http://www.speech.kth.se/calculator and https://sourceforge.net/projects/rpncalcnet/.

calendar(1)

calendar, to-do-list manager and reminder.

See also: https://www.ukrebs-software.de/english/kalender/kalender.html

catchchar(1)

provide a context menu of special characters in any application when pressing a hotkey (default: Alt+Shift+C).

cfgcat(3)

print the given configuration file with replaced environment variables, without comments and joined multiline entries.

cinemadrape(1)

CinemaDrape helps you focus on your current task on screen, by instantly blanking or dimming the other less important areas in a web page or in the background windows. CinemaDrape works anywhere and can help you write an important document, watch an online video, compose an email, or play a browser game.

citesdownload(1m)

download the lib/cites.js file which contains a list of cites used in the var/wallpaper/wallpaper.html and all wallpapers distributed with the WA2L/WinTools package independent from the upgrading of the WA2L/WinTools package.

classicstartmenu(1m)

classic style 'Start' menu for Windows™ 7, 8, 8.1, 10.

See also: http://www.classicshell.net/ and classicstartmenu.Help(1m) in the HTML documentation for more information.

clocx(1)

a clock widget for the desktop.

See also: http://www.clocx.net/

compareit(1)

CompareIt! is a full-featured visual file comparison and merging tool that allows you to compare and work with different versions of the same text file.

A color-coded side-by-side comparison makes it easy to understand the differences between two files at a glance.

See also: https://grigsoft.com/ and compareit.Help(1) in the HTML documentation for more information.

config(1m)

interactive config to add the commands to the 'Send To' context menu in 'Windows Explorer' and the 'Startup' folder in the Windows 'Start' menu depending on the command.

copyaslink(1)

copy the files or directories selected in explorer and 'Send To' → copyaslink as local hyperlink names to the clipboard. The filelink(s) can then be entered into documents using 'paste'.

copyasuxpath(1)

copy the files or directories selected in explorer and 'Send To' → copyasuxpath as slash-separated path names to the clipboard. The filepath(s) can then be entered into documents using 'paste'.

copyaswinpath(1)

copy the files or directories selected in explorer and 'Send To' → copyaswinpath as backslash-separated path names to the clipboard. The filepath(s) can then be entered into documents using 'paste'.

console(1m)

This is a modified version of Console 2 for a better experience under Windows Vista/7/8/10 and a better visual rendering.

See also: https://github.com/cbucher/console/wiki and console.Help(1m) in the HTML documentation for more information.

countdown(1)

countdown timer, stopwatch and alarm clock.

csvfileedit(1)

CSVFileEdit is a small CSV file editor utility.

csvfileview(1)

CSVFileView is a simple CSV file viewer/converter utility that allows you to easily view the content of CSV or tab-delimited file, in a simple table viewer.

You can sort the lines according to one of the fields, remove unwanted fields and change their order, and then save the result back into CSV file, tab-delimited file, XML file, or HTML report.

csvq(3)

is a command line tool to operate CSV files.

You can read, update, delete CSV records with SQL-like query.

You can also execute multiple operations sequentially in managed transactions by passing a procedure or using the interactive shell. In the multiple operations, you can use variables, cursors, temporary tables, and other features.

For the whole documentation see: https://mithrandie.github.io/csvq/

csv2worksheet(3)

load a CSV file (comma separated file) into an existing Excel spreadsheet. It is possible to load the data into an existing worksheet (tab) or to create a new worksheet if the worksheet with the name specified does not exist. This is an easy method to create "nice looking" Excel reports based on plain ASCII data without the need to create Excel makros or to develop complicated programs that create the whole Excel sheet. The idea is to load the data into a separate "data" worksheet (tab) and to perform the calculations, graphics, statistics etc. in a worksheet (tab) that is not touched by the data load. With this method it is even possible to create Excel reports directly on Unix systems without manual intervention.

D

desktopicon(1)

automatically save icons and its positions on the Desktop on login.

To restore the icons and its positions, start the DesktopICON command and select a saved version of the icons and its layout on the Desktop.

The DesktopICON command keeps 14 distinct saves of the Desktop icons and its positions.

desktopok(1)

save and restore the positions of icons on the Desktop.

DesktopOK is a small but effective solution for users that have to change the screen resolution often.

See also: https://www.softwareok.de/?seite=Freeware/DesktopOK for more information.

desktops(1)

Desktops allows you to organize your applications on up to four virtual desktops. Read email on one, browse the web on the second, and do work in your productivity software on the third, without the clutter of the windows you're not using. After you configure hotkeys for switching desktops, you can create and switch desktops either by clicking on the tray icon to open a desktop preview and switching window, or by using the hotkeys.

See also: https://www.sysinternals.com/downloads/desktops for more information.

desktopticker(1)

DesktopTicker is a free RSS and Atom web feed aggregator application that allows you to keep an eye on the latest news from your favourite websites whilst you work on your computer.

Once feeds have been added, the article titles scroll horizontally across the screen.

Article summaries are displayed when the mouse cursor is placed over an article title, and the full article can be opened in a web browser by clicking on the article title.

The RSS feeds are automatically downloaded after the specified interval to show updated content.

See also: http://www.battware.co.uk/desktopticker.htm for more information.

dirindex(1)

create a directory index (_DIRINDEX.html by default) from the files in a directory.

dirinfo(1)

edit a directory information file which can be used to describe the contents of a directory more specific than it is possible by only setting the directory name.

To create or edit a directory info file mark one or more directories, and use the DirInfo menu in the 'SendTo' menu of the Windows™ Explorer. The DirInfo command then provides a template to be filled out or loads an existing info file present in the directory.

dockfolders(1)

A simple tool to get a quick and elegant access to files from a menu in the system tray.

dpwiper(1)

DPWiper is a file shredder utility that allows a user to delete or "Wipe" both files and folder securely via Drag & Drop. With DPWiper, a user can delete files normally (not secure), utilize a Single overwrite by performing a DoD Wipe (US Department of Defense of Defense 5220.22 compliant wipe) or use the Gutmann's Maximum Security 35 pass wiping method.

dsubst(1)

sometimes on Windows you get the error message 'File name too long' or 'Path name too long' when trying to access or copy files in deep file structures.

As a workaround:

→ Windows Explorer

→ right click on directory

→ send To

→ subst DIR to drive V:

to assign the whole overlying directory temporarily to the drive V: .

Then a new 'Windows Explorer' with the substituted drive ( V: ) is opened and you can access and copy files without errors.

E

easyscreencastrecorder(1)

record screen activity to video file.

See also: http://www.donationcoder.com/software/mouser/popular-apps/easy-screencast-recorder and easyscreencastrecorder.Help(1) in the HTML documentation for more information.

easyscreencastrecordings(1)

open the folder where EasyScreenCastRecorder has saved the video files in 'Windows™ Explorer' .

ebnfview(1)

This program visualizes EBNF (Extended Backus Naur Form). Therefore an .ebnf file is required, which contains rules written in EBNF. The program parses the rules, visualizes them in form of syntax diagrams and is able to generate .gif files for further use. Furthermore the program allows to manipulate the look of the generated syntax diagrams.

See also ebnfview.Help(1) in the HTML documentation for more information.

edszip(1)

create a *.zip file of a directory and the files therein without including some temporary files and files located in the directories _old and _alt . Also a confidentially comment is added to the *.zip file.

emptyfoldernuker(1)

find and delete selected empty folders.

envarlist(3)

displays a text window with a list of the environment variables, (same as you will get with the SET command at the command prompt).

epub2mobi(1)

convert eBooks from ePUB format to MOBI. MOBI is the eBook format that is understood by the Amazon Kindle eBook reader.

exiftoolgui(1)

GUI for the exiftool (3) command. Main goals of ExifToolGUI are: view all metadata that ExifTool recognizes, ability to edit most frequently used metadata tags, batch capability (where appropriate), means: you can select multiple files and modify them at once.

See also: https://exiftool.org/gui/ for more information.

F

folderchangesview(1)

monitor changes in a folder on local direves of network shares.

folderspopup(1)

FoldersPopup lets you move easily between frequently used folders within save dialogs, the Windows™ desktop and in the file explorer.

Click the middle mouse button to access your favorite folders within the menu.

G

greenshot(1)

Greenshot is a light-weight screenshot software tool for Windows™ with the following key features: Quickly create screenshots of a selected region, window or fullscreen; you can even capture complete (scrolling) web pages from Internet Explorer. Easily annotate, highlight or obfuscate parts of the screenshot. Export the screenshot in various ways: save to file, send to printer, copy to clipboard, attach to e-mail, send Office programs or upload to photo sites like Flickr or Picasa, and others.

See also: https://getgreenshot.org/help/ and greenshot.Help(1) in the HTML documentation for more information.

H

hasher(1)

You can use IgorWare Hasher to generate checksum for text or single file and verify its integrity by using verification files (.sha, .md5 and .sfv).

hexeditor(1)

HexEditor (HxD Hex Editor) is a carefully designed and fast hex editor which, additionally to raw disk editing and modifying of main memory (RAM), handles files of any size.

The easy to use interface offers features such as searching and replacing, exporting, checksums/digests, insertion of byte patterns, a file shredder, concatenation or splitting of files, statistics and much more.

Editing works like in a text editor with a focus on a simple and task-oriented operation, as such functions were streamlined to hide differences that are purely technical.

For example, drives and memory are presented similar to a file and are shown as a whole, in contrast to a sector/region-limited view that cuts off data which potentially belongs together. Drives and memory can be edited the same way as a regular file including support for undo. In addition memory-sections define a foldable region and inaccessible sections are hidden by default.

Furthermore a lot of effort was put into making operations fast and efficient, instead of forcing you to use specialized functions for technical reasons or arbitrarily limiting file sizes. This includes a responsive interface and progress indicators for lengthy operations.

See also: https://mh-nexus.de/en/hxd/ for more information about HexEditor (HxD).

hotkeyp(1)

Keyboard/mouse/WinLIRC/joystick shortcuts for exe files, documents, folders, www pages and commands: shutdown, hibernate, desktop resolution, volume, process priority, eject CD, wallpaper, always on top, hide active window, kill process, paste text.

See also: activehotkeys(1m), pstart(1) and hotkeyp.Help(1) in the HTML documentation for more information.

hp48gx(1)

Emulation of the legendary HP48 GX scientific RPN calculator.

For the HP48 GX manual see: http://h10032.www1.hp.com/ctg/Manual/c00043324.pdf(German), http://h10032.www1.hp.com/ctg/Manual/c00442262.pdf(English).

I

icongrabber(1)

extraction of icons/cursors from executable (*.exe) and libraries (*.dll) files.

iconrefresh(1)

refresh icons on the Windows™ desktop.

iyf(1)

Index Your Files. Find files on your own computer or network with great speed and simplicity. iyf creates a file index database of local and network drives. So it is also possible to search for files when a network drive (or an external USB disk) is not connected.

inststats(3)

print statistics of the installation/update history of the WA2L/WinTools package.

instverify(3)

with the instverify command it can be verified that all files of the WA2L/WinTools package are installed and are unchanged. Therefore it can be checked if the installation is complete and correct.

J

jpegview(1)

JPEGView is a viewer/editor for JPEG, BMP, WEBP, PNG, TGA, RAW, GIF and TIFF images. It is designed to view images from digital cameras full screen and with highest quality possible. Basic image editing functionality is provided, allowing to correct typical problems as color cast, high/low contrast and under- or overexposure very quickly and interactively during review of the images. JPEGView does not replace a full blown image editor, such an editor will just be needed less often.

jsonedit(1)

JSONEdit is a simple JSON editor with text, tree and list view.

See also: https://tomeko.net/software/JSONedit/?lang=en.

K

keepass(1)

KeePass is a free open source password manager, which helps you to manage your passwords in a secure way. You can put all your passwords in one database, which is locked with one master key or a key file. So you only have to remember one single master password or select the key file to unlock the whole database. The databases are encrypted using the best and most secure encryption algorithms currently known (AES and Twofish).

See also: https://keepass.info/ and keepass.Help(1) in the HTML documentation for more information.

keynote(1)

KeyNote is a flexible, multi-featured tabbed notebook, based on Windows™ standard RichEdit control. It's always accessible with a single keypress, even if you work in another application. A large number of text formatting functions allows you to create very readable, clear, and well-organized notes.

keyfreeze(1)

KeyFreeze is a Windows™ application that blocks your keyboard and mouse without "locking" the screen. So your kids can safely watch a cartoon or have a videochat with their grandparents and bang the keyboard as much as they want. You can block keyboard and Mouse separately or together.

L

list2(1)

List2 is a small program for creating lists or tables. Features include: the ability to rename, insert, and delete columns; insert and delete rows; find and replace; clipboard cut, copy, paste to and from cells; export to html; import or export tab-delimited text; printing with print preview.

locate(1)

create und find files in locate databases.

lynx(1)

Lynx is a fully-featured World Wide Web (WWW) client for users running cursor-addressable, character-cell display devices (e.g., vt100 terminals, vt100 emulators running on Windows 95/NT/XP/7/8 or any POSIX platform, or any other curses-oriented display). It will display hypertext markup language (HTML) documents containing links to files residing on the local system, as well as files residing on remote systems running Gopher, HTTP, FTP, WAIS, and NNTP servers.

M

man(1)

display man pages on console.

manvi(1)

edit man pages in %EDITOR% (default=vi).

manuals(1)

display HTML man pages in windows help.

manualsbrowser(1)

display HTML man pages in default Web browser.

mc(1)

Midnight Commander, a Norton Commander clone.

mediaplayer(1)

MediaPlayer (Classic) is a powerful and efficient media player that appears as an earlier version of Windows™ Media Player. You can configure keyboard commands, configure/reorder/disable codecs/filters etc.

metadata(1)

save/handle meta data of file to file.meta.

metadataview(1)

display all collected/entered meta data in a table view. You can search/filter/sort/.. this table.

Due to the fact that metadataview loads the var/db/metadata/metadata-<dbversion>.tab file, the command metadata -e which exports the meta data "database" has to be invoked first.

meta2cover(1)

create a PDF cover page for document(s) based on meta data entered using the metadata(1) command. This enables you to efficiently create unique looking document collections also when each underlying document has its own title page. The cover page file name is document.ext.cover.pdf .

metarweather(1)

The MetarWeather utility decodes METAR weather reports from around the world, and displays them in a simple weather report table. You can save the weather report into text, HTML or XML files. MetarWeather can decode METAR reports from a text file, or download the latest reports directly from the Internet.

minimizetotray(1)

MinimizeToTray is an application that allows you to send any window to the system tray, and then restore it at any time. It is very unobtrusive and can be used with the help of hotkeys.

miranda(1)

Miranda NG (Next Generation) is a successor of a popular multi-protocol instant messaging client for Windows - Miranda IM.

mobi2epub(1)

convert MOBI eBook files to ePUB eBooks. mobi2epub needs Calibre to be installed somewhere on the system to perform the conversion.

Calibre can be downloaded from https://calibre-ebook.com/download_portable where the use of the portable version is recommendable.

You then need to set the location where the ebook-convert.exe command of Calibre is located in the MOBI2EPUB_CALIBRE_PATH=path setting in the configuration file etc/mobi2epub.cfg.

monitoroff(1m)

temporarily turn off all monitors. The monitors are turned on again on user activity, as when the mouse is clicked or a key is pressed.

mousefinder(1)

show an arrow that points to the current location of the mouse pointer. This is helpful when you have multiple screens and you are searching for the mouse.

movetoscreen(1)

move all off-screen applications to visible screen.

mp3cutter(1)

cut mp3 audio files.

mtail(1)

mTail is a Windows program that works like the Unix command tail.

See also: http://www.mtail.com/ for more information about mTail.

mtputty(1)

multi tabbed putty(1) GUI. The MTPuTTY uses the PuTTY command internally, therefore it makes no difference if standalone PuTTY or MTPuTTY is used.

multiclipboardslots(1)

MultiClipBoardSlots allows you easily to insert text, images, and other objects between the programs via freely selectable shortcut without losing the contents of the clipboard slots, because the default clipboard will be overwritten by other programs.

The keyboard shortcuts for the clipboard memory slots are predefined, but always it can be individually adjusted.

See also: http://www.softwareok.eu/?seite=Microsoft/MultiClipBoardSlots

mycview(1)

Small image viewer (Jpeg, Png, Gif, Tif, Bmp, Pnm, Emf, Wmf, Lst, Sld). The program displays a slideshow of all the pictures in a given directory and can work manually or automatically. MycView is developed Win32 native there, it does not use specific library (Java, .Net, Qt, Gtk,...).

See also: http://myc01.free.fr/mycview/ for more information.

N

nano(1)

clone of the Pico editor.

newfiletime(1)

NewFileTime is a tool that provides you easy access to correct or manipulate any of the timestamps for any file and folder on your Windows™ system.

newslibrary(1)

start the WA2L/NewsLibrary ("application") web page into default web browser.

nosleep(1)

Prevents screensaver and PC locking. I runs in th system tray and prevents the computer from locking or going into screensaver mode as it normally would when idle.

All it does is move the mouse one pixel to the left, and then one pixel to the right every 30 seconds. This tiny bit of movement is invisible to the user, but is enough to make Windows™ think that someone is using the PC.

See also: caffeine(1).

notepad2(1),np(1)

start Notepad2 (np is a short start command to start the Notepad2 command), a small and efficient Notepad application that has some advantages over the Notepad application that is distributed with the Windows operating system.

See also: http://www.flos-freeware.ch/notepad2.html for more information about Notepad2.

O

office2pdf(1)

convert Microsoft™ Office files to PDF.

outlookattachview(1)

View/extract/save Outlook attachments.

P

pack(1m)

pack the WA2L/WinTools application to a distributable *.zip and *.exe package file (example: WA2LWinTools-1.1.12-201412061254.zip and WA2LWinTools-1.1.12-201412061254.exe) without temporary- and adjusted configuration files.

pack-supportfiles(1m)

collect and pack files most probably needed to perform remote analysis and support for the WA2L/WinTools package.

pageant(1)

Pageant is an SSH authentication agent. It holds your private keys in memory, already decoded, so that you can use them often without needing to type a passphrase.

See also: https://the.earth.li/~sgtatham/putty/latest/htmldoc/ and putty.Help(1) in the HTML documentation for more information.

pdf2epub(1)

convert PDF files to ePUB eBooks. pdf2epub needs Calibre to be installed somewhere on the system to perform the conversion.

Calibre can be downloaded from https://calibre-ebook.com/download_portable where the use of the portable version is recommendable.

You then need to set the location where the ebook-convert.exe command of Calibre is located in the PDF2EPUB_CALIBRE_PATH=path setting in the configuration file etc/pdf2epub.cfg.

pdf2mobi(1)

convert PDF files to MOBI eBooks. pdf2mobi needs Calibre to be installed somewhere on the system to perform the conversion.

Calibre can be downloaded from https://calibre-ebook.com/download_portable where the use of the portable version is recommendable.

You then need to set the location where the ebook-convert.exe command of Calibre is located in the PDF2MOBI_CALIBRE_PATH=path setting in the configuration file etc/pdf2mobi.cfg.

pdf2png(1)

convert PDF document to PNG raster format.

pdf2ppt(1)

convert PDF file(s) to Microsoft™ PowerPoint presentation(s). To perform the conversion Microsoft™ PowerPoint has to be installed on the system.

pdf-copy-paster(1)

this program strips out all hard returns out of any copied text. Simply keep the program running and it will automatically take out all the hard returns in the background. The program only activates for PDF readers. Currently the program recognizes Adobe Reader (both the standalone program and the browser plugin versions), Foxit Reader, and Sumatra PDF as PDF readers.

pdfconcatenate(1)

concatenate PDF files.

pdfrotate(1)

select pages of a PDF file and/or rotate one or more pages in different directions and save result to a new PDF file.

pdftkbuilder(1)

Take control of your PDF documents - merge or split pages; stamp pages or add background watermarks; add page numbers; and even rotate pages.

See: https://pdftk-builder-enhanced.sourceforge.io for more information.

perfmon(1)

The PerfMon Performance Monitor is a small program that shows you the CPU, Memory, Disk and Network utilization under Windows NT platforms (2000, XP, Vista, Win 7, etc...).

picpick(1)

A full-featured screen capture tool, intuitive image editor, color picker, color palette, pixel-ruler, protractor, cross-hair, whiteboard and more.

pinwin(1)

PinWin is a minimal Windows™ system tray application that allows you to pin any windows to the top of the screen with one click.

pmeter(1)

PMeter is a very handy pixel meter. There are plenty of desktop rulers around, but it's hard to find a good one, which is free. PMeter is a simple to use desktop ruler allowing to switch between 3 user configurations easily. For each configuration you can set width and colors individually, choose to add a desktop magnifier to your ruler, and more.

PMeter also includes a color picker in case you need to know or work with the color of any pixel visible on your screen. The additional display for mouse cursor coordinates might also be useful for you.

PMeter is also extremely handy to be used when you need to check data lists on the screen as if you would put a real ruler on a list printed on paper.

png2jpg(1)

convert PNG image to JPG format.

poweroff(1m)

shut down and Power-OFF the system. The command allows to specify to delay the shutdown between 10 seconds and 24 hours.

ppt2jpg(1)

save all slides of a PowerPoint™ presentation to bitmap images. Each slide will be saved as separate JPG image file.

ppt2png(1)

save all slides of a PowerPoint™ presentation to bitmap images. Each slide will be saved as separate PNG image file.

The output image format ( png, gif, jpg, bmp ) and the image size can be configured in the etc/ppt2png.cfg configuration file.

progstats(1)

print statistics about WA2L/WinTools command start.

proxy(3)

set %HTTP_PROXY% and %HTTP_PROXY% based on definitions in the proxy.cfg(4) configuration file.

pstart(1)

PStart is a simple tray tool menu to start user defined applications. Designed to run portable applications (like portable Firefox & Thunderbird), you can start anything executable from USB key devices or removable disks. See: http://www.pegtop.net/start/ for more information.

See also: hotkeyp(1), activehotkeys(1m), qsel(1m).

puretext(1)

PureText is a tiny tray utility that removes all text formatting from your clipboard and optionally pastes the resulting pure text to the active window with a single hotkey.

putty(1)

PuTTY is an SSH and telnet client, developed originally by Simon Tatham for the Windows platform.

The configuration is saved to the etc/PuTTY.cfg file.

Old versions of the etc/PuTTY.cfg file are saved in var/cache/putty/.

See also: https://the.earth.li/~sgtatham/putty/latest/htmldoc/ and putty.Help(1) in the HTML documentation for more information.

puttyclean(1)

clean PuTTY configuration and sessions from the Windows™ registry. Prior to the deletion the configuration and the defined sessions are saved to the etc/PuTTYclean.cfg file.

Old versions of the etc/PuTTYclean.cfg file are saved in var/cache/putty/.

puttygen(1)

ssh key generation and migration utility for PuTTY.

See also: https://the.earth.li/~sgtatham/putty/0.73/htmldoc/Chapter8.html#pubkey-puttygen and putty.Help(1) in the HTML documentation for more information.

puttysm(1)

PuTTY Session Manager (PuTTYsm) is a tool that allows system administrators to organise their PuTTY sessions into folders and assign hotkeys to their favourite sessions.

Q

q10(1)

Q10 is a distraction-free editor employing minimalist presentation (GUI) and lightweight system requirements to provide a clutter-free but feature-capable work environment. See: http://www.baara.com/q10/ for more information.

qsel(1)

program launcher to start applications and open registered documents and internet links quickly from a flat window.

See also: https://www.horstmuc.de/wqsel.htm, qsel.Help(1), qsel(1), pstart(1).

qtranslate(1)

QTranslate can be used to quickly translate text from one language to another. Features include the ability to translate text typed into the main window, speak translated text via it's own "Text to Speech Translator" (via Ctrl+E), translate highlighted text on the fly in a popup (via Ctrl+Q), or show highlighted translations in the main window (via Ctrl+Ctrl). QTranslate might also be used to perform a web search (via Ctrl+W). Icons for these shortcuts also appear when highlighting text.

R

radiosure(1)

RadioSure allows you to browse through a huge variety of stations, sorting by language, country, genre and title. You can also add new stations and toggle a variety of configuration settings that run from enabling hot-keys to recording radio. There are various ways of listen to RadioSure: via the main interface, minimized to a smaller bar, or minimized completely to the task bar. The task-bar option will let you carry out the majority of actions you need by right-clicking.

rdcman(1)

RDCMan manages multiple remote desktop connections. It is useful for managing server labs where you need regular access to each machine such as automated checkin systems and data centers.

Servers are organized into named groups. You can connect or disconnect to all servers in a group with a single command. You can view all the servers in a group as a set of thumbnails, showing live action in each session. Servers can inherit their logon settings from a parent group or a credential store. Thus when you change your lab account password, you only need to change the password stored by RDCMan in one place. Passwords are stored securely by encrypting with either CryptProtectData using the (locally) logged on user's authority or an X509 certificate.

redirect2web(1)

redirect the user to a web server location based on a locally or network drive selected file.

removeexternallinks(1)

remove external links from Excel™ files.

This utility helps when the removal of external links in Excel™ using:

Excel → Data → Edit Links → Break Link

is not successful.

When the Excel command is not found on the system, specify the search path to Excel.exe in the EXCEL_PATH=path1;path2;... setting in the optional configuration file etc/RemoveExternalLinks.cfg.

For more information see also: removeexternallinks.cfg(4)

ruler(1)

This application creates a Ruler on your screen which you can move around and use it to measure pixels and percentage of the Ruler length.

You can drag it around, size it, display additional lines or change its transparency.

ridnacs(1)

RidNacs is a fast and easy to use disk space analyser.

run(1)

start an application thru an application name using the appstart(1) command. The applications are defined in the etc/run.cfg file.

runpopup(1)

graphical dialog to start an application thru run.

When the RunPopUp command is started (thru a Desktop shortcut, in the Windows™ Start menu of WA2L/WinTools or a hotkey defined in pstart(1) or hotkeyp(1)) the application to be started can be entered in the input field provided.

When pressing the SHIFT key during the start of the RunPopUp command the application to be launched can be chosen from a pulldown list.

S

safehouseexplorer(1)

makes your secret files invisible and hides them from snoopers, intruders and anyone else who doesn't have your permission to view them. SafeHouse Explorer uses passwords and maximum-strength 256-bit advanced encryption to completely hide and defend your sensitive files. SafeHouse Explorer can protect files residing on any drive, including memory sticks, external USB drives, network servers, CD/DVDs and even iPods.

See also: http://www.safehousesoftware.com/ and safehouse.Help(1) in the HTML documentation for more information.

sav(1)

save (create a copy of) one or more files by adding a date to the file name before the file suffix.

Examples (executed on December 6th, 2014):

budgets.xlsx               ==>  budgets.20141206.xlsx

book.v1.docx               ==>  book.v1.20141206.docx

anycalc.20140101.xlsx      ==>  anycalc.20141206.xlsx

todolst.201401011259.xlsx  ==>  todolst.20141206.xlsx

savnow(1)

save (create a copy of) one or more files by adding a date and time to the file name before the file suffix.

Examples (executed on December 6th, 2014, 16:05):

budgets.xlsx               ==>  budgets.201412061605.xlsx

book.v1.docx               ==>  book.v1.201412061605.docx

article.20141206.docx      ==>  article.201412061605.docx

anycalc.20140101.xlsx      ==>  anycalc.201412061605.xlsx

todolst.201401011259.xlsx  ==>  todolst.201412061605.xlsx

screenshot(1)

create a full screen shot of a certain monitor referenced by the monitor number and automatically save the captured image with a unique name.

screenshottray(1)

create a full screen shot of a certain monitor referenced by the monitor number and automatically save the captured image with a unique name. The application sits in the system tray.

searchmyfiles(1)

SearchMyFiles is an alternative to the standard "Search For Files And Folders" module of Windows.

It allows you to easily search files in your system by wildcard, by last modified/created/last accessed time, by file attributes, by file content (text or binary search), and by the file size. SearchMyFiles allows you to make a very accurate search that cannot be done with Windows search. For Example: You can search all files created in the last 10 minutes with size between 500 and 700 bytes.

After you made a search, you can select one or more files, and save the list into text/html/csv/xml file, or copy the list to the clipboard.

For more information see also: https://www.nirsoft.net/utils/search_my_files.html.

seethroughwindows(1)

make any window transparent.

sendtodir(1)

open the Windows™ 'SendTo' directory in Windows™ file explorer.

setmodificationdate(1)

Set file modification date of files in a directory in the same order as when the files are sorted by name.

This command can be used to ensure, that images are showed in the right sequence when displaying them on a TV that does not display files ordered by name correctly.

shortcuts(1)

handle desktop- and other shortcuts (=links).

This enables to define all shortcuts normally defined by hand in a configuration file ( etc/Shortcuts.definition.cfg ).

Therefore if path names change or you need to move to a new/reinstalled system, simple invoke Shortcuts -i definition and all your shortcuts are updated.

The shortcut commands can also handle shortcuts handled by the run(1), which you would normally create using the run -i application command for each application for which you like a shortcut placed on the users 'Desktop'.

simplerecorder(1)

SimpleRecorder Simple Recorder is a lightweight and efficient tool for recording audio on your computer.

softwaredir(1)

open the WA2L/WinTools software installation directory in Windows™ file explorer.

soundvolumeview(1)

SoundVolumeView is a tool for Windows™ that displays general information and current volume level for all active sound components on your system and allows you to mute and unmute them instantly. SoundVolumeView also allows you to save a sound profile into a file, containing the current volume level and the mute/unmute state of all sound components, as well as the default sound devices, and then later, load the same file to restore exactly the same volume levels and settings.

spanishaccents(1)

SpanishAccents is a simple hotkey program that provides a quick and intuitive way to type accented characters used in Spanish. Hold down CapsLock and Shift and press '?' to type the upside down question mark at the beginning of a question sentence. No need to memorize obscure ASCII numbers that don't work on many laptops anyway!

spread32(1)

Spread32 is fully compatible with Microsoft Excel! It is essentially a mini-Excel with all of the basic features that you would expect in a competent spreadsheet program. Run macros, draw objects, generate charts, calculate functions and formulas, its all here. And it reads and writes xls, csv, text and pxl formats.

sqlite-gui(1)

SQLite-GUI is a lightweight Windows™ GUI for SQLite powered by C++/mingw and WinAPI. Small, simple, powerful, fast, free.

See also: https://github.com/little-brother/sqlite-gui/wiki, https://sqlite.org/lang.html.

startmenu(1)

start menu with all WA2L/WinTools utilities that sits in the Windows™ system tray.

The menu contains the same entries as created in the Windows™ 'Start' menu when the [x] Create start menu entries option in the dialog of config(1m) is chosen.

The startmenu(1) can be used if it is not desired to use classicstartmenu(1m) but nevertheless have a structured menu of all utilities of the WA2L/WinTools package available.

You should not add own entries to this menu because your entries will be lost on next start; for an own portable start menu use pstart(1).

startupdir(1)

open the Windows™ 'Startup' directory in Windows™ file explorer.

stationsdownload(1m)

download the newest radio stations list for RadioSure from rb2rs.freemyip.com and install it to var/db/radiosure/.

stopwatch(1)

On screen stopwatch with lap and fullscreen functionality. In addition the stopped times can be saved to a file or to the clipboard.

See also: https://free-stopwatch.com/en/online/ in the HTML documentation for more information.

sumatrapdf(1)

Sumatra PDF is a free PDF, eBook (ePub, Mobi), XPS, DjVu, CHM, Comic Book (CBZ and CBR) reader for Windows™.

Sumatra PDF is powerful, small, portable and starts up very fast.

Simplicity of the user interface has a high priority.

For more information see also: https://www.sumatrapdfreader.org/docs/SumatraPDF-documentation.html.

svcinit(1m)

start/stop/list all programs that are defined to be started on login thru the 'Startup' menu entry as handled thru the config(1m) command.

svg2png(1)

convert SVG vector graphic image to PNG raster format.

synchronizeit(1)

synchronize files and folders.

See also: https://grigsoft.com/ and synchronizeit.Help(1) in the HTML documentation for more information.

T

textify(1)

Copy text from dialogs and controls to clipboard.

textnote2html(3)

convert a TEXT file to HTML without to change the text formatting/alignment.

The textnote2html provides some features to use a text file containing notes more interactively without to have to enter formatting commands (which would make the text file itself often less readable).

Files and URLs:

web-links, links to files, email-addresses and phone-numbers are clickable.

Titles:

Text entered as *** Text *** is set as bold text.

Subtitles:

text written in capital letters beginning in the leftmost column are treated as titles and set in red color.

Index-menu:

For identified subtitles, an index-pop-up-menu is created in the bottom right corner of the browser window to allow quick navigation within the file.

Symbols:

Some character combinations are translated into symbols: /!\, :::, >>>, _O_, (i), ///.

textnoteview(1)

view a given TEXT file in the system's standard Web browser.

Prior to displaying the file it is converted to HTML using the textnote2html(3) command.

tinytimerecorder(1)

simple time recorder which allows to track time spent on projects or tasks by a simple click on the related entry in the tray menu.

The time is recorded to a the var/db/tinytimerecorder/timerecord.csv file.

todayprefix(1)

add a date prefix having the current date (today) to the file.

Examples (executed on December 6th, 2014):

book.v1.docx               ==>  20141206 - book.v1.docx

20140101 - anycalc.xlsx    ==>  20141206 - anycalc.xlsx

2014-01-01.todolst.xlsx    ==>  20141206 - todolst.xlsx

when  SHIFT key is pressed:

book.v1.docx               ==>  2014-12-06 - book.v1.docx

20140101 - anycalc.xlsx    ==>  2014-12-06 - anycalc.xlsx

2014-01-01.todolst.xlsx    ==>  2014-12-06 - todolst.xlsx

tunnel(1)

a command line tool to permanently run PuTTY tunnel session.

With the tunnel command a PuTTY session is started in the background. As soon as the started session terminates it is restarted to ensure that a tunnel session is as reliable as possible.

The default timeout and restart settings can be changed in the optional etc/tunnel.cfg configuration file.

To use a PuTTY session in tunnel the session needs to be defined first in PuTTY in a way that no user interaction is needed on start of the session (using private/public keys to connect and no passphrase).

See also: putty(1).

turbopad(1)

TurboPad is a fast and feature rich text editor designed for programmers.

typertask(1)

typertask is designed to help you by automating your keyboard typing. typertask does this by looking for 'signals' and then auto typing longer phrases. For example, you may type your signature many times a day. With typertask you can just type 'mysig' (or any other signal), and your full signature will automatically be typed, while you are working in any program.

See http://www.vtaskstudio.com/support.php#tools and typertask.Readme(1) in the HTML documentation for more information.

U

usbdeview(1)

USBDeView is a utility that lists all USB devices that are currently connected to your computer, as well as all USB devices that you previously used.

For each USB device, extended information is displayed: Device name/description, device type, serial number (for mass storage devices), the date/time that device was added, VendorID, ProductID, and more...

USBDeView also allows you to uninstall USB devices that you previously used, disconnect USB devices that are currently connected to your computer, as well as to disable and enable USB devices.

usbdiskeject(1)

A program that allows you to quickly remove drives in Windows. It can eject USB disks, Firewire disks and memory cards. It is a quick, flexible, portable alternative to using Windows' "Safely Remove Hardware" dialog.

See https://quickandeasysoftware.net/readmes/USBDiskEjector.html and usbdiskeject.Readme(1) in the HTML documentation for more information.

userinfo(1)

display an user information message to the user mostly informing about Windows and own (PStart) defined hotkeys.

V

vcp(1)

create a copy with a new version of a file by incrementing the version before the file suffix.

Examples:

document.xlsx               ==>  document_v1.0.0.xlsx

document_v10.xlsx           ==>  document_v11.xlsx

document_v1.9.xlsx          ==>  document_v2.0.xlsx

vi(1)

vi editor for Windows.

vietocr(1)

VietOCR is an easy to use OCR (Optical Character Recognition) program.

You can open image file like JPG, BMP, GIF, PNG, TIF, PDF etc. for OCR process. It has a feature for scanning of document from your scanner and then do OCR on it and it supports OCR on colored images. The final captured text can be saved to a text file.

view(1)

read only vim(1).

vim(1)

vi improved (console version) for Windows.

W

wallpaper(1)

create and set a dynamic wallpaper based on a HTML file. In the configuration file etc/wallpaper.cfg the credentials of the wallpaper to be set can be defined. See also wallpaper.cfg(4) for more information.

wallpaperindex(1)

create an index ( var/wallpaper/index.html ) of all wallpapers available in the var/wallpaper/ directory.

wallpaperpack(1m)

pack only additional wallpapers that are not part of the WA2L/WinTools application package to a distributable *.zip file (example: WA2LWinTools-1.1.12-201412061254-wallpaper.zip).

wav2mp3(1)

convert one or more *.wav music file(s) to *.mp3 music file(s).

weathermate(1)

WeatherMate gives you instant access to the current weather and weather forecast for tens of thousands of locations worldwide.

webbrowser(1)

start a web browser as defined in run(1) respectively run.cfg(4) thru a single command.

webcamsdownload(1m)

download the lib/webcams.js file which contains a list of webcams used in the var/wallpaper/webcams.html wallpaper independent from the upgrading of the WA2L/WinTools package.

windowresizer(1)

save and restore window positions.

windowtabs(1)

tabbed window management for any window.

winfontsforall(1)

Installing Windows fonts without administrator rights. WinFontsForAll is a one-click Windows™ app, that lets you install fonts, without requiring administrator privileges.

The app itself runs in the background and resides in the system-tray when minimized. Click on the app icon to bring the app back to the front.

You can install fonts by dragging the font file over to the app's window and dropping it into the square box.

When you don't need the font anymore, just select it from the list and click on the Delete button.

For more information see also: https://apps.walialu.com/winfontsforall/ and video: https://vimeo.com/207591397.

winroll(1)

WinRoll allows you to make a window "roll up" into its title bar by right-clicking on the title bar or the minimize/maximize icons of the window.

You can also send a window to the back, make it stay on top, as well as minimize to the tray area and make the window translucent.

winscp(1)

SFTP, FTP, WebDAV, S3 and SCP client.

For more information see also: https://winscp.net/

wintail(1)

WinTail is a Windows program that works like the Unix command tail.

See also: http://www.tailforwindows.net/ for more information about WinTail.

wintoolsdownload(1m)

download and install the most recent WA2L/WinTools package from sourceforge.org using the installer.

wintoolsrevision(1m)

display the revision of WA2L/WinTools.

wintoolsrevisionnotifier(1m)

Display a notification when a new revision of the WA2L/WinTools package is available.

wintoolswebdownload(1m)

download the most recent WA2L/WinTools package from sourceforge.org using the web browser.

wma2mp3(1)

convert one or more *.wma music file(s) to *.mp3 music file(s).

wscheduler(1)

Scheduler is an excellent tool to run applications, pop-up reminders and other useful tasks unattended. Various scheduling options and ability to send keypresses to applications make this a really useful tool.

See also: https://www.splinterware.com/products/scheduler.html and wscheduler.Help(1) in the HTML documentation for more information.

wtreset(1m)

forced stop of all programs started from the WA2L/WinTools installation directory and restart of all AutoStart (=OnLogin start) programs.

This command is only needed if the connection to a removable device is lost during usage.

See also: svcinit(1m)

wtshell(1m)

interactive command shell (cmd.exe) configured to run efficiently within the WA2L/WinTools environment. The wtshell provides some additional commands to the normal Windows™ command prompt. Invoke the usage command within wtshell to get an overview of all available commands.

X

xlsx2csv(3)

extract individual Excel sheets as CSV output from an Excel workbook in the .xlsx format. CSV content is written to Stdout.

xmledit(1)

XMLEdit (STDU XML Editor) is a lightweight editor of XML documents. This editor is very simple to use. The XML document is represent as tree, and you don't need to know anything about markups language, for edit documents in our editor.

See also: http://www.stdutility.com/stdu-xml-editor.html.

xps2pdf(1)

convert one or more *.xps file(s) to *.pdf file(s).

xps2png(1)

convert one or more *.xps file(s) to *.png file(s).

Y

yellowpile(1)

Yellowpile is a program for creating color sticky notes with a scheduler function.

The application allows to change the color of the note, the font and color of the text. And you can also attach a note on top of all windows or hide.

Notes can be deleted or moved to the trash.

There are several types of scheduler notifications: a message in the tray, animation (shake), and audio signal.

Z

zoomit(1)

ZoomIt is a screen zoom and annotation tool for technical presentations that include application demonstrations. ZoomIt runs unobtrusively in the tray and activates with customizable hotkeys to zoom in on an area of the screen, move around while zoomed, and draw on the zoomed image.

FILES

bin/

all commands intended to be used by the end user.

etc/

configuration files of the commands located in the bin/ directory.

lib/

supporting commands to realize the commands located in the bin/ directory. In general it is not planned to execute a command in this directory directly or to edit files therein.

man/

manual pages and documentation of WA2L/WinTools.

var/

directory with dynamic content.

var/cache/

cache directory used by some commands to cache some data.

var/cache/scripts/

cache directory for use by own scripts saved in var/scripts/ to cache some data.

var/db/

database files.

var/db/scripts/

database files for own scripts saved in var/scripts.

var/icons/

icon files.

var/log/

log files.

var/scripts/

directory to save own scripts. This directory is excluded from the WA2L/WinTools package.

var/sw/

packed software package. If you invoke the lib/pack command the generated *.exe application package will be saved in this directory.

Also when installing or upgrading the WA2L/WinTools package the software archive (*.zip and/or *.exe file) is saved here.

var/tmp/

temporary directory used by some commands to temporary save some data.

var/wallpaper/

HTML and other files for a certain wallpaper to be handled by the wallpaper command.

var/fonts/

additional fonts. The fonts Barcode, ISO-Normschrift and NASA are bundled with WA2L/WinTools.

SEE ALSO

1by1(1), 1by1.Readme(1), 7-zip(1), 7-zip.chm(1), 7-zip.Help(1), activehotkeys(1m), altdrag(1), anydesk(1), appstart(1), appstart.cfg(4), ascii(3), asfilecrypt(1), auto_exec(1m), avi2mp4(1), avi2mp4.cfg(4), awk(3), azw2epub(1), azw2epub.cfg(4), azw2mobi(1), azw2mobi.cfg(4), banner(1), bc(1), beeftext(1), beeftext.cfg(4), bes(1), bes.cfg(4), bib2xml(3), bib2xml.xml(4), bibliography(1), bibliography.cfg(1), bluetooth(1), caffeine(1), caffeine.cfg(4), calculator(1), calendar(1), catchchar(1), calendar.Help(1), cat(1), cfgcat(3), charsets(3), cinemadrape(1), citesdownload(1m), citesdownload.cfg(4), classicstartmenu(1m), classicstartmenu.chm(1m), classicstartmenu.Help(1m), clocx(1), comm(1), config(1m), config.cfg(4), convert(3), copyaslink(1), copyasuxpath(1), copyaswinpath(1), compareit(1), compareit.chm(1), compareit.Help(1), console(1m), console.chm(1m), console.Help(1m), countdown(1), cp(1), csvfileedit(1), csvfileview(1), csvq(3), csv2worksheet(3), curl(1), cut(1), dc(1), desktopicon(1), desktopok(1), desktops(1), desktopticker(1), desktopticker.cfg(4), diff(1), dirindex(1), dirindex.cfg(4), dirinfo(1), dirinfo.cfg(4), dmcsv(1), dockfolders(1), dos2unix(1), downloadfile(1), dpwiper(1), dsubst(1), dsubst.cfg(4), easyscreencastrecorder(1), easyscreencastrecorder.Help(1), easyscreencastrecorder.chm(1), easyscreencastrecordings(1), ebnfview(1), ebnfview.Help(1), edszip(1), edszip.cfg(4), egrep(1), emptyfoldernuker(1), envarlist(3), epub2mobi(1), epub2mobi.cfg(4), exiftool(3), exiftoolgui(1), expand(1), ffmpeg(3), fgrep(1), filelist.chm(3), filelist.Help(3), folderchangesview(1), folderspopup(1), gawk(3), greenshot(1), greenshot.Help(1), grep(1), gzip(1), handle(1), hasher(1), hexeditor(1), hotkeyp(1), hotkeyp.Help(1), hp48gx(1), head(1), icongrabber(1), iconrefresh(1), iconv(3), indent(3), inststats(3), instverify(3), iyf(1), iyf.cfg(4), java.cfg(4), join(1), keepass(1), keyfreeze(1), keynote(1), keynote.chm(1), keynote.Help(1), jpegview(1), jpegview.Readme(1), jq(3), jsonedit(1), lame(3), kill(1), less(1), list2(1), locate(1), lpath(3), ls(1), lynx(1), mac2unix(1), make(1), man(1), man.cfg(4), man.map(4), mandoc(1), manuals(1), manualsbrowser(1), manvi(1), mc(1), mediaplayer(1), meta2cover(1), meta2cover.docx(4), metadata(1), metadata.bib(4), metadata.cfg(4), metadata.template(4), metarweather(1), minimizetotray(1), miranda(1), mobi2epub(1), mobi2epub.cfg(4), monitoroff(1m), mousefinder(1), mousefinder.cfg(4), movetoscreen(1), movetoscreen.cfg(4), mp3cutter(1), mtail(1), mtputty(1), mv(1), multiclipboardslots(1), mycview(1), nano(1), ncat(1), newfiletime(1), newfiletime.cfg(4), newslibrary(1), nice(1), nosleep(1), notepad2(1), np(1), od(1), office2pdf(1), outlookattachview(1), pack(1m), pack.cfg(4), pack-supportfiles(1m), pageant(1), pdf2epub(1), pdf2epub.cfg(4), pdf2mobi(1), pdf2mobi.cfg(4), pdf2png(1), pdf2png.cfg(4), pdf2ppt(1), pdfconcatenate(1), pdf-copy-paster(1), pdfinfo(3), pdfrotate(1), pdftk(3), pdftkbuilder(1), perfmon(1), picpick(1), pinwin(1), plink(1), plink.Readme(1), pmeter(1), png2jpg(1), poweroff(1m), ppt2jpg(1), ppt2jpg.cfg(4), ppt2png(1), ppt2png.cfg(4), print_header(3), print_index(3), print_list(3), progstats(1), proxy(3), proxy.cfg(4), ps(1), pscp(1), psftp(1), psftpReadme(1), pstart(1), puretext(1), putty(1), puttyclean(1), puttygen(1), puttysm(1), q10(1), qsel(1), qsel.cfg(4), qsel.chm(1), qsel.Help(1), qtranslate(1), radiosure(1), recycle(1), rdcman(1), redirect2web(1), redirect2web.cfg(4), redirect2web.map(4), regexintro(4), removeexternallinks(1), removeexternallinks.cfg(4), ruler(1), ridnacs(1), rm(1), robocopy(3), run(1), run.cfg(4), runpopup(1), safehouseexplorer(1), safehouse.chm(1), safehouse.Help(1), sav(1), savnow(1), screenshot(1), screenshot.cfg(4), screenshottray(1), sed(1), sed1line(1), select_columns(3), setup.cfg(4), searchmyfiles(1), seethroughwindows(1), sendtodir(1), setmodificationdate(1), shortcuts(1), shortcuts.def.cfg(4), simplerecorder(1), softwaredir(1), softwarelist(1), soundvolumeview(1), spanishaccents(1), spread32(1), spread32.Help(1), sqlite3(3), sqlite-gui(1), sqlite-gui.cfg(4), startmenu(1), startmenu.cfg(4), startprog(3), startprog.opt(4), startupdir(1), stat(1), stationsdownload(1m), stationsdownload.cfg(4), stopwatch(1), stopwatch.cfg(4), sumatrapdf(1), svcinit(1m), svcinit.cfg(4), svcinit.cmd(4), svcinit.pn.cfg(4), svg2png(1), svg2png.cfg(4), synchronizeit(1), synchronizeit.chm(1), synchronizeit.Help(1), tac(1), tail(1), textify(1), textnote2html(3), textnoteview(1), textnoteview.cfg(1), tinytimerecorder(1), todayprefix(1), todayprefix.cfg(4), touch(1), tunnel(1), tunnel.cfg(4), turbopad(1), typertask(1), typertask.Readme(1), unexpand(1), unix2dos(1), unix2mac(1), unzip(3), usbdeview(1), usbdiskeject(1), usbdiskeject.Readme(1), userinfo(1), userinfo.cfg(4), utf-8(3), uniq(1), uxfind(1), uxsort(1), vcp(1), vcp.cfg(4), vi(1), vietocr(1), view(1), vim(1), vim.cfg(4), wallpaper(1), wallpaper.cfg(4), wallpaperindex(1), wallpaperpack(1m), wav2mp3(1), wav2mp3.cfg(4), wc(1), weathermate(1), whatis(4), webbrowser(1), webcamsdownload(1m), webcamsdownload.cfg(4), wget(3), which(1), windowresizer(1), windowtabs(1), winfontsforall(1), winroll(1), winscp(1), wintail(1), wintoolsdownload(1m), wintoolsintro(1), wintoolsrevision(1), wintoolsrevision(1m), wintoolsrevisionnotifier(1m), winvi(1), wma2mp3(1), wma2mp3.cfg(4), wscheduler(1), wscheduler.Help(1), wscheduler.chm(1), wtreset(1m), wtshell(1m), wtshell.cfg(4), xlsx2csv(3), xmledit(1), xml2csv(3), xml2json(3), xps2pdf(1), xps2png(1), xps2png.cfg(4), yellowpile(1), yes(1), zip(3), zoomit(3)

NOTES

Check out other WA2L projects on Sourceforge: https://sourceforge.net/u/wa2l/profile/.

The WA2L/WinTools package is using a number of commands developed by other individuals, as:

1by1

by Martin Pesch <contact@mpesch3.de> (https://mpesch3.de/1by1.html).

7z, 7zFM, 7-Zip

by Igor Pavlov <http://www.7-zip.org> (http://www.7-zip.org/).

ActiveHotkeys

by Marek Jedlinski <marek@tranglos.com> (https://www.netzwelt.de/software-download/18478-activehotkeys.html).

AltDrag

by Stefan Sundin <https://stefansundin.github.io> (https://stefansundin.github.io/altdrag/).

AnyDesk

by AnyDesk Software GmbH (https://anydesk.com/).

apply

by James D. Lynn (http://www.taenarum.com/software/#apply).

ASFileCrypt

by Andreas Joensson <www.andreas-software.com> (https://www.andreas-software.com/international/program_as_file_crypt.php).

Au3Info

by Jonathan Bennet & AutoIt Team <support@autoitscript.com> (https://www.autoitscript.com/autoit3/).

awk

by Alfred Aho, Peter Weinberger and Brian Kernighan (http://pubs.opengroup.org/onlinepubs/9699919799/utilities/awk.html).

bc, dc

by Philip A. Nelson <philnelson@acm.org> (http://gnuwin32.sourceforge.net/packages/bc.htm).

Beeftext

by Xavier Michelon <https://michelon.ch> (https://beeftext.org, https://github.com/xmichelo/Beeftext).

BES

by https://mion.yosei.fi <https://mion.yosei.fi> (https://mion.yosei.vi/BES/, http://mion.faireal.net/BES/).

Borderline (aka. MoveToScreen)

by James D. Lynn (http://www.taenarum.com/software/Borderline.html).

caffeine

by Tom Revell <tom.revell@zhornsoftware.co.uk> from Zhorn Software (http://www.zhornsoftware.co.uk/caffeine/).

Calculator (CALCULATOR=Calculator)

by Alec Seward <alec@speech.kth.se> (http://www.speech.kth.se/calculator/).

Calculator (CALCULATOR=RPN_Calculator)

by Mario Cerniar <RPNCalculator@live.com> (https://sourceforge.net/projects/rpncalcnet/).

cat, cp, cut, comm, diff, head, join, less, make, mv, od, rm, stat, tac, tail, tr, tee, touch, uniq, uxfind, uxsort, yes, wc and which manual pages

by Arnold Robbins, David Hayes, David MacKenzie, David M. Ihnat, Dennis Morse, Jim Kingdon, Jim Meyering, Mike Frysinger, Mike Haertel, Mike Parker, Paul Eggert Paul Rubin, Randy Smith, Richard M. Stallman and Roland McGrath, for the Free Software Foundation Inc (http://www.gnu.org/software/coreutils/).

CatchChar

by AvniTech Solutions (https://www.softpedia.com/get/Office-tools/Other-Office-Tools/CatchChar.shtml).

chgcolor

by Jim Lawless (http://www.mailsend-online.com/blog/?p=77).

CinemaDrape

by Aurelitec (https://www.aurelitec.com/cinemadrape/).

ClassicStartMenu

by Ivo Beltchev (https://github.com/Open-Shell/Open-Shell-Menu).

ClocX

by Bohdan Rylko (http://clocx.net/).

clwcp

by Philipp Winterberg <feedback@philipp-winterberg.com> (http://www.philippwinterberg.com/).

cmdcolor

by Olegs Jeremejevs <https://stackoverflow.com/users/242684/olegs-jeremejevs> (https://github.com/jeremejevs/cmdcolor).

CompareIt!

by Grig Software (https://www.grigsoft.com/wincmp3.htm).

convert

by the ImageMagick™ development community, ImageMagick Studios LCC (https://www.imagemagick.org/script/convert.php).

console

by Christophe Bucher <https://github.com/cbucher> (https://github.com/cbucher/console/wiki).

cpio

by GnuWin contributors <http://gnuwin32.sourceforge.net> (http://gnuwin32.sourceforge.net/packages/cpio.htm).

CSVFileView

by Nir Sofer <nirsofer@yahoo.com> (http://www.nirsoft.net/utils/csv_file_view.html).

csvq

by Yuki Mithrandie <https://github.com/mithrandie> (https://github.com/mithrandie/csvq/).

curl

by the curl contributors <https://curl.haxx.se/docs/thanks.html> (https://curl.haxx.se/, http://www.confusedbycode.com/curl/).

Dependency Walker (depends.exe) by Steve P. Miller <help@dependencywalker.com> (http://dependencywalker.com/).

DesktopOK

by Nenad Hrg <support2006@softwareok.de> (https://www.softwareok.com/?seite=Freeware/DesktopOK).

DesktopTicker

by Mike Batt <desktopticker@battware.co.uk> (http://www.battware.co.uk/desktopticker.htm).

df, max, min and norm

by Paul R. Sadowski (http://www.paulsadowski.com/wsh/cmdprogs.htm).

DockFolders

by Silon Systems S.L. <https://sandbox.silonsystems.com> (https://sandbox.silonsystems.com/dockfolders/).

docto

by Toby Allen <http://tech.cookingisfun.ie/> (http://github.com/tobya/DocTo/).

dos2unix, unix2dos, mac2unix, unix2mac

by Erwin Waterlander <waterlan@xs4all.nl> (https://sourceforge.net/projects/dos2unix/).

DPWiper

by Dirk Paehl <impressum@paehl.com> (https://www.paehl.de).

DMcsvEditor (aka. dmcsv, CSVFileEdit)

by Darth Media, Tivadar (https://www.portablefreeware.com/?id=2183, https://code.google.com/archive/p/dmcsveditor/).

Easy Screencast Recorder

by DonationCoder <http://www.donationcoder.com/> (http://www.donationcoder.com/software/mouser/popular-apps/easy-screencast-recorder).

EBNFView (aka. EBNF-Visualizer)

by Stefan Schoergenhumer <k0155531@students.jku.at> and Markus Dopler <k0156207@students.jku.at> (http://dotnet.jku.at/applications/Visualizer/).

editv, editenv

by Bill Stewart <bstewart@iname.com> (https://westmesatech.com/?page_id=111).

ele

by Sergey Tkachenko (https://winreview.ru/tag/ele/).

EmptyFolderNuker

by Simon Wai.

Emu48

by Christoph Giesselink and Sebastien Carlier (https://hp.giesselink.com/emu48.htm).

ExifTool

by Phil Harvey (https://exiftool.org/, http://sno.phy.queensu.ca/~phil/exiftool/, http://exiftool.sourceforge.net/).

ExifToolGUI

by Bogdan Hrastnik (https://exiftool.org/gui/).

ffmpeg

by FFmpeg developers (https://ffmpeg.org).

filelist

by JAM Software (https://www.jam-software.com/filelist/).

FileLocker

by Jens Scheffler (http://www.jensscheffler.de/filelocker).

FolderChangesView

by Nir Sofer <nirsofer@yahoo.com> (https://www.nirsoft.net/utils/folder_changes_view.html).

FoldersPopup

by Jean Lalonde <https://www.quickaccesspopup.com/support/> (https://www.quickaccesspopup.com/).

freewrap

by Dennis R. LaBelle (http://freewrap.sourceforge.net/).

gawk

compiled Windows GNU AWK 4.1.4 (gawk.exe) version provided by Olaf Schoenfeldt (https://www.klabaster.com/freeware.htm).

gawk

compiled Windows GNU AWK 5.1.1 (lib/gawk5/gawk.exe) version provided by xoviat (https://community.chocolatey.org/packages/gawk).

GetTitle, MessageBox, DropDownBox, SystemTrayMessage

by Rob van der Woude <info@robvanderwoude.com> (http://www.robvanderwoude.com/csharpexamples.php).

GNU utilities for Win32

by Karl M. Syring (http://unxutils.sourceforge.net/).

Greenshot

by Thomas Brown, Jens Klingen, Robin Krom (https://getgreenshot.org/).

GuidGen

by Michael McDaniel <http://mcdaniel.ws/> (https://github.com/michaelmcdaniel/GuidgenConsole).

gswin32, gxps

by Artifex Software, Inc. (http://www.ghostscript.com/).

gzip

by Jean-loup Gailly (http://gnuwin32.sourceforge.net/packages/gzip.htm).

head

by GnuWin contributors <http://gnuwin32.sourceforge.net> (https://sourceforge.net/projects/gnuwin32/files/coreutils/).

HexEditor

(HxD Hex Editor) by Mael Hoerz <https://mh-nexus.de/en/contact.php> (https://mh-nexus.de/en/hxd/).

hidecon

by <kliu@code.kliu.org> (http://code.kliu.org/).

Hasher

by Igor <support@igorware.com> (https://www.igorware.com/hasher).

HotkeyP

by Petr Lastovicka <http://petr.lastovicka.sweb.cz/> (https://sourceforge.net/projects/hotkeyp/).

http-ping

by Core Technologies Consulting, LLC <support@CoreTechnologies.com> (https://www.coretechnologies.com/products/http-ping/).

Icons

by iconsDB.com - free custom icons <contact@iconsdb.com> (http://www.iconsdb.com/).

Icons

by flaticon.com respectively freepik.com (https://flaticon.com/, https://www.freepik.com/).

IconGrabber

by Benjamin Bentmann <benjamin.bentmann@becyhome.de> (http://www.becyhome.de/download_eng.htm#becyicongrabber).

iconv

by Michele Locati <mlocati@gmail.com> (https://mlocati.github.io/articles/gettext-iconv-windows.html).

innounp (Inno Setup Unpacker)

by QuickeneR and Ariman (https://sourceforge.net/projects/innounp/).

iyf

by J. Rafael Castro Imbernon <juan.rafael.castro@gmail.com> (http://www.indexyourfiles.com/).

JPEGView

by David Kleiner (https://sourceforge.net/projects/jpegview/).

JSONedit

by Tomasz Ostrowski <https://tomeko.net/contact2.php?lang=en> (https://tomeko.net/software/JSONedit/?lang=en).

jq

by Stephen Dolan <mu@netsoc.tcd.ie> (https://stedolan.github.io/jq/).

Kalender (aka. Calendar)

by Ulrich Krebs <info@ukrebs-software.de> (https://www.ukrebs-software.de).

KeePass

by Dominik Reichl <dominik.reichl@t-online.de> (https://keepass.info/index.html).

KeyFreeze

by Bluelife & Velociraptor, Sordum.org <https://www.sordum.org/contact-us/> (https://www.sordum.org/7921/bluelife-keyfreeze-v1-4-block-keyboard-and-mouse/).

KeyNote

by Daniel Prado Velasco <dprado.keynote@gmail.com> (https://sourceforge.net/projects/keynote-newfeat/).

KindleGen

by Amazon (https://www.amazon.com/gp/feature.html?docId=1000765211).

lame

by the LAME Project <http://lame.sourceforge.net/> (https://github.com/Chocobo1/lame_win32-build/releases).

less

by Mark Nudelman (http://www.mingw.org/).

List2 (ListSquared)

by bitride (http://www.aplusfreeware.com/categories/business/spreadsheets.htm).

ListDLLs

by Mark Russinovich (https://www.sysinternals.com/downloads/listdlls/).

lua, wlua, luac

by the Lua community <http://www.lua.org/community.html> (http://www.lua.org/).

lnk_parser_cmd

by the LNK Parser community <https://code.google.com/archive/p/lnk-parser/> (https://code.google.com/archive/p/lnk-parser/).

Lynx

by the Lynx Developpers Group, Thomas E. Dickey <dickey@invisible-island.net> (https://invisible-island.net/lynx/).

make

by mingw-w64.org contributors (http://mingw-w64.org/, https://sourceforge.net/projects/mingw-w64/files/ → MinGW-W64-install.exe).

makesfx

by Andrew Fawcett <andrewfawcett@NOSPAMusers.sourceforge.net> (http://freeextractor.sourceforge.net/FreeExtractor/).

mandoc

by Kristaps Dzonsons <kristaps@bsd.lv> (http://embedeo.org/ws/doc/man_windows/).

mc

by Free Software Foundation (https://sourceforge.net/projects/mcwin32/files/).

Media Player Classic

by Gabest (https://sourceforge.net/projects/guliverkli2/).

MinimizeToTray

by Sandwich Doge aka. Shaolin Code-monk (https://github.com/sandwichdoge/MinimizeToTray).

Miranda NG

by Miranda NG Team (https://www.miranda-ng.org/).

MouseFinder

by Hardo Naumann <hardo.naumann@gmx.de> (http://www.hardo-naumann.de/mousefinder.html).

mweather (aka. MetarWeather)

by Nir Sofer <nirsofer@yahoo.com> (http://www.nirsoft.net/utils/mweather.html).

month

by James D. Lynn (http://www.taenarum.com/software/screenshots/month.txt).

msgbox

by Dr. Claudio <claudiosoft@online.fr> from ClaudioSoft Software (http://claudiosoft.online.fr/msgbox.html).

MP3Cutter

by MuseTips <http://www.musetips.com> (http://www.musetips.com).

mTail

by Olivier Philipp <ophilipp@free.fr> (http://ophilipp.free.fr/).

Please note and respect that the mTail program is only free, if it is not used in a commercial/business environment. If used in a commercial/business environment a registration and a donation to the author Olivier Philipp is required.

See: http://www.mtail.com/ for registration information.

MTPuTTY

by TTY PLUS (https://ttyplus.com/).

MultiClipBoardSlots

by Nenad Hrg <support2006@softwareok.de> (http://www.softwareok.eu/?seite=Microsoft/MultiClipBoardSlots).

MycView

by <myc_1@yahoo.com> (http://myc01.free.fr/mycview/).

nano

by Free Software Foundation (http://nano-editor.org/).

ncat (binary port for Windows)

by Gordon Lyon <fyodor@nmap.org> (https://nmap.org/ncat/).

NewFileTime

by Nenad Hrg <support2006@softwareok.de> (https://softwareok.com/?seite=Microsoft/NewFileTime).

NoSleep

by Mike Langford (https://drive.google.com/file/d/1P3vcCBdUVZI8JEUiq1EfnB_0Ggyc721N/view?usp=sharing).

ntop

by Gian Sass <https://gian-sass.com/> (https://github.com/gsass1/NTop, https://gian-sass.com/).

nircmdc

by Nir Sofer <nirsofer@yahoo.com> (http://www.nirsoft.net/utils/nircmd.html).

Notepad2

by Florian Balmer <florian.balmer@gmail.com> (http://www.flos-freeware.ch/).

od

by Jim Meyering.

OfficeToPDF

by CodePlex (https://github.com/cognidox/OfficeToPDF/).

OutlookAttachView

by Nir Sofer <nirsofer@yahoo.com> (https://www.nirsoft.net/utils/outlook_attachment.html).

OpenFileBox, InputBox, OpenFolderBox

by Rob van der Woude <info@robvanderwoude.com> (http://www.robvanderwoude.com/dialogboxes.php#OpenFileBox).

pdf2ppt - Acrobat Free

by Steven Lee, RubyPdf Technologies, <rocsky@gmail.com> (http://soft.rubypdf.com/software/pdf2ppt/pdf2ppt-acrobat-free).

pdfinfo

by Glyph & Cog, LLC <derekn@foolabs.com> (http://www.foolabs.com/xpdf).

PDF-Copy-Paster (PDF Copy-Paster)

by <onehourprogrammer@gmail.com> (http://www.onehourprogramming.com/blog/2010/9/1/fix-copy-and-pasting-in-pdfs.html).

pdftk

by Sid Steward (http://www.pdfhacks.com/pdftk/).

PDFTBBuilder

by David King (https://pdftk-builder-enhanced.sourceforge.io).

PerfMon

by Davide Lorenzi <http://www.hexagora.com/en_contactus.asp> (http://www.hexagora.com/en_dw_davperf.asp).

PicPick

by Wiziple Software (http://ngwin.com/picpick).

PinWin

by Bluegrams <mail@bluegrams.com> (https://sourceforge.net/projects/pinwin/, http://bluegrams.com).

PSKill, PSList, sigcheck, Junction, Handle, whois, ZoomIt and Desktops

by Mark Russinovich (http://www.sysinternals.com/downloads/desktops/, http://www.sysinternals.com/downloads/handle/, http://www.sysinternals.com/downloads/junction/, http://www.sysinternals.com/downloads/pskill/, http://www.sysinternals.com/downloads/pslist/, http://www.sysinternals.com/downloads/whois/, http://www.sysinternals.com/downloads/zoomit/).

pstart and PMeter

by Jens Gruschel (http://www.pegtop.net/start/, http://www.pegtop.net/pmeter/).

ptime

by Jem Berkes <jberkes@pc-tools.net> (http://www.pc-tools.net/win32/ptime/).

PureText

by Steve Miller <https://stevemiller.net/email> (https://stevemiller.net/puretext/).

PuTTY, plink, psftp, pscp, PuTTYgen, Pageant

by Simon Tatham <anakin@pobox.com> (https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html).

PuTTYsm (aka. PuTTY Session Manager , PSM)

by David Riseley (https://puttysm.sourceforge.net, https://sourceforge.net/projects/puttysm/).

Q10

by Joaquin Bernal <q10@baara.com> (http://www.baara.com/q10/).

Qsel, EnvarList

by Horst Schaeffer <horst.schaeffer@gmx.net> (https://www.horstmuc.de/wqsel.htm, https://www.horstmuc.de/wminis.htm#envarlist).

QTranslate

by QuestSoft <qtranslate@gmail.com> (http://quest-app.appspot.com/).

Quick_Any2Ico

by Carifred Windows Software (https://www.carifred.com/quick_any2ico/).

Radio? Sure! (RadioSure)

by TheBestWare Studio (http://www.radiosure.com/downloadz/downloadz-select/ - shutdown since 2022). and now hosted by Philippe Le B. (http://www.radiosure.fr/download.html).

rcedit

by Cheng Zhao and contributors (https://github.com/electron/rcedit/releases).

RDCMan

by Julian Burger (http://www.sysinternals.com/downloads/rdcman/).

recycle

by Frank P. Westlake (http://ss64.net/westlake/xp/index.html).

RefreshNotificationArea

by Stephen Klancher (http://projects.stephenklancher.com/project/id/88/Refresh_Notification_Area).

Ruler

by Michael Praschl <https://github.com/praschl> (https://github.com/praschl/Ruler).

RidNacs

by Stephan Plath <info@splashsoft.de> (https://www.splashsoft.de/category/software/freeware/ridnacs/).

SafeHouse Explorer

by PC Dynamics Inc (http://safehousesoftware.com/).

SearchMyFiles

by Nir Sofer <nirsofer@yahoo.com> (https://www.nirsoft.net/utils/search_my_files.html).

sed1line.txt

by Eric Pemet <pemente[at]northpark[dot]edu> (http://sed.sourceforge.net/sed1line.txt, http://www.pement.org/sed/sed1line.txt).

SeeThroughWindows

by MOBZystems <https://www.mobzystems.com/contact> (https://www.mobzystems.com/tools/seethroughwindows/).

Set-QuickAccess

by Johan Carlsson <johan.carlsson@innovatum.se> (https://gallery.technet.microsoft.com/Set-QuickAccess-117e9a89).

SetUserFTA

by Christoph Kolbicz <X:@_kolbicz> (https://kolbi.cz/blog/2017/10/25/setuserfta-userchoice-hash-defeated-set-file-type-associations-per-user/).

sha256sum

by LabTestProject.com (http://www.labtestproject.com/using_windows/step_by_step_using_sha256sum_on_windows_xp.html).

ShowTx

by Horst Schaeffer <horst.schaeffer@gmx.net> (https://www.horstmuc.de/show.htm).

SiteShoter

by Nir Sofer <nirsofer@yahoo.com> (http://www.nirsoft.net/utils/web_site_screenshot.html).

SoundVolumeView

by Nir Sofer <nirsofer@yahoo.com> (http://www.nirsoft.net/utils/sound_volume_view.html).

SpanishAccents

by <onehourprogrammer@gmail.com> (http://www.onehourprogramming.com/spanish-accents/).

Spread32

by Bye Design Ltd (http://www.aplusfreeware.com/categories/business/spreadsheets.html).

sqlite3

by SQLite.org (http://www.sqlite.org/).

SQLite-GUI

by Little Brother (https://github.com/little-brother/sqlite-gui/).

ssh, sftp, scp, ssh-keygen

by PowerShell Team (https://github.com/PowerShell/Win32-OpenSSH/releases).

FreeStopwatch (aka. Stopwatch)

by Sergey Koshkin of Comfort Software Group (https://free-stopwatch.com/de/online/).

Sumatra PDF

by Krzysztof Kowalczyk <kkowalczyk@gmail.com> (https://www.sumatrapdfreader.org/).

sun.js

by Matt Kane (https://github.com/Triggertrap/sun-js).

SimpleRecorder

by <simplerecorder@free.fr> (http://simplerecorder.free.fr/).

SynchronizeIt!

by Grig Software (https://www.grigsoft.com/wndsync.htm).

Textify

by Michael Maltsev <https://ramensoftware.com/contact> (https://ramensoftware.com/textify).

Turbo Pad

by Matt Watkins <https://sourceforge.net/u/mattwat/profile/> (https://sourceforge.net/projects/turbopad/).

typertask

by Vista Software, Inc. (http://www.vtaskstudio.com/support.php#tools).

unix2dos

by Philip J. Erdelsky <pie@sfgh.com> (http://www.efgh.com/software/index.html).

uptime

by Erik Muller.

upx

by Markus F.X.J. Oberhumer, Laszlo Molnar, John F. Reiser <https://upx.github.io> (https://upx.github.io).

url2bmp

by <url2bmp@pixel-technology.com> (http://www.pixel-technology.com/freeware/url2bmp/english/).

USBDeview

by Nir Sofer <nirsofer@yahoo.com> (http://www.nirsoft.net/utils/usb_devices_view.html).

USB Disk Ejector (USBDiskEject)

by Bennyboy (https://quickandeasysoftware.net/software/usb-disk-ejector).

vi (winvi)

by Raphael Molle <ramo2016@winvi.de>, Valerie Gunslay, Yves Belanger and Jose Maria Romero (http://www.winvi.de/de/).

VietOCR

by Quan Nguyen <https://sourceforge.net/u/nguyenq/profile/> (https://sourceforge.net/projects/vietocr/).

vim

by Bram Moolenaar (https://vim.sourceforge.io/).

WatchTheClock (aka. Countdown)

by Andreas Singer <watchtheclock@informatik-pc.de> (http://www.informatik-pc.de/blog/watchtheclock,https://sourceforge.net/projects/watchtheclock/).

WeatherMate (WeatherMate4)

by Ravi Bhavnani <ravib@ravib.com> (https://rhavib.com/wm/).

wget (binary port for Windows)

by Jernej Simoncic <jernej|s-website@eternallybored.org> (https://eternallybored.org/misc/wget/).

WinRoll

by Wil Palma (http://www.palma.com.au/winroll/).

WinSCP

by Martin Prikryl (https://winscp.net/).

WinTail

by Alberto Andreo <https://sourceforge.net/u/albertoandreo/profile/> (https://sourceforge.net/projects/wintail/, http://www.tailforwindows.net/).

WindowResizer

by caoyue <https://github.com/caoyue> (https://github.com/caoyue/WindowResizer).

WindowTabs

by Maurice Flanagan <https://github.com/mauricef>, leafOfTree <https://github.com/leafOfTree> (https://github.com/mauricef/WindowTabs, https://github.com/leafOfTree/WindowTabs/releases).

WinFontsForAll

by apps.walialu.com (https://apps.walialu.com/winfontsforall/).

wma2wav

by Lord Mulder <http://muldersoft.com/> (https://github.com/lordmulder/wma2wav/releases).

WScheduler

by splinterware software solutions (https://www.splinterware.com/products/scheduler.html).

wv_player

by J.M. Falcao (http://www.webxpace.com/software/freeware.shtml#WvPlayer).

XMLEdit (aka. STDUXMLEditor)

by www.stdutility.com (http://www.stdutility.com/stdu-xml-editor.html).

xlsx2csv

by Robert S. Doiel <rsdoiel@gmail.com> (https://rsdoiel.github.io/jsontools/xlsx2csv.html).

xml2csv

by unknown (https://code.google.com/archive/p/xml2csv-conv/).

xml2json

by Cheedoong (http://github.com/Cheedoong/xml2json/)

xxmklink

by Pixelab (http://www.xxcopy.com/xxcopy38.htm).

yellowpile

by Zoldan <zoldan@mail.ru> (http://yellowpile.zoldan.info/en/).

zip, unzip

by Ed Gordon, Christian Spieler, Mike White, Dirk Haase and many others (http://www.info-zip.org/).

LICENSE

Copyright © 2007 - 2023 Christian Walther

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

A copy of the GNU General Public License is distributed with WA2L/WinTools and is saved in WA2LWinTools/man/COPYING .

Check on Sourceforge ( http://sourceforge.net/projects/wa2l-wintools/ ) for the most recent version of the WA2L/WinTools package.

BUGS

-

AUTHOR

WA2L/WinTools was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

NAME AVAILABILITY DESCRIPTION COMMANDS 1 7 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z FILES SEE ALSO NOTES LICENSE BUGS AUTHOR

This document was created by man2html using the manual pages.

Time: 13:55:04 GMT, October 29, 2024

wtshell

TOC Index

NAME

wtshell - interactive shell in WA2L/WinTools environment

SYNOPSIS

WA2LWinTools/bin/wtshell

AVAILABILITY

WA2L/WinTools

DESCRIPTION

interactive command shell (cmd.exe) configured to run efficiently within the WA2L/WinTools environment. The wtshell provides some additional commands to the normal Windows™ command prompt. Invoke the usage command within wtshell to get an overview of all available commands.

COMMANDS

The following additional commands are only available when the shell is started (~built in commands / aliases). Those commands are intended to ease up the work when working interactively in the shell. Therefore this commands shall not be used within scripts.

The commands described here are also listed when the shell command usage is invoked.

HANDLE WORKING VARIABLES:

a [ something ]

set working variable %a% with the current working directory or something

b [ something ]

set working variable %b% with the current working directory or something

c [ something ]

set working variable %c% with the current working directory or something

d [ something ]

set working variable %d% with the current working directory or something

e [ something ]

set working variable %e% with the current working directory or something

f [ something ]

set working variable %f% with the current working directory or something

g [ something ]

set working variable %g% with the current working directory or something

abc

print %a% %b% %c% %d% %e% %f% %g% %p% %w% %TODAY%

abc [ a | b | c | d | e | f | g ]

load related saved working variable %a% %b% %c% %d% %e% %f% %g% (from other session).

today

set the variable %TODAY% with the current date in reverse notation (e.g.: 20181225).

%PATH% MANIPULATION:

addcwd

append current working directory to %PATH% (set PATH=%PATH%;cwd)

cwdadd

add current working directory to %PATH% (set PATH=cwd;%PATH%)

path

displays or sets a search path for executable files.

The path command is an alias (=doskey macro) to the pathlist command. Therefore when you enter the path command interactively you actually start the pathlist command.

pathlist [-h|/?|-l] | [;] | [[[ drive :] path [; ... ][;%PATH%]]

extended path command, as printing the directories that are listed in the %PATH% variable line-by-line for better visibility.

CHANGE DIRECTORIES:

wtprompt

set prompt and toggle tailing path backslash in command prompt on subsequent wtprompt calls.

cd [ drive: | label: ] [ path ]

displays the name of the directory or changes the current directory.

The cd command is an alias (=doskey macro) to the godir command. Therefore when you enter the cd command interactively you actually start the godir command.

cd .. [ number |

go up number of levels in one go. E.g. cd .. 3 changes director up 3 levels (equal to: cd ..\..\..).

cda [ subdirectory ]

cd %a%

cdb [ subdirectory ]

cd %b%

cdc [ subdirectory ]

cd %c%

cdd [ subdirectory ]

cd %d%

cde [ subdirectory ]

cd %e%

cdf [ subdirectory ]

cd %f%

cdg [ subdirectory ]

cd %g%

cdp

cd %p%. The %p% variable contains the working directory of the last wtshell start.

cdw

cd %w%. The %w% variable contains the working directory before wtshell was started.

cdx [ drive: | label: ]

cd to the same working directory on another drive.

cdbin

cd WA2L/WinTools bin/

cdetc

cd WA2L/WinTools etc/

cdlib [ subdirectory ]

cd WA2L/WinTools lib/

cdlog

cd WA2L/WinTools var/log/

cdman [ subdirectory ]

cd WA2L/WinTools man/

cdscr

cd WA2L/WinTools var/scripts/

cdtmp [ subdirectory ]

cd WA2L/WinTools var/tmp/

cdtemp [ subdirectory ]

cd system temporary dir %TMP%

cdsw

cd WA2L/WinTools var/sw/

cdvar [ subdirectory ]

cd WA2L/WinTools var/

cddb [ subdirectory ]

cd WA2L/WinTools var/db/

cdbkp [ subdirectory ]

cd to the installation directory of WA2L/SimpleBackup. This command is only available if the WA2L/SimpleBackup package is installed beside the WA2L/WinTools package.

cdwts [ subdirectory ]

cd to the installation directory of WA2L/WinTools.

cdbx [ subdirectory ]

cd to Dropbox directory.

cdod [ subdirectory ]

cd to OneDrive directory.

cddesktop

cd to users 'Desktop' directory %USERPROFILE%/Desktop/

cdsendto

cd to users 'Send To' menu %APPDATA%/Microsoft/Windows/SendTo/

cdstart [ subdirectory ]

cd to users Windows™ 'Start' menu %APPDATA%/Microsoft/Windows/Start Menu/Programs/

cdstartup

cd to users 'Startup' menu %APPDATA%/Microsoft/Windows/Start Menu/Programs/Startup/

cdmydoc [ subdirectory ]

cd to myDocuments/ directory.

expl [ directory ]

open 'Microsoft™ Windows Explorer' with the current working directory if no other directory is specified.

godir [ drive: | label: ] [ path ]

change directory similar as the command cd, but if you change to a path on an other drive you don't have to enter the /d option (e.g. cd /d c:\windows ) entering godir c:\windows is sufficient.

Furthermore the ret command can return to directories visited using the godir command.

The godir command also understands labels, see lpath(3) for more information on labels.

godir .. [ number |

go up number of levels in one go. E.g. godir .. 3 changes director up 3 levels (equal to: cd ..\..\..).

ret

return (cd) to previous directory.

HELP:

usage [ what ]

print short usage of command.

The custom files in the scripts directory var/scripts/ are also searched for usage entries. The usage of executables or 3rd party scripts can be listed in the var/scripts/usage-scripts.list file.

Invoke usage -h or usage -t to display the required usage entry format in scripts or in the usage-scripts.list file to enable the usage command to query/list the entries.

apropos keyword

search whatis database for strings.

whatis keyword

search whatis database for commands.

alias [ name ]

list defined command aliases (=doskey macros).

LIST FILES AND DIRECTORIES:

ls [ options ] [ file... ]

list files (ls).

ll [ options ] [ file... ]

list files (ls -la).

lssp [ -s site ] -f folder

list files of a Sharepoint™ site.

lsw [ options ] file...

list files. The lsw command supports multiple wildcards in file selection path.

SYSTEM COMMANDS:

df [ options ] [ drive... ]

displays free disk space.

drives [ options ]

display available drives with drive-letter, volume name and capacity.

ifconfig [ options ]

display- and change network interface configuration. This command is an alias for the ipconfig command.

nice pid [ priority ]

change execution priority of a process referenced by pid.

bg command [ options ]

start command in background.

pid [ options ]

list running processes.

ps [ options ]

list running processes.

process [ processname ]

list running processes with Caption, CommandLine, Name and ProcessId.

top [ options ]

list running top processes.

ntop [ options ]

list running top processes.

uptime

print system uptime.

ptime command [ arguments ]

run the specified command and measure the execution time (run time) in seconds, accurate to 5 millisecond or better.

kill [ options ]

kill running processes.

wtkill processname

kill processes by processname.

handle [ options ] [ name ]

List open files and directories.

Ever wondered which program has a particular file or directory open? Now you can find out. handle is a utility that displays information about open handles for any process in the system. You can use it to see the programs that have a file open, or to see the object types and names of all the handles of a program.

sysinfo [ options ]

print various hardware and software information of the local system.

FILE MODIFICATION COMMANDS:

recycle [ file... ]

Send files to, restore files from, rename, delete, and list files in, and empty the Recycle Bin.

mv [ options ] source dest

move (rename) files.

lsmv [ file... ]

list move commands to efficiently rename files.

The usage idea is the following:

lsmv > t.bat

vi t.bat

t.bat

del t.bat

or:

lsmv > t.bat

np t.bat

t.bat

del t.bat

where first a list of move (mv) commands are written to a temporary batch file which is loaded to the vi or np (=notepad2) editor and the target names of the move commands are adjusted.

Then the batch file t.bat is executed what would rename the files. Finally the batch file is removed again.

lscp [ file... ]

list copy commands to efficiently copy files.

The usage is analogous to the lsmv command.

touch [ options ] file...

change file stamp's.

FILE CONTENT HANDLING COMMANDS:

awk [ options ] [ file... ]

pattern-directed scanning and processing language.

gawk [ options ] [ file... ]

pattern-directed scanning and processing language.

cat [ options ] [ file... ]

concatenate or display files.

Hint: If you like to quickly add line numbers to a file, use the -n option.

catio < filelist

cat files listed in a filelist.

indent [ -e ] [ with ]

continuous output of characters received via stdin with a leading indent (width) on each line.

od [ options ] [ file... ]

dump files in octal and other formats.

print_list [ "sep" [ ind ]]

format CSV data to a list with dynamic column widths.

select_columns "sep" "LIST"

select named columns from CSV stream.

tac [ options ] [ file... ]

concatenate or display files. The line order of the files is reverted (last line first).

tail [ options ] [ file... ]

print last line(s) of file or from stdin.

tf filter file...

transform file using (g)awk filter.

The filter file is an awk(3) or gawk(3) script that has to be located in the WA2LWinTools/var/scripts/ directory. The file name format is tf.filter.awk to be handled with the tf command.

tr [ options ] SET1

translate and delete characters.

tee [ options ] [ file... ]

read from standard input and write to standard output and files.

head [ options ] [ file... ]

print first line(s) of file or from stdin.

cut [ options ] [ file... ]

print selected parts of a line.

strings [ options ] [ file... ]

display printable strings in [file(s)] (stdin by default)

egrep [ options ] pattern [ file... ]

grep for regular expressions.

grep [ options ] pattern [ file... ]

grep for regular expressions.

fgrep [ options ] string [ file... ]

grep for strings.

sed [ options ] [ file... ]

stream editor.

comm [ options ] file1 file2

compare sorted files.

diff [ options ] file1 file2

show differences of files.

split [ options ] [ INPUT [ PREFIX ]]

Output fixed-size pieces of INPUT to PREFIXaa , PREFIXab , ...; default prefix is `x'. With no INPUT , or when INPUT is - , read standard input.

join [ options ] file1 file2

join lines of two files that have identical fields.

uniq [ options ] [ input [ output ]]

discard all but one of successive identical lines from input (or standard input), writing to output (or standard output).

uxsort [ options ] [ file... ]

unix file sort command. On Unix/Linux systems, this command is named sort. It is named uxsort on Windows™ systems, due to the fact that the Windows™ operating system provides an own sort command that would interfere with the one bundled with WA2L/WinTools.

junction [ -s ] [ -q ] file or directory

list Windows™ junction points, where a directory serves as an alias to another directory on the computer.

expand [ options ] [ file... ]

convert tabs in each file to spaces writing to standard output. With no file, or when file is -, read standard input.

unexpand [ options ] [ file... ]

convert spaces in each file to tabs writing to standard output. With no file, or when file is -, read standard input.

less [ options ] [ file... ]

display files (page-wise) on the console. The less command is an improved version of the more command.

lscomp [ archive ]

list files in a (compressed) archive without unpacking the archive in short format (similar to ls -1).

llcomp [ archive ]

list files in a (compressed) archive without unpacking the archive in long format (similar to ls -al).

catcomp [ archive dir/subdir/file ]

display file from a (compressed) archive on stdout without unpacking the archive.

lscol file.csv

list columns of a comma- or semicolon separated CSV file.

FILE INFORMATION COMMANDS:

revision [ file... ]

Print revision of a selection of files in the current working directory examined from the file header.

This helps to get a quick overview of the revision and the last revision history entry of files located in a certain directory.

The file header must have the format:

[##] DD.MM.YYYY INi Revision history text

Example Windows™ batch file:

@echo off

rem

rem sav.cmd - save file to file.<TODAY>.suffix

rem

rem [00] 17.03.2007 CWa       Initial Version

rem [11] 07.12.2016 CWa       chg: usage message

rem

Example configuration file:

#

# C:\Windows\System32\drivers\etc\hosts - host names

#

# [00] 28.02.2001 ???   Initial Version

# [01] 28.02.2001 CWa   +rh7ws001

#

#

127.0.0.1       localhost

192.168.75.1    rh7ws001

The files with the following suffixes are resolved: .1, .1m, .3, .4, .ada, .asm, .au3, .awk, .bas, .bat, .bib, .c, .c++, .cfg, .cmd, .conf, .cpp, .cs, .css, .dat, .dok, .dem, .ebnf, .go, .gpl, .htm, .html, .inc, .index, .ini, .java, .js, .ksh, .list, .log, .lua, .map, .md, .md5, .meta, .opt, .pas, .ps1, .py, .sh, .sql, .tcl, .tpl, .tex, .txt, .var, .vbs, .ver and .xml.

To add more suffixes to be resolved, set the SUFFIXES=.suff_1;.suff_2;.suff_n setting in the etc/revision.cfg file.

stat [ file... ] file...

display file or file system status.

name [ file... ]

Print a description of a selection of files in the current working directory examined from the file header.

This helps to get a quick overview of the purpose of files located in a certain directory.

The file header must have the format:

filename - the description text

or:

path/filename - the description text

Between the filename , the - and the description text has to be only one space each.

The filename has to be identical to the real filename but differences in upper-/lowercase are ignored.

Example SQL script:

--

-- TopTen.sql - Reports lists DB statistics

--

-- [00] 31.1.2003 CWa Initial Version

--

select

a.tablespace_name,

a.bytes/1024 as total_kbytes,

Example C++ program file:

/*

* Commands\timedat\indent.cpp - print indented stream

*

* [00] 07.02.2014 CWa        Initial Version

* [01] 08.02.2014 CWa        chg: default indent to 4

* [02] 10.05.2014 CWa        cor: header text

*

*/

#include <iostream>

#include <stdlib.h>

The name command can resolve files with the same suffixes as the revision command plus .exe and .dll files.

See revision for a list of predefined file suffixes that are computed.

To add more suffixes to be resolved, set the SUFFIXES=.suff_1;.suff_2;.suff_n setting in the etc/name.cfg file.

fun [ selection ] [ file ]

Print short description of selected functions from file. When no selection is made all functions from the file are listed.

The function short description header must have one of the following formats to be processed:

# function -- description text

' function -- description text

// function -- description text

-- function -- description text

rem function -- description text

Example Windows™ batch file:

rem filesize "path" -- set !size! to file size

rem

:filesize

set size=%~z1

exit /b 0

goto:eof

Example AWK program file:

# timeout(seconds) -- sleep for seconds

#

function timeout(seconds){

exec("sleep " seconds)

} # timeout

Example C++ program file:

// year() -- return current year as string

//

string year(){

time_t epoch = time(NULL);

struct tm * t = localtime (&epoch);

return to_string(t->tm_year+1900);

} // year

wc [ options ] [ file... ]

Print newline, word, and byte counts for each file, and a total line if more than one file is specified. A word is a non-zero-length sequence of characters delimited by white space.

md5sum [ options ] [ file... ]

calculate a MD5 check sum of a file.

FILE SEARCH COMMANDS:

which [ options ] executable

search for first occurrence of an executable in %PATH%.

uxfind [ options ]

search for files.

FILE COPY COMMANDS:

robocopy source destination [ options ]

robust file copy with support for long file names.

cp [ options ] source destination

copy file(s) from source to destination.

FILE COMPRESSION COMMANDS:

gzip [ options ] [ file... ]

compress and uncompress files into a *.gz file.

zip [ options ] file.zip file...

compress file(s) into a *.zip file.

See also: llcomp and lscomp to list contents of a *.zip file without decompression.

unzip [ options ] file.zip

uncompress files from a *.zip file.

See also: llcomp and lscomp to list contents of a *.zip file without decompression.

SPECIAL PURPOSE COMMANDS:

banner "text"

print the given text (up to 10 characters as big banner letters.

bc [ options ] [ file... ]

an arbitrary precision calculator language.

dc [ options ] [ file... ]

an arbitrary precision RPN calculator language.

false

return 1, respectively set the %ERRORLEVEL% variable to 1.

true

return 0, respectively set the %ERRORLEVEL% variable to 0.

gclip [ options ]

get Windows™ clipboard text from stdin.

Create an ordered list of all MP3 files in a directory and send the output to the clipboard (e.g. to paste the list into a document):

[ h:\data\example\myMusic ]

[ fred@ACME001 ][*wtshell*/cmd]: dir /o /b *.mp3 | gclip

Create the same list of music files without the .mp3 suffix (=substitute the last 5(!) characters with nothing):

[ h:\data\example\myMusic ]

[ fred@ACME001 ][*wtshell*/cmd]: dir /o /b *.mp3 | sed "s/.\{5\}$//" | gclip

or

[ h:\data\example\myMusic ]

[ fred@ACME001 ][*wtshell*/cmd]: dir /o /b *.mp3 | sed "s/.....$//" | gclip

pclip [ options ]

put the Windows™ clipboard text to stdout.

Save a list selected and copied to the clipboard using Control+C from Excel™ to a file to be used for additional processing:

-> open an Excel Workbook in Excel

-> select related data in the Worksheet

-> press Control+C

[ h:\data\example\lists ]

[ fred@ACME001 ][*wtshell*/cmd]: pclip > example.txt

history, hist

print history list of entered commands in the shell.

r command

re-execute last command from history.

make [ options ] [ target ] ...

GNU make. Build targets based on dependency ruled defined in a Makefile.

month [ options ]

print month(s) calendar to console.

setusage "usage" "short description"

set short usage description in dynamic usage list (var/db/shell/usage-dynamic.list). This to make the usage command to show the short usage description of commands only if enabled (by the section command, for example).

See the example for the section command below.

section ON | OFF "text"

enable or disable a settings section in the etc/wtshell.cfg file without the need to comment out sections that should be skipped.

Example:

rem

rem WA2LWinTools\etc\wtshell.cfg - config for wtshell

rem

rem [00] 06.12.2016 CWa Initial Version

rem

echo initialize ...

rem set HTTP(S)_PROXY

rem

section ON PROXY && goto PROXY

call proxy >nul 2>&1

:PROXY

rem JDK settings

rem

section OFF JDK && goto JDK

set JAVA_HOME=%~d0\bin\JDKPortable

set PATH=%PATH%;%JAVA_HOME%\bin

:JDK

rem add additional aliases

rem

section ON ALIASES && goto ALIASES

doskey cdprog=godir "%~d0\dat\prog"

setusage "cdprog" "cd %~d0/dat/prog/"

doskey cdws=godir "%USERPROFILE%\Documents\var\Workspace"

setusage "cdws"   "cd MyDocuments/var/Workspace/"

:ALIASES

echo. && echo done.

This example will execute call proxy and set the additional aliases (=doskey macros) but will skip the setting of the JAVA_HOME and PATH variables needed by the Java Development Kit (JDK).

When the environment variable WA2L_SECTION_PRINT is not set to False (in the configuration file etc/wtshell.cfg) it is printed if a section is activated as follows:

[ON ] PROXY

[OFF] JDK

[ON ] ALIASES

To print the activated ([ON ]) sections only, set WA2L_SECTION_PRINT to ON and to print the deactivated ([OFF]) sections only, set it to OFF.

yes [ string ]

output a string repeatedly until killed.

xargs [ options ] [ command [ initial-arguments ]]

xargs reads items from the standard input, delimited by blanks (which can be protected with double or single quotes or a backslash) or newlines, and executes the command (default is echo) one or more times with any initial-arguments followed by items read from standard input. Blank lines on the standard input are ignored.

yargs [ options ] [ command [ initial-arguments ]]

yargs reads items from the standard input delimited by newlines and executes the command (default is echo) with any initial-arguments followed by items read from standard input. Blank lines on the standard input are ignored.

NETWORKING COMMANDS:

curl [ options ] url

curl is a tool to transfer data from or to a server, using one of the supported protocols (DICT, FILE, FTP, FTPS, GOPHER, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNET and TFTP). The command is designed to work without user interaction.

doh [ -t type ] -q query

query DNS records (=type) over http. This allows similar queries as when using the nslookup command. The doh name lookup is internet based.

whois [ -v ] domainname [ whois.server ]

query whois DNS registration information.

woh -q query

query WHOIS records over http. This allows similar queries as when using the whois command. The woh name lookup is internet based.

DownloadFile -s URL -d file [ -b ]

DownloadFile is a utility to download a file addressed in a URL to a local file.

DownloadFile -l -s URL -d file [ -t timeout ] [ -z timezone ]

DownloadFile -l is a utility to continuously download a file addressed in a URL to a local file appending a timestamp to the downloaded filename.

If the -z timezone option or the TZ=timezone environment variable is set, the timestamp of the specified POSIX timezone is used.

Examples:

-z UTC      England/London (Greenwich Mean Time)

-z UTC+8    USA/Santa Barbara

-z UTC+5    Peru/Lima

-z UTC-1    Switzerland/Beringen

-z UTC-2    Switzerland/Beringen (Daylight Saving Time)

-z UTC-10   Australia/Sydney

See also: https://www.timeanddate.com/time/map/ for additional information.

MapDrive drive: servershare [ timeout ] [ username ] [ password ]

Makes mapping network drives startup reliable. If the drive mapping fails, the program will keep attempting to create the mapping until the specified timeout is reached.

proxy [ options ]

apply settings defined in the etc/proxy.hostname.cfg , etc/proxy.domainname.cfg or etc/proxy.cfg configuration file.

If you want to apply the proxy settings automatically on each wtshell start, add the following entry to the etc/wtshell.cfg configuration file:

call proxy

plink [ options ] [ user@]host

command line SSH client.

ssh [ options ] [ user@]host

command line OpenSSH SSH client.

telnet [ options ] [ host [ port ]]

command line TELNET client.

psftp [ options ] [ user@]host

command line SFTP client.

sftp options

command line OpenSSH SFTP client.

pscp options

command line SCP client.

scp options

command line OpenSSH SCP client.

ssh-keygen options

public- and private key generation for the command line OpenSSH client commands ssh, sftp and scp.

wget [ options ] url

wget is a utility for non-interactive download of files from the Web. It supports HTTP, HTTPS, and FTP protocols, as well as retrieval through HTTP proxies.

CONSOLE HANDLING COMMANDS:

max

maximize the console window to full screen.

norm

resize the console window to normal size.

clear

clear screen as the Windows™ command cls does.

exit

quit the shell.

The exit command is an alias (=doskey macro) to the quit command. Therefore when you enter the exit command interactively you actually start the quit command.

quit

quit the shell and save the current working directory to the %p% variable.

OPTIONS

-

ENVIRONMENT

%_SHELL%

this variable is set to wtshell.

%a%, %b%, %c%, %d%, %e%, %f%, %g%

working variable set/read by a, b, c, d, e, f, g and abc.

%TODAY%

date variable containing the current date, set by today and read by abc.

%p%

working directory of the last wtshell start. Subsequent starts of wtshell will set this directory as initial working directory. This variable is read by cdp and abc.

%w%

working directory before wtshell was started and is read by cdw and abc.

%WA2L_INSTALLDIR%

installation base directory of the WA2L/WinTools package.

EXIT STATUS

0

always.

FILES

etc/wtshell.cfg

optional configuration file for the wtshell command.

The etc/wtshell.cfg file is a Windows™ BATCH (*.bat) file and has therefore to comply to the conventions of a BATCH file.

If you want to apply the proxy settings automatically on each wtshell start, add the following entry to the etc/wtshell.cfg configuration file:

call proxy

To skip the execution of the etc/wtshell.cfg file press and hold the SHIFT key during startup of wtshell. You will see the message

wtshell-INFO: fast start without reading wtshell.cfg

during start if you do so.

See also section command in SPECIAL PURPOSE COMMANDS to conveniently enable/disable a group (=section) of settings in the wtshell.cfg file.

var/scripts/

location for own scripts (and/or executables).

This directory is automatically added to the %PATH% variable and therefore the scripts added to that directory are available when using wtshell.

This directory is not changed when installing/upgrading the WA2L/WinTools package with the exception of the provided example scripts (gpx2kml and gpx2csv).

When adding scripts to the var/scripts/ directory you also might consider to add a short usage line (see: usage command above) to the script. Doing this your script also appears in the output of the usage [ selection ] command.

var/scripts/usage-scripts.list

short usage descriptions for executables or 3rd party scripts that you don't want to change. Commands listed in this file will also be listed when using the usage [ selection ] command.

The entry is identical to the ones added to scripts. See output of usage -h or usage -t to see usage entry templates/examples.

var/db/shell/

this directory holds persistent information to be used in subsequent calls of wtshell.

lib/shell/

here all additional commands provided by the wtshell are stored. Do not add/change files in this directory, add own scripts or executables to the var/scripts/ directory.

lib/shell/shellrc.cmd

This is the startup script that initializes the wtshell.

%USERPROFILE%/wtshell.cmd

shell start-script in user home (%USERPROFILE%).

This command is useful when connecting to the system thru the OpenSSH Server on a Windows™ system and quickly starting the enhanced shell wtshell without the need to change to the installation directory of the WA2L/WinTools package; you can then simply call wtshell.

This file is added/removed when selecting the related option in the config command or using the lib/config.SHELL [ -i | -u ] command.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), awk(3), banner(1), bc(1), cat(1), catio(1), catcomp(1), comm(1), console(1m), cp(1), curl(1), cut(1), dc(1), df(1), diff(1), doh(1), downloadfile(1), drives(1), egrep(1), expand(1), fgrep(1), gawk(3), grep(1), gzip(1), handle(1), head(1), ifconfig(1m), indent(3), join(1), less(1), kill(1), ll(1), llcomp(1), ls(1), lscol(1), lscomp(1), lscp(1), lsmv(1), lssp(1), lsw(1), make(1), man(1), md5sum(1), mv(1), ncat(1), nice(1), np(1), notepad2(1), ntop(1), od(1), plink(1), plink.Readme(1), print_list(3), proxy(3), proxy.cfg(4), ps(1), pscp(1), psftp(1), psftpReadme(1), recycle(1), rm(1), regexintro(4), robocopy(3), scp(1), sed(1), sed1line(1), select_columns(3), sftp(1), ssh(1), ssh-keygen(1), split(1), stat(1), strings(1), tac(1), telnet(1), test(3), tf(1), tf.cfg(4), tail(1), tee(1), tr(1), touch(1), unexpand(1), unzip(3), uptime(1), uniq(1), uxfind(1), uxsort(1), wc(1), wget(3), whatis(4), which(1), whois(1), woh(1), wtshell.cfg(4), vi(1), vim(1), wtkill(1), yes(1), xargs(1), yargs(1), zip(3), https://github.com/PowerShell/Win32-OpenSSH/releases, https://www.sysinternals.com/downloads/handle/, https://tartarus.org/~simon/putty-snapshots/htmldoc/Chapter7.html#plink, https://tartarus.org/~simon/putty-snapshots/htmldoc/Chapter6.html#psftp

NOTES

If wtshell is started connecting from remote using OpenSSH Server for Windows™ the Notepad2, np and vi, commands are aliases to the vim command.

BUGS

-

AUTHOR

wtshell was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2024 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION COMMANDS HANDLE WORKING VARIABLES: %PATH% MANIPULATION: CHANGE DIRECTORIES: HELP: LIST FILES AND DIRECTORIES: SYSTEM COMMANDS: FILE MODIFICATION COMMANDS: FILE CONTENT HANDLING COMMANDS: FILE INFORMATION COMMANDS: FILE SEARCH COMMANDS: FILE COPY COMMANDS: FILE COMPRESSION COMMANDS: SPECIAL PURPOSE COMMANDS: NETWORKING COMMANDS: CONSOLE HANDLING COMMANDS: OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:33:24 GMT, September 14, 2024

lpath

TOC Index

NAME

lpath - expand a path containing labels

SYNOPSIS

WA2LWinTools/lib/lpath [ -h | -V ]

lpath path

echo path | lpath

AVAILABILITY

WA2L/WinTools

DESCRIPTION

the lpath command translates labels to drive letters in a given directory path.

This helps to be independent of drive letters that might change when an external drive is connected to an other USB port or to an other system.

Labels that can be handled by lpath look like drive letters with more then one character:

data:\myData\Office

import:\Import\Measurements

USB-DISK1:\myImages\House

_DISK1_:\myProjects\Internal\2019

A label can be a directory that exists on a drive, as:

[ D:\bin\WA2LWinTools\bin ]

[ fred@acme007 ][*sbshell*/cmd]: mkdir f:\USB-DISK1

or the disk name that can be set thru Windows™ Explorer:

Explorer

→ right mouse-click on drive letter

→ General tab

→ Disk-Icon: name

→ [ OK ]

The lpath command first searches all drives for an existing directory (the label directory), if not found, the disk names are checked. Whenever a match is found lpath returns the path with the drive letter hat is currently assigned to the disk with the given label.

When using directories as labels you can use an existing directory that only exists on the addressed drive or (better) an extra created directory that then serves as label.

The label directory can be hidden using command line:

[ D:\bin\WA2LWinTools\bin ]

[ fred@acme007 ][*sbshell*/cmd]: attrib +H f:\USB-DISK1

or the Windows™ Explorer:

Explorer

→ right mouse-click on label directory

→ Properties

→ [x] Hidden

→ [ OK ]

OPTIONS

-h

help message.

-V

print program version.

path

path using labels or drive letters.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage printed.

5

version printed.

FILES

-

EXAMPLES

1) translate label to drive letter

[ D:\bin\WA2LWinTools\lib ]

[ fred@acme007 ][*sbshell*/cmd]: lpath data:\exports\weekly

g:\exports\weekly

2) drive letters are not translated

[ D:\bin\WA2LWinTools\lib ]

[ fred@acme007 ][*sbshell*/cmd]: lpath r:\exports\weekly

r:\exports\weekly

3) use lpath in a script

set input=data:\exports\weekly

for /f "tokens=*" %%r in ('echo !input!^| lpath') do set input=%%r

if not exist "!input!" echo ERROR: input dir not found && exit /b 1

4) a more complete example script

The following script copies data from an 'out box' directory located on drive d:\ to the 'in box' directory of an USB stick labeled ACME-USB-STICK.

@echo off

rem

rem WA2LWinTools/var/scripts/datacopy.cmd - example script to copy data

rem

rem [00] 30.04.2019 CWa       Initial Version

rem

rem usage: datacopy                    - copy data to ACME USB stick [scripts]

rem Const

rem

setlocal EnableDelayedExpansion

call:lset outbox "d:\data\ACME\out box"

call:lset inbox  "ACME-USB-STICK:\in box"

goto MAIN

rem lset variable "path" -- set variable with resolved label path

rem

:lset

set lset_path=%~2

for /f "tokens=*" %%r in ('echo !lset_path!^| "%~dp0..\..\lib\lpath"') do set %1=%%r

set lset_path=

goto:eof

rem MAIN -- main

rem

:MAIN

echo.

echo Copy files from OUT-BOX to IN-BOX on USB-Stick

echo.

echo OUT-BOX .....: !outbox!

echo IN-BOX ..... : !inbox!

echo.

choice /C NY /M "Copy data?"

if errorlevel 2 copy "!outbox!\*.*" "!inbox!\"

endlocal

rem MAIN

which generates the following output if the USB stick to transfer data is currently assigned to the G:\ drive:

[ h:\ ]

[ fred@acme007 ][*sbshell*/cmd]: datacopy

Copy files from OUT-BOX to IN-BOX on USB-Stick

OUT-BOX .....: d:\data\ACME\out box

IN-BOX ..... : G:\in box

Copy data? [N,Y]?Y

d:\data\ACME\out box\concept.docx

d:\data\ACME\out box\cost.xlsx

d:\data\ACME\out box\plan.pdf

3 file(s) copied.

The procedure :lset here is defined to conveniently set the given variable with the related path using the lpath command internally.

With the result that a path definition with a label (as: !inbox! variable) is translated to the related current drive letter and a path setting with a drive letter (as: !outbox! variable) is kept unchanged.

See https://ss64.com/nt/commands.html for excellent Windows™ cmd.exe scripting descriptions.

SEE ALSO

wintoolsintro(1), appstart(3), appstart.cfg(4), name(1), revision(1), usage(1), https://ss64.com/nt/commands.html

NOTES

-

BUGS

lpath cannot resolve disk names of network drives. However label directories on network drives can be used.

AUTHOR

lpath was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:16 GMT, September 14, 2024

appstart.cfg

TOC Index

NAME

appstart.cfg - configuration file for appstart and run

SYNOPSIS

WA2LWinTools/etc/appstart.cfg

AVAILABILITY

WA2L/WinTools

DESCRIPTION

This is the optional configuration file for the appstart (1) and run (1) command.

FILEFORMAT

Rows starting with a # are considered as comments.

The file format is OPTION=VALUE

Between the OPTION, the = and the VALUE are no spaces.

OPTIONS

SEARCHPATH

base path where the executable that is started by appstart is searched, where the executable is normally specified as "subdirectory\aProgram.exe".

You can use the same additional (environment)variables as in the EXECUTABLE and OPTIONS column in run.cfg(4).

To identify a drive you can also use labels what makes the configuration file settings more independent from the actual drive letters.

See appstart(1) and lpath(3) for a description of labels.

See run.cfg(4) for a description of the environment variables.

Example: SEARCHPATH=USB-DISK:\programs;%INSTALLDRIVE%:\bin

Example: SEARCHPATH=%USERPROFILE%\Documents\programs;%INSTALLDRIVE%:\bin

Example: SEARCHPATH=%USERPROFILE%\Documents\programs;%INSTALLDRIVE%:\programs

Default: SEARCHPATH=%USERPROFILE%\Documents\bin;%ProgramFiles(x86)%;%SystemDrive%\Program Files;%INSTALLDIR%;%INSTALLDRIVE%:\bin;%INSTALLDIR%\bin

PATH_PRE

semicolon separated path prepended to the %PATH% environment variable.

You can use the same additional (environment)variables as in the EXECUTABLE and OPTIONS column in run.cfg(4).

To identify a drive you can also use labels what makes the configuration file settings more independent from the actual drive letters.

See appstart(1) and lpath(3) for a description of labels.

See run.cfg(4) for a description of the environment variables.

Example: PATH_PRE=USB-DISK:\bin\OpenJDK64Portable\17.0.9+9\bin

Example: PATH_PRE=d:\bin\OpenJDK\bin;h:\binOpenJRE\bin

Default: PATH_PRE=

VARIABLE

Additional VARIABLEs that can be used in the OPTIONS column as %VARIABLE% of the run.cfg(4) config files.

Allowed variable definitions are ^[A-Z][0-9A-Z_]*=value whereas the value can be a label (see: lpath(3)) and can contain the same additional (environment)variables as in the EXECUTABLE and OPTIONS column in run.cfg(4).

Example: DATA=USB-DISK:

Default:

DEBUG

more verbose output.

Example: DEBUG=True

Default: DEBUG=False

EXAMPLES

-

SEE ALSO

wintoolsintro(1), appstart(1), hotkeyp(1), lpath(3), pstart(1), run(1), run.cfg(4)

NOTES

-

BUGS

-

AUTHOR

appstart.cfg was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2024 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION FILEFORMAT OPTIONS EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:31:41 GMT, September 14, 2024

run.cfg

TOC Index

NAME

run.cfg - application run definitions

SYNOPSIS

etc/run.hostname.cfg

etc/run.domainname.cfg

etc/run.cfg

AVAILABILITY

WA2L/WinTools

DESCRIPTION

This is the application start map file for the run command.

The configuration file(s) are read in the sequence: run.hostname.cfg -> run.domainname.cfg -> run.cfg when existing. The hostname is replaced by the %COMPUTERNAME% and domainname is replaced by the %USERDOMAIN% environment variable.

FILEFORMAT

Rows starting with a # are considered as comments.

APPLICATION;EXECUTABLE;OPTIONS;DESCRIPTION;

It is allowed to have multiple entries with the identical APPLICATION name. In this case the run command starts the first EXECUTABLE found. Doing this it is possible to start different versions of an application depending on availability on the related system always thru the same run APPLICATION call.

Where:

APPLICATION

Name of the application as you like to call it.

The APPLICATION field entry can be a comma separated list representing aliases of the same application:

Firefox,FF;FirefoxPortable\FirefoxPortable.exe;-private-window;

where the FirefoxPortable.exe can be started either calling run Firefox or run FF .

When calling run application the case of application does not need to match to the entry in the APPLICATION field.

When calling run -i application the shortcut on the 'Desktop' is precisely created as defined in the APPLICATION field (in upper-/lower-case as specified).

EXECUTABLE

executable definition as in appstart(1).

The run command supports to start executables with the suffixes .exe, .cmd and .bat.

To start executables with the suffixes .jar, .vbs, .ps1 or .lua an APPLICATION with the name run.suffix has to be defined in run.cfg to locate the related interpreter and to set the desired default options for it as for example:

#

# run.cfg - configuration file for run.exe

#

# [00] 20.07.2018 CWa Initial Version

#

APPLICATION;EXECUTABLE;OPTIONS;DESCRIPTION;

run.jar;bin\javaw.exe;-jar;start .jar from run;

run.lua;lib\lua.exe;;start .lua from run;

run.ps1;c:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe;-executionpolicy bypass -File;start .ps1 from run;

run.vbs;c:\Windows\system32\cscript.exe;//Nologo;start .vbs from run;

When specifying executables with other suffixes, then system wide file associations apply to load/start the related executable file.

The same (environment)variables as in the OPTIONS column can also be used in the EXECUTABLE column.

OPTIONS

options to be passed to the executable defined in EXECUTABLE.

The following time and date related variables can also be used in the OPTIONS column:

(The date used in the examples is February 26th, 1986 14:59:31)

%YEAR%

four digit year of today (e.g.: 1986).

%MONTH%

two digit month of today (e.g.: 02).

%DAY%

two digit day of month of today (e.g.: 26).

%HOUR%

two digit hour of time (e.g.: 14).

%MIN%

two digit minutes of time (e.g.: 59).

%SEC%

two digit seconds of time (e.g.: 31).

%YDAY%

three digit day number of the year (e.g.: 057).

%WDAY%

one digit day of week number, 0 represents Sunday (e.g.: 3).

The following (environment)variables can also be used in the OPTIONS column:

%COMPUTERNAME%

name of the computer.

%USERDOMAIN%

domain name of the computer.

%USERNAME%

user name of the logged on user.

%USERPROFILE%

path to the user's profile folder.

Defaults to: C:\Users\%USERNAME%

%ProgramFiles%

this environment variable points to Program Files directory, which stores all the installed program of Windows™ and others.

Defaults to: C:\Program Files

%ProgramFiles(x86)%

this environment variable points to Program Files directory, which stores all the installed program of Windows™ and others.

Defaults to: C:\Program Files (x86)

%ProgramW6432%

this environment variable also points to C:\Program Files directory.

%SystemDrive%

its value is the drive upon which the system folder was placed. The default value of %SystemDrive% environment variable is in most cases C:.

%TEMP%

this environment variable points to the default temporary folder that is used by the operating system and applications available to the currently logged on user. Some applications require %TEMP% and others require %TMP%, the values should be identical.

Defaults to: C:\Users\%USERNAME%\AppData\Locale\Temp

%TMP%

see: %TEMP%.

%APPDATA%

this environment variable points to the base location of where applications should store their data by default. It is up to the author as to what the application should store here, or if they choose to use this folder at all. This is a subdirectory of the user's profile folder.

Defaults to: C:\Users\%USERNAME%\AppData\Roaming

%INSTALLDIR%

installation directory of the WA2L/WinTools package.

Example: D:\programs\WA2LWinTools

%INSTALLDRIVE%

installation drive letter (without :) of the WA2L/WinTools package.

Example: D

%ARCHITECTURE%

Operating system type: 32 for a 32-bit and 64 for a 64-bit operating system.

%SEMICOLON%

this variable is replaced with ;.

DESCRIPTION

Free text description of the application.

The DESCRIPTION field is optional.

EXAMPLES

#

# run.cfg - configuration file for run.exe

#

# [00] 20.07.2018 CWa Initial Version

#

APPLICATION;EXECUTABLE;OPTIONS;DESCRIPTION;

Excel;Microsoft Office\Office14\excel.exe;;Spreadsheet;

Excel;Microsoft Office\Office16\excel.exe;;Spreadsheet;

GIMP;GIMPPortable\GIMPPortable.exe;;Photo Editor;

Firefox,FF;FirefoxPortable\FirefoxPortable.exe;-private-window;Web Browser;

XMind;XMindPortable\XMind 8 Update 1\XMind.exe;;Mind Mapping;

Gnuplot;Octave\octave-4.2.1\bin\wgnuplot.exe;;Math. Plotting;

Writer;OfficePortable\Writer.exe;;Text Editor;

SEE ALSO

wintoolsintro(1), appstart(1), appstart.cfg(4), run(1), http://environmentvariables.org/Category:Microsoft_Windows

NOTES

When using (environment) variables you can check your definitions using the command

[ h:\bin\WA2LWinTools\etc ]

[ fred@ACME007 ][*wtshell*/cmd]: ..\lib\cfgcat -f run.cfg

or

[ h:\bin\WA2LWinTools\lib ]

[ fred@ACME007 ][*wtshell*/cmd]: run -l | cfgcat -f -

to expand the variables.

BUGS

-

AUTHOR

run.cfg was developed by by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/doc/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION FILEFORMAT EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:54 GMT, September 14, 2024

appstart

TOC Index

NAME

appstart - start application from search dir

SYNOPSIS

WA2LWinTools/(bin|lib)/appstart [ -h | -V ]

appstart "subdir\executable" [ options ]

appstart "label:\dir\executable" [ options ]

appstart -p "subdir\executable"

appstart -p "label:\dir\executable"

AVAILABILITY

WA2L/WinTools

DESCRIPTION

IMPORTANT

Please read also the run(1) manual page.

The run command allows to save the "subdir\executable" or "label:\dir\executable" and options definitions in a central configuration file and start the related application thru an application name.

MODE: appstart "subdir\executable"

search a program that is installed in a specific subdirectory in a list of directories and start it from where it is found first.

This permits to install a program on several devices (as: USB-drive or local-drive etc.) and to start it from the (fastest) available drive without to have to change the startup shortcut or the start definition in pstart(1) or the hotkey setup in hotkeyp(1).

The search path can be specified in the optional configuration file etc/appstart.cfg using the SEARCHPATH=path1;path2;pathN... setting. The additional environment variables %INSTALLDIR% that points to the installation directory and %INSTALLDRIVE% that points to the installation drive of WA2L/WinTools can be used in the SEARCHPATH setting.

MODE: appstart "label:\dir\executable"

If you want to start a certain program from a specific disk this operation mode helps to be independent of possible changing drive letters when using the (external) disk on different systems or in different USB port locations.

The appstart command searches for the given label on all connected drives and starts the defined executable within the absolute path you defined in dir.

For example:

appstart myUSB-Stick:\Programs\GIMPPortable\GIMPPortable.exe

would search for a directory myUSB-Stick or the disk name myUSB-Stick on all connected drives and then uses the found drive letter to start the command.

If the label myUSB-Stick is found on drive P: for example, appstart starts the executable as follows:

P:\Programs\GIMPPortable\GIMPPortable.exe

In this mode the setting SEARCHPATH= is ignored.

OPTIONS

-h

usage message.

-V

print program version.

-p

print search matches and parameters for given "subdir\executable" respectively "label:\subdir\executable" without starting the target program. This to review the effect of the used command options.

"subdir\executable"

executable to be started from the location where first found in the SEARCHPATH as defined in the optional etc/appstart.cfg configuration file.

"label:\dir\executable"

executable to be started from the location where first found based on the labels on the disks present on the system.

A label can be a directory placed on the target disk or the disk name that can be set thru Explorer → right mouse-click on drive letter → General tab → Disk-Icon: name → [ OK ].

The dir\executable is the absolute path to the executable (eg.GIMPPortable.exe) without the drive letter.

This allows to start an executable for instance from an USB device whose drive letter changes on different systems or when changing your USB-hub configuration always thru the same startup command:

appstart myUSB-Stick:\Programs\GIMPPortable\GIMPPortable.exe

Where you created the directory myUSB-Stick in the topmost location on the USB stick. You can also hide the created directory.

options

options to the executable.

ENVIRONMENT

The following environment variables are added to the environment by the appstart command and are therefore available within the started commands:

%WA2L_START_FROM_TTY%

this variable is set to True when the appstart command was started from a command window (aka. tty), when started thru a double click directly or via 'Send To' menu the variable is set to False.

This environment variable then can be used in started *.cmd or *.bat files to react accordingly based on the start situation.

%WA2L_INSTALLDIR%

installation base directory of the WA2L/WinTools package.

%PATH%

the %PATH% environment variable is prepended by the setting of PATH_PRE=setting in etc/appstart.cfg.

EXIT STATUS

0

no error.

4

usage message displayed.

5

program version printed.

FILES

etc/appstart.cfg

optional configuration file for appstart(1) and run(1). See: appstart.cfg(4) for more information.

EXAMPLES

Suppose you installed the WA2L/WinTools package on a removable drive in the e:\bin\ directory (where the drive name e: might change on other systems or when plugging it into another USB port).

All portable software is also installed on the removable drive in the bin/ directory, each in it's own subdirectory.

To increase performance, you installed (=copied) certain applications in addition from the removable drive to your user home into the 'my Documents\bin\' directory (which is in reality: c:\users\Fred\Documents\bin\ respectively %USERPROFILE%\Documents\bin\).

1) use appstart in the PStart portable start menu

To start the applications you use the portable start menu pstart(1) which is bundled with WA2L/WinTools.

To avoid to have to create separate icons for the local and the portable installed programs you can use the appstart command as in the following examples:

GIMP (Gnu Image ManiPulator):

Application / file path: appstart.exe

Command line parameters: GIMPPortable\GIMPPortable.exe

Advanced > Window state: minimized

Gnuplot (Mathematical function plotting):

Application / file path: appstart.exe

Command line parameters: Octave\octave-4.2.1\bin\wgnuplot.exe

Advanced > Window state: minimized

Now when you are working on the PC where you copied the applications to the 'my Documents\bin\' directory or when you just have the removable device available, you can always click the same icon.

When you decide to change the installation directories of the software you just have to change the SEARCHPATH setting in the appstart.cfg(4) file, all the startup settings in PStart can stay the same.

You might notice that you see the >> icon of appstart in PStart for the created entries in the menu. To change this you can set an icon for each command:

To use an icon (*.ico) file:

Advanced > Replace icon: ..\var\icons\Gnuplot.ico

To extract an *.ico file from an executable, the icongrabber(1) command can be used.

2) use appstart in the HotkeyP portable hotkey manager

To start the applications you use the portable hotkey manager hotkeyp(1) which is bundled with WA2L/WinTools.

To avoid to have to create separate hotkeys for the local and the portable installed programs you can use the appstart command as in the following examples:

GIMP (Gnu Image ManiPulator):

Command:    appstart.exe

Parameters: GIMPPortable\GIMPPortable.exe

Window:     minimized

Gnuplot (Mathematical function plotting):

Command:    appstart.exe

Parameters: Octave\octave-4.2.1\bin\wgnuplot.exe

Window:     minimized

Now when you are working on the PC where you copied the applications to the 'my Documents\bin\' directory or when you just have the removable device available, you can always use the same hotkey.

When you decide to change the installation directories of the software you just have to change the SEARCHPATH setting in the appstart.cfg(4) file, all the hotkey settings in HotkeyP can stay the same.

SEE ALSO

wintoolsintro(1), appstart.cfg(4), hotkeyp(1), icongrabber(1), lpath(3), pstart(1), qsel(1), run(1), run.cfg(4), softwarelist(1)

NOTES

-

BUGS

-

AUTHOR

appstart was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION IMPORTANT MODE: appstart "subdir\executable" MODE: appstart "label:\dir\executable" OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:31:41 GMT, September 14, 2024

run

TOC Index

NAME

run - start application-executable using an application name

SYNOPSIS

WA2LWinTools/(bin|lib)/run [ -h | -V ]

run [ -w ] application [ options ]

run [ -p ] application

run [ -e ] application

run -l [ selection ]

run -i application [ options ]

run -u application

AVAILABILITY

WA2L/WinTools

DESCRIPTION

This command is similar to the appstart(1) command to start applications, but allows to start the applications more conveniently thru a short call: run application from within a start menu, a hotkey manager, from the users 'Desktop' or thru the command line interface.

When changing base installation directories, the SEARCHPATH in the etc/appstart.cfg file can be changed.

When changing application installation directories (versions etc.) only the mapping in the etc/run.cfg file must be changed and the applications can be started from all start possibilities without change.

OPTIONS

-h

usage message.

-V

print program version.

-i

create an application start shortcut on the users 'Desktop'.

Whenever an icon with the same name as the application exists in the var/icons/ or lib/icons/ directory, the desktop shortcut is created with that icon.

If there are no icons in the mentioned directories, run tries to extract the icon from the executable related to the specified application. The extracted icon is saved in var/icons/. If you don't like the extracted icon it must be replaced manually.

If it is also not possible to extract an icon the >> icon of the run command will be shown on the created 'Desktop' shortcut.

-u

remove the application start shortcut from the users 'Desktop'.

-p

print search matches and parameters for a given application without starting the target program.

-e

print first existing search match executable (START-EXECUTABLE) for a given application without starting the target program.

-l

list all applications defined in the etc/run.cfg file.

-w

set the working directory to the current directory. Default is to set the working directory to the directory of the resolved executable.

selection

regular expression to only list selected applications when using the -l option.

application

application name. The application name is not case sensitive.

options

optional additional options for the application. This options are appended to the OPTIONS defined in the configuration file etc/run.cfg.

ENVIRONMENT

The following environment variables are added to the environment by the run command and are therefore available within the started commands:

%WA2L_START_FROM_TTY%

this variable is set to True when the run command was started from a command window (aka. tty), when started thru a double click directly or via 'Send To' menu the variable is set to False.

This environment variable then can be used in started *.cmd or *.bat files to react accordingly based on the start situation.

%WA2L_INSTALLDIR%

installation base directory of the WA2L/WinTools package.

%PATH%

the %PATH% environment variable is prepended by the setting of PATH_PRE=setting in etc/appstart.cfg.

EXIT STATUS

0

no error.

4

usage message displayed.

1

error.

FILES

etc/run.hostname.cfg

etc/run.domainname.cfg

etc/run.cfg

configuration file(s) for run.

The configuration file(s) are read in the sequence: run.hostname.cfg -> run.domainname.cfg -> run.cfg when existing. The hostname is replaced by the %COMPUTERNAME% and domainname is replaced by the %USERDOMAIN% environment variable.

The configuration file is a CSV file of the format:

#

# run.cfg - configuration file for run.exe

#

# [00] 20.07.2018 CWa Initial Version

#

APPLICATION;EXECUTABLE;OPTIONS;

Excel;Microsoft Office\Office14\excel.exe;;

Excel;Microsoft Office\Office16\excel.exe;;

GIMP;GIMPPortable\GIMPPortable.exe;;

Firefox,FF;FirefoxPortable\FirefoxPortable.exe;-private-window;

XMind;XMindPortable\XMind 8 Update 1\XMind.exe;;

Gnuplot;Octave\octave-4.2.1\bin\wgnuplot.exe;;

Writer;OfficePortable\Writer.exe;;

See: run.cfg(4) for more information.

etc/appstart.cfg

optional configuration file of appstart(1) and run(1).

var/icons/

save own icons into that directory.

lib/icons/

icons distributed with WA2L/WinTools. Do not add/remove files in this directory, your changes might be lost after an upgrade of the WA2L/WinTools package.

The icons in var/icons/ have priority over this directory.

EXAMPLES

1) use run in the PStart portable start menu

To start the applications you can use the portable start menu pstart(1) which is bundled with WA2L/WinTools:

Excel (Microsoft™ Excel™ spreadsheet program):

Application / file path: run.exe

Command line parameters: Excel

Advanced > Window state: minimized

GIMP (Gnu Image ManiPulator):

Application / file path: run.exe

Command line parameters: GIMP

Advanced > Window state: minimized

Firefox (Start browser in private window):

Application / file path: run.exe

Command line parameters: Firefox

Advanced > Window state: minimized

X-Mind (Mind mapping):

Application / file path: run.exe

Command line parameters: XMind

Advanced > Window state: minimized

Gnuplot (Mathematical function plotting):

Application / file path: run.exe

Command line parameters: Gnuplot

Advanced > Window state: minimized

WPS Writer (Portable word processor):

Application / file path: run.exe

Command line parameters: Writer

Advanced > Window state: minimized

You might notice that you see the >> icon of run in PStart for the created entries in the menu. To change this you can set an icon for each command:

To use an icon (*.ico) file:

Advanced > Replace icon: ..\var\icons\Writer.ico

To extract an *.ico file from an executable, the icongrabber(1) command can be used.

Own (extracted) icons should be saved to the var/icons/ directory and should have the same name as the chosen application name.

An other possibility to quickly get the icon saved to var/icons/ is to invoke on the console(1m):

[ h:\bin\WA2LWinTools\bin ]

[ fred@ACME007 ][*wtshell*/cmd]: run -i Writer

[ h:\bin\WA2LWinTools\bin ]

[ fred@ACME007 ][*wtshell*/cmd]: run -u Writer

2) use run in the HotkeyP portable hotkey manager

To start the applications you can use the portable hotkey manager hotkeyp(1) which is bundled with WA2L/WinTools:

Hint: The PStart start menu command also allows to define hotkeys.

Excel (Microsoft™ Excel™ spreadsheet program):

Command:    run.exe

Parameters: Excel

Window:     minimized

GIMP (Gnu Image ManiPulator):

Command:    run.exe

Parameters: GIMP

Window:     minimized

Firefox (Start browser in private window):

Command:    run.exe

Parameters: Firefox

Window:     minimized

X-Mind (Mind mapping):

Command:    run.exe

Parameters: XMind

Window:     minimized

Gnuplot (Mathematical function plotting):

Command:    run.exe

Parameters: Gnuplot

Window:     minimized

WPS Writer (Portable word processor):

Command:    run.exe

Parameters: Writer

Window:     minimized

3) use run thru shortcuts on the users 'Desktop'

To start the applications you can create shortcuts on the users 'Desktop':

1. Start the Console:

Start Menu → WA2LWinTools → System → Console

2. Create the shortcuts using the following commands:

[ h:\bin\WA2LWinTools\bin ]

[ fred@ACME007 ][*wtshell*/cmd]: run -i Excel

[ h:\bin\WA2LWinTools\bin ]

[ fred@ACME007 ][*wtshell*/cmd]: run -i Gimp

[ h:\bin\WA2LWinTools\bin ]

[ fred@ACME007 ][*wtshell*/cmd]: run -i Firefox

[ h:\bin\WA2LWinTools\bin ]

[ fred@ACME007 ][*wtshell*/cmd]: run -i XMind

[ h:\bin\WA2LWinTools\bin ]

[ fred@ACME007 ][*wtshell*/cmd]: run -i Gnuplot

[ h:\bin\WA2LWinTools\bin ]

[ fred@ACME007 ][*wtshell*/cmd]: run -i Writer

4) use run to start the applications from the command line

To start the applications you can use the command line in the Console(1) or wtshell(1):

1. Start the Console:

Start Menu → WA2LWinTools → System → Console

2. start the applications:

[ h:\bin\WA2LWinTools\bin ]

[ fred@ACME007 ][*wtshell*/cmd]: run Excel

[ h:\bin\WA2LWinTools\bin ]

[ fred@ACME007 ][*wtshell*/cmd]: run Gimp

[ h:\bin\WA2LWinTools\bin ]

[ fred@ACME007 ][*wtshell*/cmd]: run Firefox

[ h:\bin\WA2LWinTools\bin ]

[ fred@ACME007 ][*wtshell*/cmd]: run FF

[ h:\bin\WA2LWinTools\bin ]

[ fred@ACME007 ][*wtshell*/cmd]: run XMind

[ h:\bin\WA2LWinTools\bin ]

[ fred@ACME007 ][*wtshell*/cmd]: run Gnuplot

[ h:\bin\WA2LWinTools\bin ]

[ fred@ACME007 ][*wtshell*/cmd]: run Writer

SEE ALSO

wintoolsintro(1), appstart.cfg(4), hotkeyp(1), icongrabber(1), pstart(1), qsel(1), run.cfg(4), runpopup(1), softwarelist(1)

NOTES

-

BUGS

-

AUTHOR

run was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:53 GMT, September 14, 2024

pstart

TOC Index

NAME

pstart - start PStart, the portable Start Menu

SYNOPSIS

WA2LWinTools/bin/pstart [ -h | -i | -u | -V ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

PStart is a simple tray tool to start user defined applications. Designed to run portable applications (like portable Firefox & Thunderbird), you can start anything executable from USB key devices or removable disks. See: http://www.pegtop.net/start/ for more information.

OPTIONS

-h

usage message.

Start pstart.

-i

install the pstart command to 'Startup' in the Windows Start Menu.

-u

uninstall the pstart shortcut from 'Startup' in the Windows Start Menu.

-V

print program version.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage message displayed.

5

version message displayed.

FILES

etc/pstart.xml

config file for pstart. This file is maintained by the pstart command.

var/cache/pstart/

copies of the etc/pstart.xml file.

This files are used when pstart has a problem loading the customized etc/pstart.xml file and uses an new empty configuration or if the etc/pstart.xml was unintentionally deleted.

You can also copy the var/cache/pstart/pstart.xml or a var/cache/pstart/pstart.<TIMEDAT>.xml file by hand to etc/pstart.xml to restore an old version of the configuration file.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), activehotkeys(1m), appstart(1), classicstartmenu(1m), config(1m), hotkeyp(1)

NOTES

Parts of this manpages were extracted from the documentation of PStart from http://www.pegtop.net/start/. See: http://www.pegtop.net/start/ for more information about PStart.

With PStart it is also possible to define hotkeys, but the more reliable option to define hotkeys is the use of the hotkeyp(1) command.

BUGS

-

AUTHOR

pstart was developed by 'PEGTOP Software' (see: http://www.pegtop.net/start/) and integrated into WA2L/WinTools by Christian Walther. Send suggestions and bug reports regarding to the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2022 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:46 GMT, September 14, 2024

ActiveHotkeys

TOC Index

NAME

ActiveHotkeys - show active hotkeys on the system

SYNOPSIS

WA2LWinTools/bin/ActiveHotkeys [ -h | -i | -u | -V ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

ActiveHotkeys detects what global keyboard shortcuts (hotkeys) are currently registered on the computer by various applications.

This helps you determine which hotkeys are in use, and which are still available.

OPTIONS

-h

usage message.

-i

install the ActiveHotkeys command on the Windows™ 'Desktop'.

-u

uninstall the ActiveHotkeys command from the Windows™ 'Desktop'.

-V

print program version.

ENVIRONMENT

-

EXIT STATUS

0

always.

4

usage displayed.

5

version message displayed.

FILES

etc/ActiveHotkeys.cfg

configuration file for the command maintained by ActiveHotkeys.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), config(1m), hotkeyp(1), pstart(1)

NOTES

Parts of this manpages were extracted from the application help of ActiveHotkeys .

BUGS

-

AUTHOR

ActiveHotkeys was developed by by Marek Jedlinski <marek@tranglos.com> and integrated into WA2L/WinTools by Christian Walther. Send suggestions and bug reports regarding the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:31:40 GMT, September 14, 2024

config

TOC Index

NAME

config - config of WA2L/WinTools

SYNOPSIS

WA2LWinTools/bin/config [ -h | -V | -i ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

To install the WA2L/WinTools package, simply unzip/expand it to any desired location using the self extracting ZIP file WA2LWinTools-version-build.exe (e.g. WA2LWinTools-1.2.03-201805272029.exe) for instance.

Apply Settings / Change Settings / Installation / Update

To profit the most from the utilities they should be installed in to the 'Send To' menu in 'Windows™ Explorer', the 'Startup' sub-menu in the 'Windows™ Start' menu or the 'Windows™ Desktop'.

To do this most efficiently, start (double click) the interactive config command that is located in the bin/ directory of the WA2L/WinTools package, select the desired options and press the [INSTALL/APPLY] button.

If selected, also the WA2LWinTools menu in the Windows™ 'Start' menu is created with some entries for the WA2L/WinTools package.

Re-Apply Settings

Re-apply settings using the [RE-APPLY] button on a system might be needed, if the software is installed on a removable device and the drive name has changed or the installation path has been moved or renamed.

Remove Settings / Uninstall

To remove all settings from the system again, click the [UNINSTALL] button.

This will de-configure all selected options from the system and stop programs started on login, but the activated settings in the config GUI are still ticked - what will allow you to re-apply your selection again on an other system without the need to repeat it.

Because this is portable software, the software itself will not be removed from the system.

This because the software is most likely installed on a removable device that you might wish to use on an other system and furthermore to preserve the data you produced while using the utilities (and like to carry with you).

If you wish to remove the data and the software completely, delete the installation directory that you have chosen during installation after clicking the [UNINSTALL] button.

OPTIONS

-h

usage message.

-V

print program version.

-i

force to re-apply all selected settings (equals to pressing the [RE-APPLY] or [(!) INSTALL/APPLY] button.

This option is also used internally when the WA2L/WinTools package is updated.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage message displayed.

5

version message displayed.

FILES

etc/config.hostname.cfg

etc/config.domainname.cfg

etc/config.cfg

persistent settings of config. The configuration file is created when config is started and all chosen settings are written to it.

%APPDATA%/Microsoft/Windows/SendTo/

directory containing all menu entries (as shortcuts) of the 'Send To' context menu of 'Microsoft Explorer' .

%APPDATA%/Microsoft/Windows/Start Menu/Programs/Startup/

directory containing all menu entries (as shortcuts) of the 'Autostart' menu in the Windows™ 'Start' menu. The commands referenced in this menu are started during login to Windows™.

%APPDATA%/Microsoft/Windows/Start Menu/Programs/WA2LWinTools/

this is the WA2LWinTools menu entry in the 'Start' menu containing application entries if selected while running the config command.

%UserProfile%/Desktop/

this is the directory that represents the 'Desktop' of the user.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), config.cfg(4), wintoolsdownload(1m)

NOTES

There are no administration rights needed to install and use the utilities.

BUGS

-

AUTHOR

config was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2022 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION Apply Settings / Change Settings / Installation / Update Re-Apply Settings Remove Settings / Uninstall OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:31:53 GMT, September 14, 2024

config.cfg

TOC Index

NAME

config.cfg - configuration file for config

SYNOPSIS

WA2LWinTools/etc/config.hostname.cfg

WA2LWinTools/etc/config.domainname.cfg

WA2LWinTools/etc/config.cfg

AVAILABILITY

WA2L/WinTools

DESCRIPTION

This is the configuration file for the config command.

The configuration file is created and updated when the config command is started.

The configuration file containing the hostname has preference over the config.domainname.cfg file, if it exists on the related host. Where the hostname is resolved by the %COMPUTERNAME% environment variable.

The configuration file containing the domainname has preference over the config.cfg file, if it exists on the related host. Where the domainname is resolved by the %USERDOMAIN% environment variable.

FILEFORMAT

The file format is OPTION=VALUE

Between the OPTION, the = and the VALUE are no spaces.

OPTIONS

All the following settings can receive the value YES or NO.

The WHERE column shows where the related setting has its effects:

SendTo

When the related settings are set to YES an entry is created in the 'Send To' context menu in the Windows™ explorer.

Desktop

When the related settings are set to YES a shortcut for the related command is created on the Desktop.

Startmenu

When the related settings are set to YES the WA2L/WinTools menu is created in the Windows™ 'Start' menu.

On Login

When the related settings are set to YES the related command is started automatically on user login.

Others

When the related settings are set to YES the related other settings are applied.

Hint: If there is not a specific setting for a certain command you will find the start icon in the WA2L/WinTools start menu in the Windows™ 'Start' menu.

SETTING

DEFAULT

WHERE

MAN PAGES OF INVOLVED COMMANDS

ACCENTCOLORS

YES

Others

wintoolsintro(1)

ACTIVEHOTKEYS

NO

Desktop

activehotkeys(1)

ALTDRAG

YES

On Login

altdrag(1)

ASSOCIATE7ZIP

NO

Others

7-zip(1)*****

ASSOCIATEZIP

NO

Others

7-zip(1)********

ASSOCIATEEBOOK

NO

Others

sumatrapdf(1)*******

ASSOCIATEFILES

YES

Others

notepad2(1)*

ASSOCIATEJPEGVIEW

NO

Others

jpegview(1)***

ASSOCIATEJSON

NO

Others

jsonedit(1)**********

ASSOCIATESUMATRA

NO

Others

sumatrapdf(1)**

ASSOCIATEMAN

NO

Others

man(1)******

ASSOCIATEWEBBROWSER

NO

Others

webbrowser(1)****

ASSOCIATEXML

NO

Others

xmledit(1)*********

BEEFTEXT

NO

On Login

beeftext(1)

BES

NO

On Login

bes(1)

BLUETOOTH

NO

Desktop

bluetooth(1)

CAFFEINE

NO

On Login

caffeine(1)

CALCULATOR

NO

Desktop

calculator(1)

CALCULATORNET

NO

Desktop

calculator(1)

CALCULATORRPN

NO

Desktop

calculator(1)

CALENDAR

NO

On Login

calendar(1)

CATCHCHAR

NO

On Login

catchchar(1)

CHECKSUM

NO

SendTo

hasher(1)

CINEMADRAPE

NO

Desktop

cinemadrape(1)

CLASSICSTARTMENU

NO

On Login

classicstartmenu(1m)

CLASSICSENDTO

YES

Others

wintoolsintro(1)

CLASSICTERMINAL

YES

Others

wintoolsintro(1)

CLOCK

NO

On Login

clocx(1)

COMPRESSION

YES

SendTo

edszip(1), 7-zip(1)

COMPAREIT

NO

SendTo

compareit(1m)

CONSOLE

NO

Desktop

console(1m)

CONVERTERSINGLE,

YES

SendTo

office2pdf(1), xps2pdf(1)

CONVERTERMULTI

NO

azw2epub(1), azw2mobi(1)

epub2mobi(1), mobi2epub(1)

pdf2png(1), pdf2ppt(1)

pdf2mobi(1), png2jpg(1)

ppt2jpg(1), ppt2png(1)

pdf2epub(1), avi2mp4 (1)

removeexternallinks(1)

svg2png(1), wav2mp3(1)

wma2mp3(1), xps2png(1)

COPYTOCLIPBOARD

YES

SendTo

copyaslink(1), copyasuxpath(1)

copyaswinpath(1)

COUNTDOWN

NO

Desktop

countdown(1)

CSVEDIT

NO

SendTo

csvfileedit(1)

CSVVIEW

NO

SendTo

csvfileview(1)

DESKTOPICON

YES

On Login

desktopicon(1)

DESKTOPOK

NO

On Login

desktopok(1)

DESKTOPS

NO

On Login

desktops(1)

DESKTOPTICKER

NO

On Login

desktopticker(1)

DIRINFO

NO

SendTo

dirinfo(1)

DIRINDEX

NO

SendTo

dirindex(1)

EBNFVIEW

NO

Desktop

ebnfview(1)

EMPTYFOLDER

NO

SendTo

emptyfoldernuker(1)

EXIFTOOLGUI

NO

Desktop

exiftoolgui(1)

continues on next page ...

SETTING

DEFAULT

WHERE

MAN PAGES OF INVOLVED COMMANDS

FILECRYPT

NO

SendTo

asfilecrypt(1)

FILESEARCH

YES

SendTo

searchmyfiles(1)

FILESHREDDER

NO

SendTo

dpwiper(1)

FILETAIL

NO

SendTo

mtail(1)

FILETIME

NO

SendTo

newfiletime(1)

FILEVERSIONING

YES

SendTo

vcp(1), sav(1), savnow(1)

todayprefix(1)

FOLDERCHANGES

NO

Desktop

folderchangesview(1)

FOLDERSIZE

YES

SendTo

ridnacs(1)

FOLDERSDOCK

NO

On Login

dockfolders(1)

FOLDERSPOPUP

NO

On Login

folderspopup(1)

GREENSHOT

NO

On Login

greenshot(1)

HEXEDITOR

NO

SendTo

hexeditor(1)

HOTKEYMANAGER

NO

On Login

hotkeyp(1)

HP48GX

NO

Desktop

hp48gx(1)

ICONGRABBER

NO

SendTo

icongrabber(1)

ICONREFRESH

NO

Desktop

iconrefresh(1)

IMAGEVIEWER

YES

SendTo

mycview(1), jpegview(1)

IYF

NO

On Login

iyf(1)

JSONEDIT

NO

SendTo

jsonedit(1)

KEYFREEZE

NO

On Login

keyfreeze(1)

KEYNOTE

NO

On Login

keynote(1)

LOCATE

NO

Desktop

locate(1)

LIST

NO

Desktop

list2(1)

LYNX

NO

Desktop

lynx(1)

MAN

NO

SendTo

man(1)

MC

NO

Desktop

mc(1)

MEDIAPLAYER

NO

SendTo

mediaplayer(1)

METADATA

NO

SendTo

metadata(1), meta2cover(1)

bibliography(1)

METAR

NO

Desktop

metarweather(1)

MIN2TRAY

NO

On Login

minimizetotray(1)

MIRANDA

NO

On Login

miranda(1)

MONITOROFF

NO

Desktop

monitoroff(1m)

MOUSEFINDER

NO

On Login

mousefinder(1)

MOVETOSCREEN

YES

Desktop

movetoscreen(1)

MP3CUTTER

NO

Desktop

mp3cutter(1)

MULTICLIPBOARD

NO

On Login

multiclipboardslots(1)

MUSICPLAYER

YES

SendTo

1by1(1)

NANO

NO

Desktop

nano(1)

NEWSLIBRARY

NO

Desktop

newslibrary(1)

NOSLEEP

NO

On Login

nosleep(1)

NOTEPAD

YES

SendTo

notepad2(1)

NOTIFICATIONICONS

YES

Others

-

OLATTACHVIEW

NO

Desktop

outlookattachview(1)

continues on next page ...

SETTING

DEFAULT

WHERE

MAN PAGES OF INVOLVED COMMANDS

PASSWORDSAFE

NO

Desktop

keepass(1)

PDFCOPYPASTER

NO

On Login

pdf-copy-paster(1)

PDFTKBUILDER

NO

Desktop

pdftkbuilder(1)

PDFUTIL

YES

SendTo

pdfrotate(1), pdfconcatenate(1)

PDFVIEWER

YES

SendTo

sumatrapdf(1)

PERFMON

NO

On Login

perfmon(1)

PICPICK

YES

On Login

picpick(1)

PINWIN

NO

On Login

pinwin(1)

PMETER

YES

On Login

pmeter(1)

POWEROFF

NO

Desktop

poweroff(1m)

PSTART

NO

On Login

pstart(1)

PURETEXT

NO

On Login

puretext(1)

PUTTY

NO

Desktop

putty(1)

PUTTYAGENT

NO

On Login

pageant(1)

PUTTYGEN

NO

Desktop

puttygen(1)

PUTTYCLEAN

NO

Desktop

puttyclean(1)

PUTTYMT

NO

Desktop

mtputty(1)

QSEL

NO

Desktop

qsel(1)

RADIOSURE

NO

On Login

radiosure(1)

RDCMAN

NO

Desktop

rdcman(1)

REDIRECT2WEB

NO

SendTo

redirect2web(1)

REMOTEDESKTOP

NO

Desktop

anydesk(1)

REVISIONNOTIFIER

YES

On Login

wintoolsrevisionnotifier(1m)

RULER

NO

Desktop

ruler(1)

RUN

NO

Desktop

runpopup(1)

SAFEHOUSE

NO

SendTo

safehouseexplorer(1)

SCREENRECORDER

NO

Desktop

easyscreencastrecorder(1)

SCREENRECORDINGS

NO

Desktop

easyscreencastrecordings(1)

SCREENSHOTTRAY

NO

Desktop

screenshottray(1)

SEETHROUGHWIN

NO

On Login

seethroughwindows(1)

SETMODDATE

NO

SendTo

setmodificationdate(1)

SHELLSTARTSCRIPT

NO

Others

wtshell(1m)

SOFTWAREDIR

NO

Desktop

wintoolsintro(1)

SOUNDVOLUME

NO

Desktop

soundvolumeview(1)

SPANISHACCENTS

NO

On Login

spanishaccents(1)

SQLITEGUI

NO

SendTo

sqlite-gui(1)

SPREADSHEET

NO

Desktop

spread32(1)

STARTMENU

YES

Startmenu

create sub-menu in Windows™

'Start' menu

STICKYNOTES

NO

On Login

yellowpile(1)

STOPWATCH

NO

Desktop

stopwatch(1)

SUBSTITUTION

YES

SendTo

dsubst(1)

SYSTEMSCHEDULER

NO

On Login

wscheduler(1)

SYNCHRONIZEIT

NO

Desktop

synchronizeit(1)

continues on next page ...

SETTING

DEFAULT

WHERE

MAN PAGES OF INVOLVED COMMANDS

TEXTIFY

NO

On Login

textify(1)

TINYTIMERECORDER

NO

On Login

tinytimerecorder(1)

TRANSLATE

NO

On Login

qtranslate(1)

TURBOPAD

NO

SendTo

turbopad(1)

TYPERTASK

NO

SendTo

typertask(1)

USBDEVICES

NO

Desktop

usbdeview(1)

USBEJECT

NO

Desktop

usbdiskeject(1)

VI

NO

SendTo

vi(1)

VIETOCR

NO

Desktop

vietocr(1)

WALLPAPER

NO

On Login

wallpaper(1)

WEATHER

NO

On Login

weathermate(1)

WEBBROWSER

NO

Desktop

webbrowser(1)

WA2LSTARTMENU

YES

On Login

startmenu(1)

WINDOWRESIZER

NO

On Login

windowresizer(1)

WINDOWTABS

NO

On Login

windowtabs(1)

WINFONTSFORALL

NO

On Login

winfontsforall(1)

WINROLL

NO

On Login

winroll(1)

WINSCP

NO

Desktop

winscp(1)

WINTAIL

NO

SendTo

wintail(1)

WTRESET

NO

Desktop

wtreset(1m)

XMLEDIT

NO

SendTo

xmledit(1)

ZOOMIT

NO

On Login

zoomit(1)

* =

files associated to the Notepad2 command are: .bib, .cfg, .ini, .lang, .map, .log, .opt and .txt.

** =

files associated to the SumatraPDF command are: .pdf and .xps.

*** =

files associated to the JPEGView command are: .jpg, .jpeg, .png, .bmp and .gif.

**** =

files associated to the WebBrowser command are: .html and .htm.

***** =

files associated to the 7-Zip command are: .7z, .tar, .gz, .tgz, .xz, .cpio, .bz2, .bzip2, .Z, .rpm, and .deb.

****** =

files associated to the man command are: .1, .1m, .3 and .4.

******* =

eBook files associated to the SumatraPDF command are: .epub, and .mobi.

******** =

files associated to the 7-Zip command are: .zip.

********* =

files associated to the XMLEdit command are: .xml.

********** =

files associated to the JSONEdit command are: .json.

EXAMPLES

1) Example configuration file

The configuration file is created and updated when the config command is started.

ACCENTCOLORS=YES

ACTIVEHOTKEYS=NO

ALTDRAG=YES

ASSOCIATE7ZIP=NO

ASSOCIATEZIP=NO

ASSOCIATEEBOOK=NO

ASSOCIATEFILES=NO

ASSOCIATEJPEGVIEW=NO

ASSOCIATEJSON=NO

ASSOCIATEMAN=NO

ASSOCIATESUMATRA=NO

ASSOCIATEWEBBROWSER=NO

ASSOCIATEXML=NO

BEEFTEXT=NO

BES=NO

BLUETOOTH=NO

CAFFEINE=NO

CALCULATOR=NO

CALCULATORRPN=NO

CALCULATORNET=NO

CATCHCHAR=NO

CALENDAR=NO

CHECKSUM=NO

CINEMADRAPE=NO

CLASSICSENDTO=NO

CLASSICSTARTMENU=NO

CLASSICTERMINAL=YES

CLOCK=NO

COMPAREIT=NO

COMPRESSION=YES

CONSOLE=NO

CONVERTERMULTI=NO

CONVERTERSINGLE=YES

COPYTOCLIPBOARD=YES

CSVEDIT=NO

CSVVIEW=NO

COUNTDOWN=NO

DESKTOPICON=YES

DESKTOPOK=NO

DESKTOPS=NO

DESKTOPTICKER=NO

DIRINDEX=NO

DIRINFO=NO

EBNFVIEW=NO

EMPTYFOLDER=NO

EXIFTOOLGUI=NO

FILECRYPT=NO

FILESEARCH=YES

FILESHREDDER=NO

FILETAIL=YES

FILETIME=NO

FILEVERSIONING=YES

FOLDERCHANGES=NO

FOLDERSIZE=YES

FOLDERSDOCK=NO

FOLDERSPOPUP=NO

GREENSHOT=NO

HEXEDITOR=NO

HOTKEYMANAGER=NO

HP48GX=NO

ICONGRABBER=NO

ICONREFRESH=NO

IMAGEVIEWER=YES

IYF=YES

JSONEDIT=NO

KEYFREEZE=NO

KEYNOTE=NO

LOCATE=NO

LIST=NO

LYNX=NO

MAN=NO

MC=NO

MEDIAPLAYER=NO

METADATA=NO

METAR=NO

MIN2TRAY=NO

MIRANDA=NO

MONITOROFF=NO

MOUSEFINDER=NO

MOVETOSCREEN=NO

MP3CUTTER=NO

MULTICLIPBOARD=NO

MUSICPLAYER=YES

NANO=NO

NEWSLIBRARY=NO

NOSLEEP=NO

NOTEPAD=YES

NOTIFICATIONICONS=YES

OLATTACHVIEW=NO

PASSWORDSAFE=NO

PDFCOPYPASTER=YES

PDFTKBUILDER=YES

PDFUTIL=YES

PDFVIEWER=YES

PERFMON=NO

PICPICK=NO

PINWIN=NO

PMETER=YES

POWEROFF=NO

PSTART=NO

PURETEXT=NO

PUTTY=NO

PUTTYAGENT=NO

PUTTYCLEAN=NO

PUTTYGEN=NO

PUTTYMT=NO

QSEL=NO

RADIOSURE=NO

RDCMAN=NO

REDIRECT2WEB=NO

REMOTEDESKTOP=NO

REVISIONNOTIFIER=NO

RULER=NO

RUN=NO

SAFEHOUSE=YES

SCREENRECORDER=NO

SCREENRECORDINGS=NO

SCREENSHOTTRAY=NO

SEETHROUGHWIN=NO

SHELLSTARTSCRIPT=NO

SETMODDATE=NO

SOFTWAREDIR=NO

SOUNDVOLUME=NO

SPANISHACCENTS=YES

SQLITEGUI=NO

SPREADSHEET=NO

STARTMENU=YES

STOPWATCH=NO

STICKYNOTES=NO

SUBSTITUTION=YES

SYSTEMSCHEDULER=NO

SYNCHRONIZEIT=NO

TEXTIFY=NO

TINYTIMERECORDER=NO

TRANSLATE=NO

TURBOPAD=NO

TYPERTASK=NO

USBDEVICES=NO

USBEJECT=NO

VI=YES

VIETOCR=NO

WALLPAPER=NO

WA2LSTARTMENU=YES

WEATHER=NO

WEBBROWSER=NO

WINDOWRESIZER=NO

WINDOWTABS=NO

WINFONTSFORALL=NO

WINROLL=NO

WINSCP=NO

WINTAIL=NO

WTRESET=NO

XMLEDIT=NO

ZOOMIT=NO

SEE ALSO

wintoolsintro(1), config(1m)

NOTES

-

BUGS

-

AUTHOR

config.cfg was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2024 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION FILEFORMAT OPTIONS EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:31:54 GMT, September 14, 2024

AltDrag

TOC Index

NAME

AltDrag - Drag/resize any Application Window when pressing Alt and Mouse Key

SYNOPSIS

WA2LWinTools/bin/AltDrag [ -h | -i | -u | -V ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

AltDrag gives you the ability to move and resize windows in a new way. After starting AltDrag, you can simply hold down the Alt key and then click and drag any window.

This behavior already exists in Linux and other operating systems, and AltDrag was made with the mission to copy that behavior to the Windows™ platform, and then to further expand it with new intuitive functionality.

You can use AltDrag in many ways. Here are some examples:

-

Pin windows from list in system tray

-

Directly select window from screen

-

Global shortcut for selecting windows

-

Hold down the Alt key, then drag windows with the left mouse button.

-

Use the right mouse button to resize windows. It will resize from the corner or edge you grab closest to.

-

Hold down the Shift key to snap to other windows. You can enable automatic snapping in the options.

-

If you have automatic snapping enabled, you can hit the Space key to temporarily disable it.

-

You can scroll inactive windows with the mouse wheel. If you hold down the Shift key while doing this, it will scroll the window horizontally (some programs do not support this).

-

If you have trouble moving a window, it might be because it's an elevated program (administrator privileges). To move it, you must run AltDrag with administrator privileges too. There is a button in the options to do this.

-

Windows are not brought to the front by default, hit the Ctrl key to bring a window to the front. You can change this in the options.

-

Double-click to maximize windows. Double-click with the right mouse button to move it to a corner or side (which one depends on where you double-click).

-

If you drag a window to an edge or corner of the monitor, it will resize to occupy that space. In Windows-speak, this is called Aero Snap.

-

You can configure Alt-scrolling to do cool things such as: scroll through open windows, changing the volume, changing transparency. When changing the volume of transparency, you can hold down the Shift key to change it in smaller steps.

-

You can enable MDI support in the options.

-

Multi-monitor support! You can hold Ctrl while dragging to trap the window within the current monitor. This is particularly useful if you want to Aero Snap at edges between monitors.

-

If you move a maximized window from one monitor to another, the window will automatically be maximized on arrival. You can hit the Ctrl key to restore it without needing to release the mouse button.

OPTIONS

-h

usage message.

Start AltDrag.

-i

install the AltDrag command to 'Startup' in the Windows Start Menu.

-u

uninstall the AltDrag shortcut from 'Startup' in the Windows Start Menu.

-V

print program version.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage message displayed.

5

version message displayed.

FILES

etc/AltDrag.cfg

config file for AltDrag.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), config(1m), minimizetotray(1), seethroughwindows(1), pinwin(1), https://stefansundin.github.io/altdrag/doc/

NOTES

Parts of this manpages were extracted from the documentation of AltDrag from https://stefansundin.github.io/altdrag/ See there for more information about AltDrag.

BUGS

-

AUTHOR

AltDrag was developed by Stefan Sundin <https://stefansundin.github.io> (see: https://stefansundin.github.io/altdrag/) and integrated into WA2L/WinTools by Christian Walther. Send suggestions and bug reports related to the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2023 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:31:40 GMT, September 14, 2024

MinimizeToTray

TOC Index

NAME

MinimizeToTray - Minimize any Application Window to the System Tray

SYNOPSIS

WA2LWinTools/bin/MinimizeToTray [ -h | -i | -u | -V ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

Minimize any window to the system tray, and then restore it with a hotkey or a couple of mouse clicks, with this unobtrusive utility.

Being able to send an application or window to the system tray is very helpful, as it enables you to avoid Taskbar clutter without closing anything. However, not all programs (as programs with higher privileges) can be sent to the tray area.

Once you've launched the application, you can minimize any window to the tray area by just pressing Alt+F1 while it is in the foreground. To restore the last hidden window, simply press Alt+F2.

A full list of all the minimized applications can be accessed by right-clicking the MinimizeToTray icon. If you click on any of the items in the list, the windows will be restored. You can also maximize all of them with a single mouse click or by pressing F10.

The only indication that the program is running is the icon displayed in the system tray. If you don't minimize more than one window at a time, you can use the application entirely with keyboard shortcuts, so it shouldn't interfere with your work.

OPTIONS

-h

usage message.

Start MinimizeToTray.

-i

install the MinimizeToTray command to 'Startup' in the Windows Start Menu.

-u

uninstall the MinimizeToTray shortcut from 'Startup' in the Windows Start Menu.

-V

print program version.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage message displayed.

5

version message displayed.

FILES

etc/MinimizeToTray.cfg

config file for MinimizeToTray.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), altdrag(1), activehotkeys(1m), config(1m), pinwin(1), seethroughwindows(1), https://github.com/sandwichdoge/MinimizeToTray, https://www.ghacks.net/2020/03/28/minimize-any-program-to-the-system-tray-with-minimizetotray/, https://www.softpedia.com/get/PORTABLE-SOFTWARE/System/System-Enhancements/Minimize-ToTray.shtml

NOTES

Parts of this manpages were extracted from the documentation of MinimizeToTray from https://github.com/sandwichdoge/MinimizeToTray, https://www.ghacks.net/2020/03/28/minimize-any-program-to-the-system-tray-with-minimizetotray/ and https://www.softpedia.com/get/PORTABLE-SOFTWARE/System/System-Enhancements/Minimize-ToTray.shtml. See there for more information about MinimizeToTray.

BUGS

-

AUTHOR

MinimizeToTray was developed by 'Sandwich Doge aka. Shaolin Code-monk' (see: https://github.com/sandwichdoge/MinimizeToTray) and integrated into WA2L/WinTools by Christian Walther. Send suggestions and bug reports regarding to the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2021 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:25 GMT, September 14, 2024

PinWin

TOC Index

NAME

PinWin - Pin any Application Window to the top of the Screen

SYNOPSIS

WA2LWinTools/bin/PinWin [ -h | -i | -u | -V ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

PinWin is a minimal Windows™ system tray application that allows you to pin any windows to the top of the screen with one click.

Features:

-

Pin windows from list in system tray

-

Directly select window from screen

-

Global shortcut for selecting windows

-

Runs quietly in background

OPTIONS

-h

usage message.

Start PinWin.

-i

install the PinWin command to 'Startup' in the Windows Start Menu.

-u

uninstall the PinWin shortcut from 'Startup' in the Windows Start Menu.

-V

print program version.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage message displayed.

5

version message displayed.

FILES

etc/PinWin.cfg

config file for PinWin.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), altdrag(1), config(1m), minimizetotray(1), seethroughwindows(1), http://bluegrams.com/pinwin/

NOTES

Parts of this manpages were extracted from the documentation of PinWin from http://bluegrams.com/pinwin/ See there for more information about PinWin.

BUGS

-

AUTHOR

PinWin was developed by 'Bluegrams' <info@bluegrams.com> (see: http://bluegrams.com/pinwin/) and integrated into WA2L/WinTools by Christian Walther. Send suggestions and bug reports related to the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2022 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:40 GMT, September 14, 2024

SeeThroughWindows

TOC Index

NAME

SeeThroughWindows - make any window transparent

SYNOPSIS

WA2LWinTools/bin/SeeThroughWindows

SeeThroughWindows [ -h | -i | -u | -V ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

make any window transparent.

SeeThroughWindows is a task bar app that makes the foreground window transparent when you press a hotkey, and turns it back to opaque when you press the hotkey again.

The transparency level and the hotkey are configurable.

When you run SeeThroughWindows, all you get is an icon in the System Tray that looks like blueish sunglasses.

Double-clicking on that brings up the Options window. Here's where you configure the hotkey and the level of transparency to use. Check the Preview check box to see the effect of the transparency setting.

SeeThroughWindows has the ability to make transparent windows 'Click-through'. In essence, this makes the window disappear as far as the mouse is concerned. You cannot click it anymore: mouse clicks will 'fall through' to underlying windows. You can still activate the window using Alt+Tab, however. (You'll need this to untransparenticize the window again!) Optionally, when a window is rendered 'Click-through', you can choose to keep it in front of other windows. This creates a sort of overlay on your screen that's impervious to mouse clicks - almost as if there's a glass plate with an semi-transparent image on it in front of your monitor. I'm sure you can think of some good use for that ;-)

When pressing Windows+Up and Windows+Down (i.e. the Windows key in combination with the up and down arrow keys) maximize and minimize the current window. To avoid conflicts with Windows 7 itself, SeeThroughWindows uses Control+Windows+Up/Down/Left/Right. Try it and you'll love it. Also, if you use multiple monitors, you'll wonder how you ever got along without Windows+Left and Windows+Right, which move the current window over to the next (or previous) monitor.

If you experience problems with the use of these keys (for instance, if they conflict with another application), you can disable them by unchecking the appropriate check boxes in the Options window.

Pressing the hotkey (Shift+Control+Z by default, which is really easy to press) will turn the foreground window transparent.

Press the hotkey again to go back to the way things were. Incidentally: you don't have to do that: you can 'transparenticize' as many windows as you like, and turn them opaque again in any order you like - or not. When exiting, SeeThroughWindows will change all windows back the way they were.

While this is somewhat of a useless example, you could use SeeThroughWindows to keep an eye on some running task, whose status is obscured by the window in front of it, or have a quick look at the web page you're writing about, etc. I find myself using it all the time, anyway.

OPTIONS

-h

usage message.

-i

install the SeeThroughWindows command to 'Startup' in the Windows Start Menu.

-u

uninstall the SeeThroughWindows shortcut from 'Startup' in the Windows Start Menu.

-V

print program version.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage message displayed.

5

version message displayed.

FILES

etc/SeeThroughWindows.cfg

configuration file of SeeThroughWindows.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), activehotkeys(1m), altdrag(1), config(1m), minimizetotray(1), pinwin(1), https://www.mobzystems.com/tools/seethroughwindows.aspx

NOTES

Parts of this manpage were extracted from the documentation of SeeThroughWindows written by MOBZystems <https://www.mobzystems.com/contact> and modified to fit to the WA2L/WinTools package. See: https://www.mobzystems.com/tools/seethroughwindows.aspx for more information.

BUGS

-

AUTHOR

SeeThroughWindows was developed by MOBZystems <https://www.mobzystems.com/contact> and integrated into WA2L/WinTools by Christian Walther. Send suggestions and bug reports related to the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:58 GMT, September 14, 2024

7-Zip

TOC Index

NAME

7-Zip - 7-Zip File Manager

SYNOPSIS

WA2LWinTools/bin/7-Zip [ -h | -i | -u | -V ]

7-Zip [ file ... ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

The 7-Zip File Manager is a program for manipulating files and folders.

The 7-Zip File Manager can work with two panels. You can switch between panels by pressing the Tab button. Most of the operations can be executed using keyboard shortcuts or by right-clicking on items and selecting the appropriate command from menu.

OPTIONS

-h

usage message.

-i

install the 7-Zip command as menu point '7-Zip' to the 'Send To' context menu in 'Windows Explorer'.

-u

uninstall the 7-Zip shortcut from the 'Send To' context menu in 'Windows Explorer'.

-V

print program version.

file...

list of files to be processed by the 7-Zip File Manager. When installed in the 'Send To' menu the selected file(s) in 'Windows Explorer' are passed as a list of files to the 7-Zip command.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage message displayed.

5

version message displayed.

FILES

-

EXAMPLES

-

SEE ALSO

wintoolsintro(1), config(1m), 7-zip.chm(1), 7-zip.Help(1), http://www.7-zip.org/

NOTES

7-Zip has been developed by Igor Pavlov <http://7-zip.org>.

Parts of the documentation has been extracted from the documentation in 7-zip.Help(1) respectively 7-zip.chm(1) of 7-Zip.

See also: http://www.7-zip.org/ for more information.

BUGS

-

AUTHOR

console was developed by Igor Pavlov <http://7-zip.org> and integrated into WA2L/WinTools by Christian Walther. Send suggestions and bug reports regarding the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:31:39 GMT, September 14, 2024

SumatraPDF

TOC Index

NAME

SumatraPDF - very fast and light-weight PDF, XPS and eBook reader

SYNOPSIS

WA2LWinTools/bin/SumatraPDF [ -h | -i | -u | -V ]

SumatraPDF [ options ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

Sumatra PDF is a free PDF, eBook (ePub, Mobi), XPS, DjVu, CHM, Comic Book (CBZ and CBR) reader for Windows™.

Sumatra PDF is powerful, small, portable and starts up very fast.

Simplicity of the user interface has a high priority.

For a complete manual of SumatraPDF see: https://www.sumatrapdfreader.org/manual.html.

OPTIONS

Start SumatraPDF.

options

options. See: https://www.sumatrapdfreader.org/docs/Command-line-arguments.html for a complete description of all command line options.

-h

usage message.

-i

install the SumatraPDF command to 'SendTo' in the Explorer context menu.

-u

uninstall the SumatraPDF shortcut from 'SendTo' in the Explorer context menu.

-V

print program version.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage message displayed.

5

version message displayed.

FILES

etc/SumatraPDF.cfg

configuration file of SumatraPDF. This file is updated when settings in the SumatraPDF application are changed and saved.

var/cache/sumatrapdf/

cache of SumatraPDF.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), config(1m), https://www.sumatrapdfreader.org/docs/SumatraPDF-documentation.html, https://www.sumatrapdfreader.org/manual.html

NOTES

This manpage is a partial extract of the home page https://www.sumatrapdfreader.org/ which is provided by Krzysztof Kowalczyk <kkowalczyk@gmail.com> (https://blog.kowalczyk.info/). See the mentioned web page to view the complete SumatraPDF description.

BUGS

-

AUTHOR

SumatraPDF was developed by Krzysztof Kowalczyk <kkowalczyk@gmail.com> (https://blog.kowalczyk.info/) and integrated into WA2L/WinTools by Christian Walther. Send suggestions and bug reports regarding the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:33:05 GMT, September 14, 2024

Notepad2

TOC Index

NAME

Notepad2 - fast and light-weight Notepad-like text editor with syntax highlighting

SYNOPSIS

WA2LWinTools/bin/Notepad2 [ -h | -i | -u | -V ]

Notepad2 [ options ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

Notepad2 is a free and open-source text editor for Microsoft Windows™, released under a BSD software license.

It was written by Florian Balmer using the Scintilla editor component, and it was first publicly released in April 2004.

Balmer based Notepad2 on the principles of Microsoft™ Notepad: small, fast, and usable.

It features syntax highlighting for many programming languages: ASP, assembly language, C, C++, C#, Common Gateway Interface (CGI), Cascading Style Sheets (CSS), HTML, Java, JavaScript, NSIS, Pascal, Perl, PHP, Python, SQL, Visual Basic (VB), VBScript, XHTML, and XML. It also features syntax highlighting for the following file formats: BAT, DIFF, INF, INI, REG, and configuration files (.properties).

Notepad2 also has several other features:

-

Auto indentation

-

Bracket matching

-

Encoding conversion between ASCII, UTF-8, and UTF-16 formats

-

Multiple undo/redo; rectangular block selection

-

Newline conversion, between DOS (CR/LF), Unix (LF), and Macintosh (CR) formats

-

Regular expression-based find and replace

OPTIONS

-h

usage message.

-i

install the Notepad2 command as menu point 'Notepad2' to the 'Send To' context menu in 'Windows Explorer'.

-u

uninstall the Notepad2 shortcut from the 'Send To' context menu in 'Windows Explorer'.

-V

print program version.

options

more options. See also: https://www.flos-freeware.ch/doc/Notepad2.txt

ENVIRONMENT

-

EXIT STATUS

0

always.

FILES

etc/Notepad2.cfg

configuration file of Notepad2. This file is updated when settings in the Notepad2 application are changed and saved.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), np(1), config(1m), https://www.flos-freeware.ch/doc/Notepad2.txt, http://www.flos-freeware.ch/doc/notepad2-FAQs.html, http://www.flos-freeware.ch/notepad2.html

NOTES

This manpage is a partial extract of the Wikipedia page http://en.wikipedia.org/wiki/Notepad2 (deleted on 12.10.2022) which has been written by Dani Kolt <danikolt@blueyonder.co.uk> and many others.

BUGS

-

AUTHOR

Notepad2 was developed by Florian Balmer (http://www.flos-freeware.ch) and integrated into WA2L/WinTools by Christian Walther. Send suggestions and bug reports regarding the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2023 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:32 GMT, September 14, 2024

np

TOC Index

NAME

np - short start command for Notepad2

SYNOPSIS

WA2LWinTools/bin/np

np [ file... ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

np is a short start command for the Notepad2 command.

See notepad2(1) for more information.

OPTIONS

See: notepad2(1).

ENVIRONMENT

See: notepad2(1).

EXIT STATUS

See: notepad2(1).

FILES

See: notepad2(1).

EXAMPLES

See: notepad2(1).

SEE ALSO

wintoolsintro(1), notepad2(1)

NOTES

See: notepad2(1).

BUGS

See: notepad2(1).

AUTHOR

np was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:32 GMT, September 14, 2024

JPEGView

TOC Index

NAME

JPEGView - Image viewer and editor

SYNOPSIS

WA2LWinTools/bin/JPEGView [ -h | -i | -u | -V ]

JPEGView [ options ][ file ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

JPEGView is a viewer/editor for JPEG, BMP, WEBP, PNG, TGA, RAW, GIF and TIFF images. It is designed to view images from digital cameras full screen and with highest quality possible. Basic image editing functionality is provided, allowing to correct typical problems as color cast, high/low contrast and under- or overexposure very quickly and interactively during review of the images. JPEGView does not replace a full blown image editor, such an editor will just be needed less often.

The JPEGView command can be installed to the 'Send To' context menu in 'Microsoft™ Windows Explorer' for most convenient usage. To do so, invoke JPEGView -i once.

For the full description of JPEGView see jpegview.Readme(1) in the HTML documentation.

OPTIONS

-h

usage message.

-i

install the JPEGView command as menu point 'JPEGView' to the 'Send To' context menu in 'Windows Explorer'.

-u

uninstall the JPEGView shortcut from the 'Send To' context menu in 'Windows Explorer'.

-V

print program version.

[ options ]

additional JPEGView options. See jpegview.Readme(1) in the HTML documentation for a detail description.

file

file to be displayed.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage message displayed.

5

program version printed.

6

program variant not known. This error occurs when the JPEGView command is renamed.

FILES

etc/JPEGView.cfg

configuration file of JPEGView.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), config(1m), jpegview.Readme(1)

NOTES

JPEGView was developed by David Kleiner. See (https://sourceforge.net/projects/jpegview/) for more information.

Parts of this manual page are extracted from the application readme: jpegview.Readme(1).

BUGS

-

AUTHOR

JPEGView was developed by David Kleiner <https://sourceforge.net/projects/jpegview>. and integrated into WA2L/WinTools by Christian Walther. Send suggestions and bug reports regarding the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:12 GMT, September 14, 2024

Readme for JPEGView

Revision: 26-Dec-2017

Introduction

JPEGView is a viewer/editor for JPEG, BMP, WEBP, PNG, TGA, RAW, GIF and TIFF images. It is designed to view images from digital cameras full screen and with highest quality possible. Basic image editing functionality is provided - allowing to correct typical problems as color cast, high/low contrast and under- or overexposure very quickly and interactively during review of the images. JPEGView does not replace a full blown image editor - such an editor will just be needed less often.

Features:

- Supported image formats

- JPEG (including EXIF)

- BMP (Windows Bitmap)

- WEBP

- JPEG XR (Windows XP: WIC must be installed)

- PNG

- GIF (including animated GIFs)

- TIFF

- TGA

- Camera RAW (embedded JPEGs, see here for details)

- Fullscreen viewing

- Image centric - nothing else visible by default

- Multiple monitor support

- Window mode also supported (Toggle with Ctrl-W)

- Small and fast

- Executable is only 1 MB

- C++/MMX/SSE/AVX2 code

- 32 bit and 64 bit versions

- Support for multiple CPU cores to speedup processing

- Minimal dependencies on external libraries

- High quality resizing of images

- Downsampling filter preserves sharpness

- Bicubic interpolation for upsampling

- Interactive image processing and improvement

- Real time and full screen image processing

- Contrast, Brightness and Saturation adaptation

- Unsharp masking

- Cyan-Red, Magenta-Green, Yellow-Blue color balance

- Local brightness correction to lighten shadows and darken highlights

- Automatic color and contrast correction

- Rotation in 90 deg steps

- Free image rotation for horizon correction

- Perspective correction

- Lossless JPEG transformations

- Crop image (supporting lossless crop for JPEGs)

- Landscape picture improvement mode

- Viewing and image processing parameters can be saved per image

- Image file remains untouched

- Database entries remain valid when image file is moved or renamed

- Slide shows and movie playing

- Plays slide shows given by text file

- Multiple transition effects for slide shows

- Plays all images in folder as movie with configurable frame rate.

All image processing remains functional while playing.

- Batch rename and copy

- Copies and renames files from digicam to target folders

- Creates target folders as needed

- Supports various placeholders for renaming files

- Extensible and highly configurable

- Allows defining user commands

- Allows opening images with external applications

- Allows changing all keyboard shortcuts

- Plenty of configurable items in the INI file

Installation

There is no installer for JPEGView because none is needed. Just copy or extract all files to a folder on your harddisk (e.g. C:\Program Files\JPEGView\).

To define JPEGView as your default viewer for image files, perform the following steps:

- Open the context menu of JPEGView (right mouse click)

- On the context menu, choose 'Settings/Administration' - 'Set as default viewer'

- Windows XP - Windows 8.1:

- On the dialog that is appearing, the file extensions of the supported image file formats are listed, together with the information if the corresponding extension is currently bound to JPEGView.

- Select the file extensions to be opened by JPEGView and confirm with OK

- Windows 10 insists on using the 'Standard-apps' dialog of the operating system to change the standard application for images.

Thus you need to go to the 'Standard-Apps' settings page of Windows 10:

- Open the Windows 10 start menu and type 'standard apps'. Click the found settings page.

- On the right panel, scroll to the end and select 'Set defaults by app'

- In the dialog that is appearing, choose JPEGView in the list on the left panel

- Now you can assign all or a subset of the image file types to JPEGView

Hardware Requirements

- 256 MB RAM

512 MB RAM is required if images with more than 10 MegaPixels are viewed, less than 256 MB is acceptable if only small images (less than 5 MegaPixels) are viewed.

- CPU should be SSE2 capable (perfect is a CPU with 128 bit SSE2 processing and multiple CPU cores)

Other CPUs also work but performance decreases somewhat

- A mouse with a scroll wheel (for zooming) and navigation buttons on the side is highly recommended

- If you are using JPEGView on a touch-screen: You may increase the size of the buttons on the navigation panel by increasing the value of 'ScaleFactorNavPanel' in the INI file.

Supported Operating Systems

- Windows 10 / 8.1 / 8

- Windows 7

- Windows Vista

- Windows XP (SP2 required)

- Windows 2000 : Not supported anymore, use version 1.0.21

Supported Languages

- Basque

- Belorussian

- Chinese

- Czech

- English

- French

- German

- Greek

- Italian

- Japanese

- Korean

- Polish

- Portuguese

- Romanian

- Russian

- Spanish

- Swedish

- Ukrainian

By default JPEGView uses the same language as the operating system. However another language can be forced using the INI file. Translations to other languages can be done very easily by providing an UTF8 coded text mapping file, see strings_de.txt as an example.

If you want that your translation is included into the next JPEGView release, contact me at jpegview@gmail.com

Registry

JPEGView does not touch the registry except when registering file extensions to be displayed with JPEGView. This will add some registry entries in the 'Current User' branch of the registry.

Created Files during Runtime

The only location where files are written (the parameter DB and the user INI file) is in 'Users\Username\AppData\roaming\JPEGView\'. Notice that the exact path depends on the Windows version. For exceptions of this rule see next section.

Note that these files are only created when they are needed, e.g. when the first parameter set is stored to the parameter DB.

Forcing user data storage in EXE path

By setting StoreToEXEPath=true in the global INI file, the storage location for the user INI file and the parameter DB can be changed to the EXE path of JPEGView. This makes sense when using JPEGView from an USB memory stick to prevent storing data on the host system.

Restricted Rights

JPEGView runs without problems on accounts with restricted rights. Setting JPEGView as default viewer for already registered file extensions may fail without administrator rights when using Windows Vista, Windows 7 or later.

Using JPEGView

Getting Started

For getting started, the following commands in JPEGView are the most important ones:

- F1 displays help on JPEGView

- F2 displays information about the current image

- PgDn/PgUp navigates to next/previous image (Alternative: 'forward' and 'back' mouse buttons)

- Mouse wheel zooms in and out

- Dragging mouse while left mouse button is pressed will pan the image

- Move mouse pointer to bottom of screen for image processing, parameter DB access and file renaming

- Move mouse pointer to top of screen for minimizing or closing the application

- Right mouse button displays the context menu

- ESC terminates the application

Navigation Panel

From left to right:

- First image in folder, Previous image, Next image, Last image in folder

- Delete image file (to recycle bin, use Shift+Del to delete image files permanently)

- Zoom mode, when active zooming can be done by pressing the left mouse button and dragging the mouse to the left and right

- Actual image size / Fit image to screen

- Window mode / Full screen mode

- Rotate clockwise, Rotate counter-clockwise

- Rotate image by any angle, e.g. to perform horizon correction

- Perspecive correction, corrects tilted vertical edges

- Keep image processing parameters and zoom/pan between images

- Toggle landscape picture enhancement mode

- Toggle display of image information (EXIF)

Full Screen Mode / Window Mode

By default JPEGView starts in full screen mode on the largest monitor attached to the computer. A window mode is also supported. Toggling between full screen and window mode is done with F11 or with the button on the navigation panel.

By changing the INI file, it is possible to force JPEGView to start in window mode and to use a different monitor respectively window position and size. Note that when changing the window size with the mouse, the image is not scaled automatically to fit the new size. Press then Enter key to fit the image to the window.

Viewing Images

Navigation

To navigate between images, the following commands are supported:

- Next image

Keyboard: PgDn or 'Left arrow'

Mouse: 'Forward' mouse button (normally on left side of mouse)

- Previous image

Keyboard: PgUp or 'Right arrow'

Mouse: 'Back' mouse button

- First image in folder (according to sort order, see below)

Keyboard: Home

- Last image in folder (according to sort order, see below)

Keyboard: End

- Mark image for toggling

Keyboard: Ctrl-M

- Toggle between current image and marked image

Note that toggling only works between images in the same folder

Keyboard: Ctrl-Left arrow or Ctrl-Right arrow

- Reload image

Keyboard: Ctrl-R

- Open image or folder

Keyboard: Ctrl-O

The standard 'File Open' dialog is shown and allows displaying images from other folders. Alternatively, a text file containing file names for a slide show can be opened.

- Drag and drop image or folder from Windows Explorer to JPEGView window.

The basic navigation command (First image in folder, Previous image, Next image, Last image in folder) are also available on the navigation panel, transparently blended over the image.

JPEGView uses a second thread to read ahead and process the next image. Guessing the next image is based on the last navigations.

JPEGView supports the following navigation modes:

- F7: (Default) Display all files in current folder, wrap around to first image when finished

The file name of the current file and it's position in the folder can be displayed using Ctrl-F2.

- F8: Display all files in current folder, when finished recursively display images in subfolders.

Subfolders in the same root directory are traversed in alphabetic order.

- F9: Display all files in current folder, when finished advance to next sibling folder (folder on same level as current folder)

The default navigation mode can be changed in the INI file.

The display-order within one folder is also configurable:

- m: (Default) Order files according to date/time of last modification

- c: Order files according to date/time of creation

- n: Order files according to file name

- z: Random file order

The default ordering can be changed in the INI file.

Image Information

Image and EXIF Information

Use F2 to display information about the current image, including the value of some EXIF tags, e.g. date and time the image was taken and exposure information. Optionally the histogram of the image can be displayed below the EXIF information. The histogram is updated immediately when the image is processed.

File Name and Path

Use Ctrl-F2 to display the full path and file name of the current image.

Zoom and Pan

Images can be zoomed and panned interactively. While zooming, a lower quality image processing mode is used. The image will be processed automatically with the high quality resize filters as soon as no zoom command is received for about half a second.

By default, images that are larger than the screen are scaled down to fit the screen. Images that are smaller than the screen are not scaled by default. Use the following commands to change the zoom factor:

- Fit image to screen

Keyboard: Enter Mouse: Double click on the image

- Fill screen with crop (no black borders)

Keyboard: Ctrl-Enter

- Zoom to 100 % (One image pixel corresponds to one screen pixel)

Keyboard: Space

Toggles back to 'Fit to screen' when zoom is already 100 %

Note that the point under the mouse cursor remains fixed during zoom - allows zooming to point of interest

- Enlarge view to span all monitors (only available on multi monitor systems)

Keyboard: F12

Panoramas look great in this mode if you have multiple screen.

Pressing F12 again toggles back to normal one-screen mode.

- Free Zoom

Keyboard: 'Plus' or Ctrl-'Arrow up' to zoom in, 'Minus' or Ctrl-'Arrow down' to zoom out

Mouse: Mouse wheel or Shift-left mouse click and drag mouse to the left and right

- Pan

Keyboard: Shift+'Arrows'

Mouse: Left mouse and drag

Pan is only supported when the image is larger than the screen

Because almost all images from digital cameras must be sampled down for a typical monitor, the downsampling filter has been choosen carefully to provide an optimal image quality. The downsampling filter uses a 7 x 7 to 15 x 15 (depending on resize-factor) Lanczos-like filter kernel. This kernel produces only a small amout of aliasing while preserving or even slightly enhancing the sharpness of the image. You can see the difference to simple point sampling when pressing F3 what toggles between point sampling and filter based sampling.

Auto Scale Mode

The auto scale mode determines how images are fitted to the screen. The default auto scale mode is read from the INI file, however the mode can also be changed during runtime with the context menu, submenu 'Auto scale mode'.

The following modes are supported:

- Fit to screen (no zoom)

Images that are larger than the screen are scaled down to fit. No image areas are cropped but black borders will be visible when the image aspect ratio and the screen aspect ratio do not match. Images that are smaller than the screen are not enlarged.

- Fill with crop (no zoom)

Images that are larger than the screen are scaled down to fill the entire screen. Cropping occurs if necessary to avoid black borders. Images that are smaller than the screen are not enlarged.

This mode is suited for viewing 4:3 images on a 16:9 wide screen without black borders.

Note: Cropping is limited to approximately 30 % of the image in this mode. If more would be cropped, fit to screen is used instead. As a result, portrait images will not be cropped on the screen.

- Fit to screen

Images are scaled (up or down) to fit the screen. No image areas are cropped but black borders can be visible.

- Fill with crop

Images are scaled (up or down) to fill the entire screen. Unlimited cropping may occurs if necessary to avoid black borders.

Rotate

With the 'Arrow down' and 'Arrow up' keys, the current image can be rotated clockwise, respectively counter-clockwise. Note that JPEGView looks for the rotation tag in the EXIF data to rotate the image automatically. Some cameras have an orientation sensor and set this tag.

To rotate a JPEG image lossless on disk, use the R and T keys.

Crop

When the Ctrl key and the left mouse button are pressed and the mouse is dragged, a selection on the image can be defined. After having defined a selection, a context menu provides the following commands:

- Crop image selection

Crops the image selection and re-applies all image processing with the current parameters to the cropped image. When the color and contrast correction is active, the cropped image may looks different afterwards. Note that a crop operation cannot be stored to the parameter DB.

- Lossless crop (for JPEG images only)

Crops the image selection without recompression of the JPEG image. The cropped image must be stored as a new JPEG file. Note that lossless crop cannot be more exact than to 8 or 16 pixel boundaries due to the structure of JPEG images.

- Copy image selection to clipboard

Note that this command will copy the image selection in original resolution and not in screen resolution.

- Crop Mode

Sets the crop mode - either to free croping, fixed size cropping or cropping with a fixed aspect ratio. Note that the default fixed crop size can be set in the INI file.

- Zoom to selection

Hint: Use a large zoom factor and the point-sampling mode (F3 key) to crop with pixel precision.

Note: When the crop-menu appears, the crop rectangle can still be edited by clicking on the handles or on the border of the rectangle. Use the right mouse button to display the crop-menu again when the crop rectangle has the desired size.

Lossless JPEG Transformations

The JPEG compression scheme consists of multiple steps. Some of the steps are lossless, others are lossy. Because of the lossy steps, each editing operation involving a recompression results in a (moderate) quality decrease. Lossless JPEG transformations do not include any of the lossy compression steps and therefore should be prefered whenever possible. However only a very limited number of operations can be done lossless on JPEG images:

- Rotation in steps of 90 degrees

- Mirror horizontally and vertically

- Crop

Note: Due to the structure of JPEG files, all these transformations only work if the width and height of the JPEG image is a multiple of the JPEG compression block size. This block size is 8 or 16 pixels, depending on the chrominance subsampling used for the image.

Slide Shows

JPEGView can display the content of the current folder (or folders if the navigation mode is set accordingly) as a slide show. Alternatively a text file can be used to list the image files being part of a slide show.

Slide Show Text File

A text file containing file names can be passed on the command line to JPEGView. Alternatively such a file can be loaded using the 'Open image' command. The following text file formats are supported:

- ANSI coded text file

- Unicode (UTF16) text file

- UTF8 coded text file

All text formats must contain one file name per line. The file names must use paths relative to the folder of the slide show text file or absolute paths and must be terminated either with a hyphen ("), with a newline character or with a < character.

The following examples show possible line formats:

d:\Images\test.jpg

test.jpg

"d:\My Documents\test.jpg"

<image>d:\My Documents\test2.jpg</image>

Note that the parser searches for a path marker (looking for :\ or \\) and ignores all text before the first found path marker. Starting from the path marker, the parser searches forward for an end marker (newline, " or <) and everything after that end marker until end of line is also ignored.

A slide show file list is a sort of virtual folder containing all images listed in the slide show file.

Using Slide Shows

The following commands can be used to control a slide show:

- PgDn/PgUp/Home/End : Navigates to next/previous/first/last image of slide show

- 1 .. 9 : Starts the slide show with a delay of n seconds between the images

- Ctrl + [Shift] + 1 .. 9 : Uses a delay of n/10 of a second, respectively n/100 of a second

- Esc : Stops the slide show

If the current context is a folder and not a slide show list, the slideshow is performed with the images in the folder. The folder navigation mode and the sorting order are taken into account in this case - with a slide show list they have no effect. For showing the images in a folder in random order, press 'z' before starting the slide show (this sets random sorting order).

Transition Effects

Different transition effects can be used to switch between images when playing a slide show. The use of transition effects has the following limitations:

- Transition effects are only available in full screen mode

- When playing a slide show with transition effects, reaction on commands may be somewhat slow. The ESC key always immediatly terminates the slide show.

Use the INI file to set the default transition effect and the default transition effect speed.

Playing Image Series as Movie

The slide show feature can be used to play a series of images in a folder or given by a text file as a movie:

- First set the display order for the files. The order is either given by a text file or by choosing the display order mode for folders accordingly.

- Press the Home key to go to the first frame of the movie.

- Start the movie using the context menu 'Play folder as movie' or the Ctrl+[Shift]+Number keys. Of course the number of frames per seconds is limited by the computing power available to decode and process the frames. JPEGView will never skip frames - if more frames are requested than possible, the frames are displayed as fast as possible. During movie playing, high quality resampling, contrast correction and local brightness correction are disabled to speed up processing.

- Keeping parameters between the frames is enabled during movie playing - corrections apply to the whole movie.

- To stop the movie, press the Esc key.

Processing Images

JPEGView provides some basic image processing. Most image processing is done interactively on the fullscreen image what allows to see the effect of the processing immediately. The processed image can be stored either by storing the applied parameters in the parameter DB (the image remains untouched), by copying the processed image to the clipboard to further process it with an external program or by saving the processed image to a JPEG file.

The following image processing commands are supported:

- Contrast

Keyboard: Ctrl - +/-

Mouse: Use processing panel

Increases or decreases the global contrast of the image. Technically, the steepness of an S-curve is changed by this parameter.

This value can be stored in the parameter DB.

- Brightness

Keyboard: Shift - +/-

Mouse: Use processing panel

Increases or decreases the global brightness of the image. Technically, a exponent of a gamma curve is changed by this parameter.

This value can be stored in the parameter DB.

- Saturation

Keyboard: none

Mouse: Use processing panel

Increases or decreases the color saturation of the image.

This value can be stored in the parameter DB.

- Downsampling Sharpness

Keyboard: Alt - +/-

Mouse: Use processing panel. Note that this slider is only visible when the window/screen is large enough.

Increases or decreases sharpness of the image. If the default sharpening filter is used, sharpness only applies to images that are downsampled but not for images displayed with 100% zoom. The filter to be used can be set in the INI file.

This value can be stored in the parameter DB.

- Unsharp Mask

Keyboard: none

Mouse: Use processing panel, 'Unsharp Mask' button.

Unsharp masking is an adaptive sharpening filter that creates a smoothed version of the original image (thus the name 'unsharp'). The filter then adds the difference of the original image and the smoothed image to the original image:

Sharpened Image = Original Image + Amount * ( Original Image - Smoothed Image)

The 'Radius' parameter sets the radius of the smoothing kernel, the 'Amount' parameter sets the amount of sharpening and the 'Threshold' value sets the miminal difference of original and smoothed image to apply the filter to a pixel.

Note that unsharp masking is previewed always in 100 % zoom.

This value cannnot be stored in the parameter DB. The image must be saved ('Save image' in context menu) to retain the processing.

- Free Rotate

Keyboard: none

Mouse: Use navigation panel, 'Free Rotate' button.

In preview mode the image can be rotated with the mouse in real time, but with low quality. Grid lines help performing horizon correction. Alternatively, horizon correction can be done by drawing a line along the horizon or along a vertical structure. The rotation angle will be calculated so that this line is exactly horizontal, respecitively vertical. Activate this mode with the right most tool button on the panel.

Press the 'Apply' button to apply the rotation to the original image with high quality (bicubic interpolation). By default the rotated image is cropped automatically to avoid black borders. This behavior can be changed with the middle tool button on the rotation panel.

This value can be stored in the parameter DB.

- Perspective Correction

Keyboard: none

Mouse: Use navigation panel, 'Perspective Correction' button.

When a picture of a building is taken from ground level, the vertical edges of the building are usually tilted because the camera is not aligned horizontally when taking the picture. Perspective correction can be used to correct for this effect - at least partially.

In preview mode the image can be tilted with the mouse in real time, but with low quality. Grid lines help during the process.

Press the 'Apply' button to apply the correction to the original image with high quality (bicubic interpolation). By default the corrected image is cropped automatically to avoid black borders. This behavior can be changed with the right tool button on the panel.

This value cannnot be stored in the parameter DB. The image must be saved ('Save image' in context menu) to retain the processing.

- Change Size

Keyboard: none

Mouse: Use context menu, 'Transform image > Change size...' menu item.

This will resize the image to the specified new size using one of the selectable filters. The 'Box' filter is just repeating pixels (upsampling), respectively deleting pixels (downsampling). The other filters are higher order reconstruction filters that balance between no aliasing and improved sharpness.

This value cannnot be stored in the parameter DB. The image must be saved ('Save image' in context menu) to retain the processing.

- Color balance

Mouse: Use processing panel

Changes the color balance of the image by changing the cyan-red, magenta-green and yellow-blue color balance.

This value can be stored in the parameter DB.

- Local brightness

Keyboard: F6

Mouse: Use processing panel

Toggle local brightness correction. Local brightness correction lightens shadows and darkens highlights by applying a smoothed additive/subtractive mask to the image. It can be used to correct images with hard contrasts and uncovers details in dark shadows or in overexposed areas.

This value can be stored in the parameter DB.

- Color and contrast correction

Keyboard: F5

Mouse: Use processing panel

Toggle color and contrast correction. Color correction tries to reduce global color casts. Contrast correction enhances contrast by moving the black point of the image (darkest area) towards black and the white point (brightest area) towards white. The color and contrast correction algorithm can be configured in the INI file.

This value can be stored in the parameter DB.

- Landscape picture enhancement mode

Keyboard: Ctrl-L

Mouse: Use navigation panel

Toggle landscape picture enhancement mode. The landscape picture mode is simply a special parameter set optimized for landscapes pictures. It will brighten shadows, darken highlights and enhance contrast when needed. The parameter set used in landscape mode can be configured in the INI file (setting "LandscapeModeParams").

This value can be stored in the parameter DB.

Most image processing can be done interactively with the mouse on the processing panel that appears when the mouse cursor is moved to the bottom of the screen.

Default settings for most of the image processing parameters can be given in the INI file.

Image Processing Tips

- Clicking on the number on the right of the sliders will temporarily reset the value to the default value. The value remains reset until the mouse button is released.

- Double clicking above a slider will permanently reset its value to the default value.

Keeping Parameters Between Images

By default, all image processing parameters (including zoom and pan) are reset to the default values given in the INI file when the next image is displayed. Using the F4 key, the behavior can be changed to keeping the parameters between images. Pressing F4 again will toggle back to not-keeping the parameters.

Note: While keeping parameters mode is active, the parameter DB cannot be used. Parameter DB values are ignored while this mode is active.

Comparing Processed Image with Original Image

When JPEGView displays a new image, it creates a second set of image processing parameters and initializes it with zero, meaning that the original, unprocessed image will be displayed when this set is applied. Ctrl-A toggles between the two sets - allowing to compare the processed image with the original image. Note that it is possible to change both sets of parameters - however the second set will always be reset to zero when a new image is displayed.

Saving and Renaming Images

Saving Images

Processed images can be saved as JPEG, BMP, PNG or TIFF files using the 'Save image' (Ctrl-S) command. The image is saved in its original size: Performed rotations are taken into account, zoom and pan are not. To save an image in screen size, use the Ctrl-Shift-S keyboard shortcut.

Note: The quality of the saved JPEG file can be set in the INI file.

JPEGView will automatically create a parameter DB entry for the saved image having all image processing disabled. This prevents that JPEGView will double-apply automatic image improvements next time the image is displayed.

Note: When saving images, JPEGView will prompt for a new file name. If you want that Ctrl-S just overrides the original file without showing a dialog, use the INI file setting OverrideOriginalFileWithoutSaveDialog=true.

Use this setting with care, be aware of the risk!

EXIF information

EXIF information is copied to the target JPEG image if it was present in the source JPEG image. An embedded thumbnail image is updated - rotation and image processing is applied to the thumbnail image.

Renaming Images

On the processing panel, images can be renamed by clicking on the file name with the mouse. To confirm the new name, press Enter or click outside of the edit control. To cancel renaming, press Esc. Note that renaming images is not possible when a slide show file is loaded because this would invalidate the slide show file.

Batch Rename/Copy

Using the context menu entry 'Batch rename/copy' a series of files from the current folder can be renamed and/or copied to another folder:

1. First select the files to be renamed. Use the Ctrl and Shift keys to select multiple files and click the checkboxes.

2. Enter the target file name pattern. When not using a backslash in the pattern, the files are renamed in the current folder, else they are copied to the target folder as given. Target folders not yet existing are created as needed.

Several placeholders are supported. See some examples below. A template pattern can be saved when needed.

3. Before really renaming the files, always verify the new names by pressing the 'Preview' button.

4. To rename the selected files, press the 'Rename' button. Renaming/copying can take a while, especially when the source or target is a slow USB device.

Examples

%pictures%\Digicam\%2y-%m-%M\%f

Source image: IMG00244.JPG, created June 12, 2007

Target: 'My pictures'\Digicam\07-06-June\IMG00244.JPG

The folder 'Digicam\07-06-June\' is created when needed.

%pictures%\Digicam\%M %y\Trip to Barcelona %x.%e

Source image: IMG00244.JPG, created June 12, 2007

Target: 'My pictures'\Digicam\June 2007\Trip to Barcelona 1.JPG

Copying Images to the Clipboard

Copy screen

Keyboard: Ctrl-C

Copies the image (respectively the visible image section) as displayed on the screen to the clipboard. This is similar to the PrtSc function, however text overlays and areas outside of the image are not included.

Copy processed image in its original size

Keyboard: Ctrl-X

Copies the processed image in its original size to the clipboard. Rotation is taken into account, zoom and pan is not. This command is useful when the corrected image shall be processed and saved in an external application.

Pasting Images from the Clipboard

Keyboard: Ctrl-V

Paste image from clipboard and fit to screen.

For pasted images, storing the parameters to the parameter DB is not possible because they have no representation on the file system. However these images can be processed and saved.

Tip: Ctrl-C also enables to paste the current image file to a new location in the Windows Explorer using Ctrl-V.

Printing Images

Keyboard: Ctrl-P

Some aspects of printing can be changed in the INI file:

- Default margins

Setting: PrintMargin

Sets the default print margin (all sides) in centimeters. Notice that you cannot set this value below the physical margins as specified by the printer driver.

- Default width of printed image

Setting: PrintWidth

Sets the default print width in centimeters. Use negative numbers to set the 'Fit to paper' printing mode.

- Units in print dialog

Setting: Units

Sets the units (cm, inches) used in the print dialog. By default the units as specified by the operating system are used. Set to 'metric' or 'english' to force using centimeters, respectively inches.

Notice that JPEGView uses the default printer as specified in the Windows printer configuration but allows changing the printer for the time JPEGView is running. To change the default printer permanently, use the Windows printer configuration.

Parameter Database

The currently visible section, rotation and the image processing parameters can be bound to the image by storing them to the parameter DB. If this image is displayed in JPEGView later on, the stored parameters will be loaded and applied automatically.

- Add image to the parameter DB

Keyboard: S

Mouse: Use processing panel

- Remove image from the parameter DB

Keyboard: D

Mouse: Use processing panel

- Backup parameter DB

Use this command in the context menu to backup the parameter DB to another folder or disk.

- Restore parameter DB

Use this command in the context menu to restore the parameter DB from a backuped version. Note that when restoring the parameter DB, the selected DB is merged with the current DB - so this command can also be used to merge two parameter DBs. In case of conflicting entries in the merge, the system asks which entries shall have priority.

Using the parameter DB has the advantage that the original image remains untouched. The parameter DB entry for an image is found using a hash value of the image file what has the following advantages:

- Moving the image to a different folder or renaming the image does not break the link

- Two copies of the same image have the same parameter DB entry

For JPEG images, the hash value is created on the compressed pixel data but not on the EXIF and comment blocks. Changing the EXIF data or commenting the JPEG image will not invalidate the parameter DB entry.

The following parameters are stored in the parameter DB:

- Visible section of image

The visible section is stored resolution independent - the same section will be displayed on a monitor with a higher resolution (but the zoom factor will be different then).

- Rotation of image

- Contrast value

- Brightness value

- Saturation value

- Sharpness value (but no Unsharp Mask)

- Color balance values

- Local brighness correction on/off

- Lighten shadows value

- Darken highlights value

- Deep shadows value

- Color and contrast correction on/off

- Color correction amount

- Contrast correction amount

- High quality resizing on/off

The parameter database is located in 'Users\Username\AppData\roaming\JPEGView\ParamDB.db', respectively in the EXE path when StoreToEXEPath=true is set in the INI file. It uses 40 bytes per stored parameter set and is limitated to 100000 entries.

Note: The parameter DB settings have precedence over any image processing settings in the INI file.

JPEGView.ini File

The INI file of JPEGView allows configuring a lot of parameters of the application. A two level hierarchy of INI files is used. If a setting is found in the user INI file, it has precedence over the same setting in the global INI file.

- User INI file

'Users\Username\AppData\roaming\JPEGView\JPEGView.ini' (path name depends on Windows version)

- Global INI file

'Path of JPEGView.exe\JPEGView.ini'

The user INI file can be edited by using the command 'Edit user settings' in the context menu. Note that changes to these files do not take effect until JPEGView is restarted.

Some parameters can be written to the user INI file with the command 'Save parameters to INI' located in the context menu.

- Default contrast

- Default brightness

- Default saturation

- Default sharpness

- Default color balance

- Local brighness correction on/off by default

- Color and contrast correction on/off by default

- Default sorting order

- Default auto zoom mode

- Navigation panel on/off

The values set for the current image are written to the INI file when using this command. Be aware that these values are then used as default values for all images!

Note: No user INI file is used if the key StoreToEXEPath is set to true in the global INI file. All saved setting are directly written to the global INI file in this case.

INI File Settings

The INI file settings are explained in detail in the INI file (Caution: The link is to the global INI) itself. Only an overview on the available settings is given here:

- Default image processing parameters: Contrast, brightness, sharpness, color balance

- Default background color

- Show file name by default

- Show file info by default

- Show navigation panel by default

- Blending factor for navigation panel

- Keep parameters by default

- Force CPU type (if autodetection fails)

- Force number of CPU cores to be used

- Used filter kernel for downsampling images

- Default sorting order

- Default navigation mode

- Default auto zoom mode

- Quality (and file size) of saved JPEG images

- Monitor to use (for multi monitor systems)

- Color and contrast correction settings

- Folders to explicitely include/exclude from auto color and contrast correction

- Local brighness correction settings

- Folders to explicitely include/exclude from local brightness correction

- Parameters used in landscape enhancement mode

- Definition of user commands

A note on the support for multiple CPU cores (CPUCoresUsed setting):

By default, JPEGView uses all cores of the CPU for processing images. To force JPEGView to use a given number of parallel processing threads, use the CPUCoresUsed setting. Note that no more than 4 cores (and therefore 4 processing threads) are supported. One additional thread is always created to read ahead the next image - this cannot be suppressed by the INI file.

Command Line Parameters

JPEGView supports the following command line parameters:

- filename

File name of the file to load or folder to show. If this is a file name, it must be a valid image file name or a file name of a text file that contains a list of files to display, listing one file name per line. If it is a folder name, JPEGView displays the image files in this folder.

The file name must be specified before all other parameters in the command line.

Note: No slide show is started automatically. Use the /slideshow parameter for that.

- /slideshow [time in seconds]

Automatically starts a slide show after startup. Example:

jpegview.exe myfilelist.txt /slideshow 3

Starts a slideshow of the files listed in "myfilelist.txt" with an interval of 3 seconds between the images.

- /effect [effect]

Sets the transition effect for full screen slideshows. The parameter has no effect if not used in fullscreen mode.

Possible effects are: None, Blend, SlideLR, SlideRL, SlideTB, SlideBT, RollLR, RollRL, RollTB, RollBT, ScrollLR, ScrollRL, ScrollTB, ScrollBT

Example:

jpegview.exe myfilelist.txt /slideshow 3 /effect blend /fullscreen

- /transitiontime [time in milliseconds]

Sets the transition time for the effect in full screen slideshows. Example:

jpegview.exe myfilelist.txt /slideshow 3 /effect blend /transitiontime 250 /fullscreen

- /monitor [monitor index]

Sets the monitor to display JPEGView, overriding the INI file setting. 0 stands for the primary monitor, any number bigger than 0 for the secondary monitor with the corresponding index. Example:

jpegview.exe "d:\pictures\jan 2013\" /slideshow 3 /fullscreen /monitor 1

- /autoexit

Terminates JPEGView automatically after having finished the slide show if combined with the /slideshow parameter.

Setting this parameter also changes the behavior of the ESC key: JPEGView terminates immediately when pressing the ESC key, also while playing a slideshow or an animated GIF.

Note that WrapAroundFolder must be set to false in the INI file - otherwise the slideshow does not finish when the end of the folder is reached.

- /fullscreen

Starts JPEGView in full screen mode, ignoring the INI file setting that is currently active.

- /order [mode]

Forces file ordering mode 'mode', ignoring the INI file setting that is currently active.

[mode] can be M, C, N or Z, for the file ordering modes 'M: modification date', 'C: creation date', 'N: file name', 'Z: random'

Example: jpegview.exe c:\pictures /slideshow 2 /order z /fullscreen

Shows a slideshow of the files in the folder "c:\pictures" using random ordering and an interval of 2 seconds, forcing full screen mode for the slide show.

- /ini [ini file title]

Uses the INI file as specified. The file extension can be omitted, ".ini" is added when it is missing. The file name must neither contain an absolute nor a relative path, nor space characters.

When the specified INI file contains the key StoreToEXEPath=true, it must be located in the EXE path and it must exist. Otherwise, the INI file will be created in the user INI path (%appdata%/roaming/JPEGView/) when it does not exist and when it is used the first time.

Example: jpegview.exe /ini AlternativeConfig

Uses an INI file named "AlternativeConfig.ini" in %appdata%/roaming/JPEGView/

Keymap - Changing Keyboard and Mouse Shortcuts

The mapping of keys to commands can be changed by editing the keymap file.

Within the keymap file it is also possible to define additional keyboard shortcuts for command that are not mapped by default. The keymap file also allows defining a command that gets executed when pressing one of the mouse buttons. Be aware that by doing so, the default mouse button functionality will be disabled.

When editing this file, make sure you follow the instructions mentioned in the keymap file itself.

Adding Support for Viewing Camera RAW Files to JPEGView

JPEGView has built in support to view the JPEG images embedded in many camera RAW files. These embedded JPEGs often have a smaller resolution than the RAW image itself but can be decoded and displayed very quickly.

Support for viewing the full size camera RAW images is provided indirectly by using the Microsoft Camera Codec pack.

This codec pack is only available for Windows Vista SP2 and Windows 7/8, but not for Windows XP!

To add support for viewing full size camera RAW files:

- Download and install the Microsoft Camera Codec pack.

Check if your camera model is supported by the codec pack.

- Add the extension(s) of the camera RAW files to be read by JPEGView to the user INI file, setting 'FilesProcessedByWIC'.

Context menu: Settings/Admin > Edit user settings...

Example for adding the extension "cr2", used by Canon cameras:

FilesProcessedByWIC=*.wdp;*.mdp;*.hdp;*.cr2

- Save the INI file and restart JPEGView.

Be warned that decoding the full size RAW images is much, much slower than just decoding the embedded JPEG!

Calling External Programs or Batch Files

In the INI file, user commands can be defined. User command can call any external program or batch file and can be integrated into JPEGView using:

- Binding to a keyboard shortcut.

- Binding to a menu item in the 'User Commands' submenu of the JPEGView context menu.

Refer to the INI file itself for a full description of the format and the features.

JPEGView itself uses this mechanism to implement the following commands:

- Shift-Del : Delete the current image file permanently - calls the command processor (cmd.exe) to delete the file.

Other commands can be added as needed, e.g. moving an image to a specific folder.

Opening Images with External Applications

JPEGView supports opening the currently displayed image in an external application (e.g. GIMP) if the application supports passing a file name on the command line (as most applications do).

To define external applications, use the 'Settings/Admin' - 'Manage 'Open with' menu' dialog. The defined applications are visible in the 'Open with' submenu of the JPEGView context menu. Binding an application to a keyboard shortcut is also possible.

Troubleshooting

JPEGView crashes when displaying an image

Maybe the CPU detection failed. Try to set the CPU type manually in the INI File (key 'CPUType'). Set this key to 'Generic' - this is slower but should run on all CPUs.

The file type .JPG can not be assigned to JPEGView using the method described in the installation section. JPEGView never appears in the list of programs for JPG files even when it is added with 'Browse'.

Maybe JPEGView was moved to another folder while the file type was already registered to it. In this case Windows loses the connection and this cannot be fixed with the Windows Explorer. Start regedit.exe and check the path in 'HKEY_CLASSES_ROOT\Applications\JPEGView.exe\shell\open\command'. Correct the path if it points to an invalid location.

The language of the user interface is in English instead of 'Portuguese/French/whatever'

Normally JPEGView selects the UI language automatically to match the operating system language. This auto detection may has failed. To force a specific language, set the

Language=language_code

setting in the INI file to the desired language code. The supported codes are listed in the INI file.

The colors of images do not look the same compared to other viewers and to the Internet browser

By default, JPEGView is not interpreting embedded color profiles in JPEG and TIFF images. You can force using these color profiles by setting the following key to true in the INI file:

UseEmbeddedColorProfiles=true

Be aware the this slows down loading of JPEG images considerably (also when no color profile is embedded) because it forces JPEGView to read the JPEG image with GDI+ instead of using the optimized TJPEG library.

The image set as desktop wallpaper does not span all screens.

In Windows 7 / 8 and later a desktop wallpaper image can span multiple screens. To create such a wallpaper, switch to fullscreen mode (F11 key) and expand JPEGView to span all screens (F12 key). Then zoom in the image so that no black borders are visible on any side of the screen and pan the image as desired. Finally select 'Set as desktop wallpaper' > 'Use processed image as displayed'.

License & Copyright

Copyright © 2006-2017 David Kleiner

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. The full text of the GPL can be found here.

JPEGView is hosted by SourceForge. You can check for a new version, get the source code or report a bug using the following URL:

https://sourceforge.net/projects/jpegview/

JPEGView contains the following binary libraries:

- Turbo JPEG, Copyright (C)2009-2011 D. R. Commander. All Rights Reserved.

Turbo JPEG is based on libjpeg, © 1994-2010, Independent JPEG Group.

- WebP codec provided by Google https://developers.google.com/speed/webp, © Google Inc.

JPEGView includes or uses the following source code libraries:

- Windows Template Library 8.1, Copyright © 2006 Microsoft Corporation

- dcraw, © 1997-2011 by Dave Coffin

Developed and compiled with Visual Studio 2010/2013 Professional

Thanks to:

- Armel for testing, bug reporting and suggestions for improvements since the very first versions

- Michi, Patrik and Michael for additional testing and ideas

- Anonymous for integration of dcraw, for viewing JPEGs embedded in camera RAW

- Franco Bianconi, Daniel Sánchez Vargas and Enrique Pineiro for the Spanish translation

- winPenPack Team and Massimo Pietrolonardo for the Italian translation

- Adil Tiadi and Fabrice for the French translation

- Anonymous for the Korean translation

- Silviu Laurentiu for the Romanian translation

- Dmitry Yerokhin for the Russian translation

- Åke Engelbrektson for the Swedish translation

- Carpegieri Torezan for the Portuguese (Brasilian) translation

- Milos Koutny for the Czech translation

- Paris Setos for the Greek translation

- Sérgio Marques for the Portuguese translation

- Xabier Aramendi for the Basque translation

- Yia Guo and 风逸兰 for the Chinese translations

- Uladzimir Panada for the Belarusan translation

- Володимир for the Ukrainian translation

- Hiroyuki Matenokoji for the Japanese translation

- Damian for the Polish translation

Index

Introduction

Installation

Using JPEGView

Getting Started

Navigation Panel

Viewing Images

Navigation

Image Information

Zoom and Pan

Auto Scale Mode

Rotate

Crop

Lossless JPEG Transformations

Slideshows and Movies

Slideshows

Movies

Processing Images

Available Processings

Keeping Parameters Between Images

Comparing to Original Image

Saving and Renaming Images

Clipboard

Printing

Parameter Database

INI File Settings

Command Line Parameters

Changing Keyboard Shortcuts

Viewing Camera RAW Files

Calling External Programs or Batch Files

Opening Image with External Application

Troubleshooting

License & Copyright

JSONEdit

TOC Index

NAME

JSONEdit - edit JSON text files

SYNOPSIS

WA2LWinTools/bin/JSONEdit [ -h | -i | -u | -V ]

JSONEdit [ file ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

JSONEdit is a simple JSON editor with text, tree and list view.

See also: https://tomeko.net/software/JSONedit/?lang=en

OPTIONS

-h

usage message.

-i

install the JSONEdit command as menu point 'JSONEdit' to the 'Send To' context menu in 'Windows Explorer'.

-u

uninstall the JSONEdit shortcut from the 'Send To' context menu in 'Windows Explorer'.

-V

print program version.

file

JSON file to load.

ENVIRONMENT

-

EXIT STATUS

0

always.

FILES

etc/JSONEdit.cfg

configuration file of JSONEdit.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), config(1m), Notepad2(1), https://tomeko.net/software/JSONedit/?lang=en

NOTES

This man page is a partial extract of https://tomeko.net/software/JSONedit/?lang=en.

BUGS

-

AUTHOR

JSONEdit was developed by Tomasz Ostrowski <https://tomeko.net/contact2.php?lang=en> and integrated into WA2L/WinTools by Christian Walther. Send suggestions and bug reports regarding the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2022 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:13 GMT, September 14, 2024

man

TOC Index

NAME

man - display manual pages on console

SYNOPSIS

WA2LWinTools/bin/man [ -h | -i | -u | -V | -w | -m ]

man [ -s section ][ -f ] manpage

AVAILABILITY

WA2L/WinTools

DESCRIPTION

display manual pages on Windows console.

When started thru a double click the manpage to be displayed can be entered interactively, when started on the command line the manpage is entered as a command line option.

When the manpage is entered interactively you can use the arrow keys to recall manual pages that you have already entered in the current man run.

Hint: The man pages are also distributed as HTML and PDF files and are located in the man/ directory.

OPTIONS

-h

usage message.

-i

install the man command as menu point 'man' to the 'Send To' context menu in 'Windows Explorer'.

-u

uninstall the man shortcut from the 'Send To' context menu in 'Windows Explorer'.

-w

print current MANPATH and MANSECT settings.

-m

list mapped manual pages as defined in the man.map configuration file.

-V

print program version.

-s section

man page section. The section has only to be specified, if a manual page appears in more then one section. Available default sections in WA2L/WinTools are 1, 1m, 3 and 4.

-f

the specified manpage is a file to be displayed in man.

manpage

manual page to be displayed.

ENVIRONMENT

%MANPATH%

semicolon separated list of manual page paths.

The manual path defined here is pre-pended to the setting in the etc/man.cfg configuration file.

EXIT STATUS

0

always.

4

usage message displayed.

5

version message displayed.

FILES

etc/man.cfg

optional configuration file of man. See man.cfg(4) for more information.

man/

location of the man pages, HTML and PDF files.

man/man.map

mapfile to map certain manual pages.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), apropos(1), less(1), man.cfg(4), man.map(4), manvi(1), whatis(1)

NOTES

man is using commands developed by other individuals, as:

mandoc

by Kristaps Dzonsons <kristaps@bsd.lv> (http://embedeo.org/ws/doc/man_windows/).

less

by Mark Nudelman (http://www.mingw.org/).

BUGS

-

AUTHOR

man was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2021 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:19 GMT, September 14, 2024

man.cfg

TOC Index

NAME

man.cfg - configuration file for man and manvi

SYNOPSIS

WA2LWinTools/etc/man.cfg

AVAILABILITY

WA2L/WinTools

DESCRIPTION

This is the optional configuration file for the man command.

FILEFORMAT

Rows starting with a # are considered as comments.

The file format is OPTION=VALUE

Between the OPTION , the = and the VALUE are no spaces.

You can comment out any OPTION or completely remove the related setting line to use the default settings.

OPTIONS

MANPATH

semicolon (;) separated list of manual page locations where the man command searches for a manual page.

The man/ directory of the WA2L/WinTools package is always set as the last manual page location in the path.

Example: MANPATH=%INSTALLDIR%\..\WA2LAnotherPackage\man

Example: MANPATH=%INSTALLDRIVE%:\bin\WA2LAnotherPackage\man

Example: MANPATH=h:\bin\WA2LAnotherPackage\man;d:\bin\WA2LExamplePackage\man

Default: MANPATH=WA2LWinTools\man

MANSECT

comma separated list of manual page sections where the man command searches for a manual page within the MANPATH.

Example: MANSECT=1,1m,3,4,2

Default: MANSECT=1,1m,3,4

EDITOR

editor used when invoking manvi (1).

Example: EDITOR=notepad2

Default: EDITOR=vi

CLEARMAN

if set to True the manual page output is cleared from the console after exiting the man command. When set to False the displayed output remains on the console after exiting the man command.

Example: CLEARMAN=True

Default: CLEARMAN=False

EXAMPLES

-

SEE ALSO

wintoolsintro(1), man(1), manvi(1)

NOTES

-

BUGS

-

AUTHOR

man.cfg was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION FILEFORMAT OPTIONS EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:20 GMT, September 14, 2024

manvi

TOC Index

NAME

manvi - edit manual pages in vi

SYNOPSIS

WA2LWinTools/bin/manvi

manvi [ -s section | -V ] manpage

AVAILABILITY

WA2L/WinTools

DESCRIPTION

with manvi manual pages located in the MANPATH as defined in the etc/man.cfg configuration file can be conveniently edited in the vi(1) editor without the need to browse to the file location.

manvi is intended to be used from the command line.

Prior to the editing the manual page file is saved automatically using the savnow(1) command internally.

See man(1) for additional information.

OPTIONS

-h

usage message.

-w

print current MANPATH and MANSECT settings.

-s section

man page section. The section has only to be specified, if a manual page appears in more then one section. Available default sections in WA2L/WinTools are 1, 1m, 3 and 4.

-V

print program version.

manpage

manual page to be edited.

ENVIRONMENT

-

EXIT STATUS

0

always.

4

usage message printed.

5

version printed.

FILES

etc/man.cfg

configuration file for man(1) and manvi(1).

var/tmp/

this is the working directory. When text blocks are saved in vi using for example the :10,20 w blk command, this is the directory where the blk file is saved to.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), man(1), man.cfg(4), vi(1)

NOTES

-

BUGS

-

AUTHOR

manvi was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:21 GMT, September 14, 2024

vi

TOC Index

NAME

vi - vi editor (GUI) for Windows

SYNOPSIS

WA2LWinTools/bin/vi [ file ... ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

This is the vi editor as known on Unix and Linux.

For a description of vi see winvi(1) in the HTML documentation.

OPTIONS

file...

list of files to edit. When installed in the 'Send To' menu the selected file(s) in 'Windows Explorer' are passed as a list of files to the vi command.

ENVIRONMENT

-

EXIT STATUS

0

always.

FILES

etc/vi.cfg

Configuration settings of vi. This file is maintained by the vi command.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), config(1m), winvi(1), http://www.atmos.albany.edu/daes/atmclasses/atm350/vi_cheat_sheet.pdf, http://www.winvi.de/de/

NOTES

vi has been developed by Raphael Molle <ramo2016@winvi.de>, Valerie Gunslay, Yves Belanger and Jose Maria Romero.

The origin of the winvi(1) manual page is the help file as distributed by WinVI with a slight modification of the header and style to fit into the remaining WA2L/WinTools manual pages.

See also: http://www.winvi.de/de/ for more information.

BUGS

On systems where the administrator has disabled the registry editing for users, it is unfortunately not possible to permanently save the settings made in the vi command.

AUTHOR

vi was developed by Raphael Molle <ramo2016@winvi.de> and others and integrated into WA2L/WinTools by Christian Walther. Send suggestions and bug reports regarding the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:33:13 GMT, September 14, 2024

WinVi

TOC Index

Table of Contents

Compatibility with Notepad

vi - File and Display Commands

vi - Positioning

vi - Editing Text

vi - Insert Mode

vi - Cursor Movements

ex - Commands

ex - Options

Search Dialog

Settings

Settings - Profile

Settings - File Type

Settings - Display

Settings - Edit

Settings - Files

Settings - Keyboard Macros

Settings - Shell

Settings - Colors

Settings - Fonts

Settings - Print

Settings - Language

Compatibility with Notepad

WinVi handles files of (nearly) unlimited size without consuming lots of memory. There are a few special characteristics in order to offer maximum compatibility with Windows Notepad:

- As a default preset, WinVi starts in input mode (this can be changed). Keyboard shortcuts like Ctrl+C (^C) for copying a selected text are available. For selecting text, hold down the shift key while typing cursor movement keys (see table). You can also use the mouse if you are in insert mode. Drag the mouse over a part of the text with the left mouse button held down. You can select an entire word under the mouse cursor by double clicking the left button.

Key

Function

^A

Select all

^C

Copy selected text into clipboard ("copy")

^X

Copy selected text into clipboard and remove ("cut")

^V

Insert text from clipboard ("paste")

{Del}

Remove selected text or character at the current cursor position

{Ins}

Switch between insert and replace mode

^{Home}, ^{End}

Move cursor to first / last text line

{Home}, {End}

Move cursor to start / end of current line

^{<-}, ^{-> }

Move cursor to previous / next start of word

Arrow keys

Move cursor to adjacent character in left / right / up / down direction

{Page ^}, {Page v}

Scroll back / forward one page of text

With WinVi, ^{End} just positions to the start of the last line. For positioning to the end of the last line, release the control key and type the {End} button again.

- For moving the cursor by the left arrow key from a start of line to the end of the previous line and vice versa, enable the corresponding checkbox in Options - Settings - Edit by activating "Line wrapping horizontal cursor movements".

- If you rename WinVi32.exe to a file name starting with the letter N (upper or lower case), the remainder of the command line is treated as one filename. Names containing spaces do not have to be set in quotes.

- If the WinVi32.exe file name starts with an N, the option for printing is /p to preserve Notepad compatibility (otherwise -p).

- In the header and footer area, filename and page number can be printed in addition to "normal" Characters (see Settings - Print).

^ To table of contents

vi - File and Display Commands

These commands are used in command mode (edit mode). From insert, replace, and ex command mode, you enter this mode by typing the {Esc} button.

Optional input is denoted as text in square brackets (can be left away), curly brackets indicate special keys. Sometimes, identifiers for designated input are set in angle brackets for highlighting. Alternative input are separated by a bar, as in |.

Command

Function

^L

Refresh text display

^G

Display file name, current line and total number of lines (:={Enter}  shows the current line number only)

^^

Open previously edited file

:args{Enter}

Show list of files to edit (argument list)

:n{Enter}

Open next file in the argument list ("next")

:n files{Enter}

Replace argument list by the specified files and opens the first one ("next"). Within the file list, the wildcard characters * and ? can be used.

:rew{Enter}

Jump back to first file of argument list ("rewind")

:e [{TAB}|file]{Enter}

Open file ("edit"); without specification of a file, the current file is read again from disk. The {Tab} key can be used to get a list of files ({Tab} = tabulator = {->| }); When dragging files from the Windows Explorer on a WinVi window, these files are appended to the argument list and the first one is opened.

!

With :n!, :e!, or :q! , a warning will be suppressed noting that the working buffer has not been saved. Any changes will be lost and the requested file is opened immediately, for :q!, vi is closed immediately.

%

#

In the filename part of the ex command line (after ":e", ":w", etc.), % is replaced by the name of the current file, #  by the name of the file, which has been previously edited. In WinVi, the special meaning can be bypassed by doubling this character.

:[.]r {TAB}|file{Enter}

Reads the text of the file ("read") and inserts it behind the current line (".") or a specified line. When specifying line 0, the text is inserted at the beginning of the working buffer.

:f file{Enter}

"file" changes the current file name (saved in %), e. g. for :w or :e  without an explicit file name.

:[1,$]w [>>][{TAB}|file]{Enter}

Writes lines of the working buffer into a file ("write"). The default line range is the entire file ($ means "the last line"). With >> , the text is appended to the file.

:[1,$]wq [>>][{TAB}|file]{Enter}

Same as :w , WinVi terminates after successfully writing the file.

:[1,$]x [>>][{TAB}|file]{Enter}

("eXit") same as :wq , but the file will only be written if the working buffer has changed.

!

Behind :w, :wq, or :x , any warnings about write protection or file existence are suppressed. The file is written in any case even if the read-only attribute is set.

:q

Close WinVi without saving ("quit")

ZZ

Shortcut for :x{Enter}  - the working buffer will be written into the current file and WinVi will be closed

:cd [..\|{TAB}|dir]{Enter}

Changes the current working directory (.. is the next higher directory) or shows the current directory if used without parameter.

:vi [{TAB}|file]{Enter}

Opens a file in a new WinVi window. Without a parameter, an empty new window is created.

z[n]{Enter}

Changes the window height to the specified number of lines (alternative: :set lines=n{Enter})

:ve

Shows the vi Version

^]

Searches the word at the cursor position in the tags file and jumps to the appropriate file and position. "tags" is a text file consisting of lines each describing the definition of a word. Three tab-separated fields contain name, filename, and an ex command to locate the identifier within the file.

^T

Jumps to the previous position in the tags stack.

^ To table of contents

vi - Positioning

Command

Function

[n]^E

Scroll up the display by one line (n lines). The cursor remains in the current display line as long as scrolling can be performed.

[n]^Y

Scroll down the display by one line (n lines). The cursor remains in the current display line as long as scrolling can be performed.

[n]^D

Scroll up the display by half a window (n times). The cursor keeps its screen position.

[n]^U

Scroll down the display by half a window (n times). The cursor keeps its screen position.

[n]^F

Scroll up the display by a full window (n times / "forward"). The cursor keeps its screen position.

[n]^B

Scroll down the display by a full window (n times / "back"). The cursor keeps its screen position.

z[n]{Enter}

Move the current line and the cursor to the top. The window size can be set to n lines.

z[n].

Move the current line and the cursor to the center of the window. The window size can be set to n lines.

z[n]-

Move the current line and the cursor to the bottom. The window size can be set to n lines.

^ To table of contents

vi - Editing Text

Command

Function

[n]i[text]{ESC}

text is inserted before the cursor position (n times) ("Insert mode" after i I a A s S )

[n]I[text]{ESC}

text is inserted at the start of the current line (n times)

[n]a[text]{ESC}

text is inserted behind the cursor position (n times)

[n]A[text]{ESC}

text is inserted at the end if the current line (n times)

[n]x

delete character at the cursor position on the current line (or n characters from the cursor position)

[n]X

delete (n) character(s) left of the current cursor position

[n]J

join n lines (default n = 2). A space is inserted at each former newline position if the preceding character is not one of ( { [ space or tab and the following character (after indenting tabs and spaces) is not ) } ] . , ; or :

["{x}][n]d<move>

delete text up to the end of the (n-th) cursor movement <move> (and save it in the named buffer "x), if used with <move> w, W ("delete word") or `{x} the deleted text ends before the cursor movement; additionally, the previously deleted text is available in the unnamed buffer and can be inserted simply with P or p .

["{x}][n]D

corresponds to d$  (delete to the end of line)

["{x}][n]dd

delete entire line(s). This is also put into the named buffer "1, the old contents of buffer "1 are moved into buffer "2 etc. up to "9). If specified, the deleted text is also saved in the named buffer "x (see also copy text )

[n]r{x}

replace one (or n) character(s) in the current line by the character "x", starting at the cursor position. If count exceeds the number of remaining characters on the line, further characters are appended.

[n]R[text]{ESC}

replace (n times) the text in the current line at the cursor position by "text" (replace mode)

[n]~

change case (n times) within the current line starting at the cursor position. When used for non-ASCII characters, the result depends on the current character set.

[n]c<move>[text]{ESC}

change text up to the end of the (n-th) cursor movement <move> to "text"; the specification of w or W is treated as ce or cE  if the cursor is not positioned on a white space.

[n]C[text]{ESC}

corresponds to c$  (change to the end of the line)

[n]!<move><cmd>{Enter}

the text up to the end of the (n-th) cursor movement <move> is replaced by the output of the external command <cmd>, the selected text is sent as standard input to the started program <cmd>  (e. g. sort or grep)

[n]s[text]{ESC}

replace (n) character(s) within the current line by "text" ("substitute"); corresponds to cl

[n]S[text]{ESC}

replace line(n) by "text"

[n]> <move>

indent line(s) up to the cursor movement, all lines in between are indented by the number of spaces specified in shiftwidth= (default 4 spaces), if the resulting number of spaces reach the value of tabstop=  setting, the spaces are replaces by the appropriate number of tabs.

[n]>>

line(s) are indented.

[n]< <move>

(n) line(s) up to the cursor movement <move> are unindented (by up to shiftwidth=  spaces).

[n]<<

unindent line(s).

Copy and Paste

["{x}][n]y<move>

copy ("yank") the text up to the end of the (n-th) cursor movement <move> (into the named buffer "x). "x can be any letter, if uppercase letters are used (e.g. "Xy$), the text is appended to the previous contents of the buffer (also with d D). As with d and c, y`{x}  yanks up to the position before the mark.

["{x}][n]Y

save entire line(s)

["{x}][n]yy

corresponds to Y

["{x}][n]p

insert ("put") saved text (from buffer "x ) behind the position (n times), entire lines are inserted behind the next line end.

["{x}][n]P

insert text before the cursor or before the current line.

Undo and Repetitions

u

undo last change

[n].

repeat last changing operation (with new repeat factor or line number n); WinVi can undo several changes by repeating u with ".". When typing u again, the last undo is reverted, i.e. the original change is done again ignoring any number specification before u .

"{m}[n]p

insert the text of the m-th previous deletion or yanking of entire lines (n times) after the current line (P  - before the current line).

&

repeat the last substitute command (:s - see ex commands )

^ To table of contents

vi - Insert Mode

^H   or   {Bksp}

delete last typed character (within the current line only)

^W

delete last typed word

^D

unindent the current line by   shiftwidth=   character positions

0^D

unindent current line as far as possible

^T

indent current line by   shiftwidth=   character positions

{Esc}

exit insert mode, continue in command mode

^ To table of contents

vi - Cursor Movements

[n]k or {Up} or ^P

(n lines) up

[n]h or {<-}

(n characters) to the left

[n]l or {->} or {Space}

(n characters) to the right

[n]j or {Down} or ^N

(n lines) down

[n]-

position to the first printable character (i.e. the first non-space character) of the preceding (n-th) line

[n]+ or {Enter}

position to the first printable character of the (n-th) following line

0

(zero) start of line

[n]^

first printable character behind the (n-th) preceding start of line

[n]|

first (n-th) character column

[n]$

(n-th) following end of line

[n]G

last (n-th) line of file, first printable character

``

jump back to the position before the previous jump with absolute address

''

jump back to the start of the line of the previous absolute jump

[n]H

top (n-th) screen line, first printable character

M

center screen line, first printable character

[n]L

bottom (n-th) screen line, first printable character

Searching Specific Characters

[n]f{x}

skip to the (n-th) following occurrence of character "x" on the current line ("find")

[n]F{x}

skip to the preceding (n-th) occurrence of character "x" on the current line

[n]t{x}

position before the (n-th) following occurrence of "x" on the current line ('till x)

[n]T{x}

position behind the (n-th) preceding occurrence of "x" on the current line

[n];

repeat the previous f F t T  positioning (n times)

[n],

repeat the previous f F t T  positioning (n times), but in opposite direction

%

search for the opposite brace, parenthesis, or square bracket { ( [ ] ) }

Word Boundaries

[n]w

(n-th) following start of a word ( = sequence of letters, digits, underline or sequence of printable characters not of this group)

[n]W

(n-th) following start of a word behind a space, tab, or line separator

[n]e

(n-th) following end of a word

[n]E

(n-th) following end of a word behind a space, tab, or line separator

[n]b

(n-th) preceding start of a word

[n]B

(n-th) preceding start of a word behind a space, tab, or line separator

Position Markers

m{x}

mark the current position with letter "x"

`{x}

jump to marked position "x"

'{x}

jump to the first printable character of the line containing mark "x"

``

jump back to the previous jump position (before entering `x, 'x,  ``, or '')

''

jump to the first printable character of the line of the previous jump position

Search for Character Strings

[n]/[expr][/]{Enter}

search for the (n-th) following occurrence of a character string, matching <expr> ("RE" - "regular expression"). If <expr>  is left empty, the previously specified expression is used again.

[n]?[expr][?]{Enter}

search for the (n-th) preceding occurrence

[n]n

search for the (n-th) occurrence of the previously searched expression ("next") in the original direction

[n]N

search for the (n-th) occurrence of the previously searched expression in the opposite original direction

``

jump back to the position where the last search started

''

jump back to the first printable character of the line where the last search started

Elements for Regular Expressions

^

start of line

$

end of line

.

match any character except end-of-line characters (CR-LF, CR, LF, RS, NUL)

\

"quotes" the following character (disables or enables the special meaning of it). The affected characters are ^ $ . * [ ] \ and / ?  for search operations.

\<

start of word (see word boundaries)

\>

end of word

[list]

a character of the list

[^list]

a character not being part of the list

[x-y]

a character within the range from "x" to "y" (Example: [0-9A-Za-z_] )

*

defines a sequence of any length of the preceding character (e. g. ".* "=any sequence of any non-newline characters including the empty string)

\(expr[\|expr]\)

(search for one of the alternative expressions), select the matched string for reference in substitution strings in :s

\x

WinVi-specific: match the letter x exactly as typed disregarding the current ignorecase setting (see ex - Options )

\%hh

WinVi-specific: the character with the specified hexadecimal encoding <hh>  (also matches end-of-line characters)

^ To table of contents

ex - Commands

In WinVi, a list of available ex commands can be requested by typing the tab key after the initial colon. Generally, the tab key can be used to automatically complete the current argument on the ex command line. This is especially useful for expanding file names.

File commands have been discussed earlier and will not repeated here.

Command

Function

:[.[,.]]s/expr[/rep[/[g][c]]]{Enter}

Substitution - replace (between lines m and n, default is current line) the first (or all if g is specified - "global") <expr> matching string by <rep> (empty string if not specified). Instead of "/", any other special character can be used as separator.

c  requests a confirmation before each substitution.

:[.[,.]]s [g][c]{Enter}

Repeat the last substitution with the previous values for <expr> and <rep>

Line numbers:

.

current line

+|- [n]

each specified line number can be incremented or decremented by appending   +|- [n]   , if n is missing, an increment/decrement value of 1 is assumed

n

n-th line

$

last line of file (use shortcut % for 1,$ )

'{x}

line containing marker "x"

/expr/

next line matching <expr>  starting the search at the following line

?expr?

next preceding line matching <expr>  starting the search at the preceding line

<rep>  (replacement string):

&

the string matched with <expl>

\n

the string matching the n-th with  \( \)   surrounded search pattern (number between 1 and 9)

Control codes:

^V

disables the special behaviour of the following control key and prompts the hexadecimal special notation in the ex command line. Example for the replacement of all Unix end-of-lines by Windows line ends in WinVi: When typing :%s/^.*{^V}{^J}/&{^V}{^M}{^V}{^J}/{Enter}, the command :%s/^.*\%0a/&\%0d\%0a/  is executed.

:[.[,.]]d{Enter}

delete the specified line(s) (corresponds to  dd )

:.{Enter}

place the cursor on the first printable character of the specified line

^ To table of contents

ex - Options

Boolean values are changed with the command   :set <option>{Enter}   for activating and   :set no<option>{Enter}   for deactivating the specified flag, other options (denoted with  = ) expect numerical or string values. Many options can be abbreviated.

In WinVi, a list of available options is displayed when typing   :set{Space}{Tab}  .

all

display of all options and its current settings. In WinVi, the Settings dialog is opened.

ai

autoindent

0

automatic indenting as in the preceding line, after O  (Open) as in the following line

aw

autowrite

0

automatic save of changes in the current file when opening another file

ic

ignorecase

1

ignore upper or lower case when searching (also applies to national special characters like accented vowels)

magic

1

special handling of   . * ? [ ]   when searching (if nomagic is set, the special meaning is activated by a preceding \ )

list

0

display of tab characters as   ^I    and unconditional display of end-of-line codes

nu

number

0

display of line numbers

ro

readonly

0

display a warning when trying to save the current file

sm

showmatch

0

when inserting a closing parenthesis, brace or square bracket, the corresponding opening parenthesis is highlighted for one second,

when positioning the cursor in command mode on any parenthesis, brace or square bracket, the corresponding one is highlighted for one second.

terse

0

some status messages are displayed in short form

vo

viewonly

0

prevents changing the current buffer (in WinVi only)

ws

wrapscan

1

searching wraps around end/start of file

am

ansimode

1

WinVi-specific: treating the current file as ANSI text

dm

dosmode

0

WinVi-specific: treating the current file as DOS text with OEM character set

hm

hexmode

0

WinVi-specific: display in hexadecimal mode

co=

columns=

set width of window to specified number of characters

lines=

set the window height to the specified number of lines

scroll=

0

maximum number of line scroll operations used for positioning, the value 0 is replaced by the number of visible lines - 2

sw=

shiftwidth=

4

number of space positions inserted or deleted when indenting/unindenting with   > < ^T ^D    at the start of a line

ts=

tabstop=

8

number of character positions used for displaying a tab

tags=

list of file names used for the  :tag   command

tmpdirectory=

directory used for temporary files (default: system TEMP folder)

ansicodepage=

name of the Windows NLS resource used for display and input in the corresponding mode (default is depending on the Windows system or the regional settings), see also  Character Tables  in section Settings - File Type

oemcodepage=

see above

^ To table of contents

Search Dialog

This dialog appears when typing {Alt+F3} or when choosing the corresponding toolbar button or menu entry. The search dialog contains the following fields:

- Search string

Enter the string to search for. This is a regular expression pattern if the following checkbox is activated. Otherwise, the string is matched literally.

- regular expression search

Activate this option to search a pattern which is built according to the regular expression rules. If deactivated, the search is carried out literally. If this option is combined with the hexadecimal flag, any \x prefix can be omitted in the search pattern. The dot (.) still matches an entire byte, not just a hexadecimal digit.

- hexadecimal

The search string is interpreted as a sequence of hexadecimal numbers. Spaces can be inserted for separating hexadecimal codes of the bytes.

- match case

The upper or lower case of letters will be observed when activated. This flag is prefilled according to the ignorecase option but can be changed to override this option.

- whole word

The option corresponds to surrounding the search pattern by the regular expression elements \< and \>.

- wrap around EOF

Search continues at the start/end of the buffer if no occurrence is found. This flag is prefilled according to the wrapscan option but can be changed to override this option.

- up / down

Use this selection to choose a direction for searching.

- Find next

Push the button to actually search. The next found occurrence of the search string is highlighted if the search is successful.

- Replace >>

This button expands the dialog by replace options. It can be pushed after a successful search.

- Replace string

This field is visible after pushing the "Replace >>" button. Specify a replacement string if you want to change the found text.

- Replace

Push this button to replace the highlighted occurrence of the search string. This button is disabled if no text is selected.

- Replace All

Push this button to replace all occurrences of the search string within the file.

^ To table of contents

Settings

The contents of the tab sheets is described in the following sections. Outside of the tab sheets, there is a Profile selection dropdown box at the upper border of the dialog for file specific settings. When selecting a different profile, all settings are changed as previously saved for that profile. Creating and automatic selection of profiles is described in the next chapter. At the bottom of the dialog, there are selection controls for permanently saving the current settings and the usual buttons for Apply, OK and Cancel.

Settings - Profile

Profiles can be set up if different settings should be applied to files with different extensions or paths.

The settings of a particular profile are automatically loaded when a file with a corresponding path or extension is opened or when the path or name of the current file changes and relates to a different profile afterwards.

File name comparison is case insensitive. For yet unnamed files or files without a full path, the current working folder is used to select an appropriate profile.

If several profiles can be found for the current file, the best matching profile will be used. This search determines the first profile out of the following list:

1. first profile with empty extension field and a longest possible match of the path, if there is no other profile matching at least the same path length and at least one extension, otherwise

2. first profile matching the path as far as possible and matching one extension, otherwise

3. first profile with empty extension and matching the path as far as possible, otherwise

4. first profile with an empty path matching one extension, otherwise

5. first profile except "(default)" with empty path and extension fields, otherwise

6. the Default profile.

The steps for creating a new profile are:

1. First, select a profile with the settings that are most in common with the new profile settings. This prevents exhausting adopting the same settings again. When creating your first profile, only the "(default)" profile is available. When selecting another profile, the relating settings are loaded immediately.

2. Push button "Create new profile..." in the profile tab sheet of the settings dialog and

3. enter a name for identifying the new profile, then push "OK".

4. Now you can enter paths and/or file name extensions into the two fields, which should be used to select the new profile. Multiple specifications should be separated by comma or semicolon.

5. The checkbox "Permanent setting as default for this dialog box" specifies if the bottom "Permanent setting" option is activated by default. This can also be set for the Default profile.

6. The current settings in the other tab sheets still contain the values of the previously loaded profile. You can change them now as desired.

7. Finally, the new settings are saved and applied by selecting "Permanent setting" and clicking the "OK" button.

^ To table of contents

Settings - File Type

This dialog affects the procedure for opening a file. These options do not change the current operating mode.

- Standard newline character

In the first group, the standard encoding of end-of-line indicators are defined. This setting determines how to handle the return/enter key in input/replace mode, on the other hand it defines which newline encodings will not be indicated with additional special symbols. If the current setting is not set to CR/LF, the status bar indicates the non-default newline handling with [Lf] or [Cr], depending on the type of text (after Ctrl+G or after reading or writing a file).

- Initial text / hexadecimal mode

In the lower left corner, an automatic switch between text and hexadecimal view is selected for open operations of a file.

Text or hexadecimal display for already loaded files can be selected in the toolbar or menu Options -> Hex edit mode in the main window.

- Initial character set

In the top right corner, the automatic selection of code pages can be specified. This selection is also applied only when a file is being opened. ANSI is the usual setting for Windows files. The PC character set (also called OEM character set) uses different codes for several special characters and is mostly used in DOS programs. The third choice (EBCDIC) is rare, it is sometimes necessary for compatibility with related computer systems.

- Character mapping

In the 32-bit version of WinVi, the bottom right corner of this tab sheet shows a codepage selection field for ANSI and PC character sets. These values should only be changed if working with foreign language files. With the default setting ("system"), the system default codepages are used, e. g. 1252 for western ANSI character encoding and 437 for the original American OEM character set.

These codepage settings are used when switching between ANSI and DOS character sets. On the other hand, they are used for converting Unicode texts inserted from the clipboard.

Please note that the actual representation depends on the font settings. It cannot be changed for all fonts.

In the Windows registry key [HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Nls\Codepage], the installed resources are listed, which can be used for the code page settings. If necessary, the needed files can be extracted from the CAB files of the system installation CD, copied into the system folder and entered into the registry.

^ To table of contents

Settings - Display

In this dialog, the visual appearance can be modified.

- ShowMatch (highlight matching parentheses)

If a positioning command places the cursor on a parenthesis, a brace or a square bracket (i.e. (, ), {, }, [ or ]), the relating counterpart is highlighted for one second, if its position is within the visible part of the window. In insert mode, highlighting only appears after input of a closing parenthesis, brace or square bracket. This value can also be set with the command ":set [no]showmatch".

- Terse (short status messages)

Some messages displayed in the status bar are show in a short form (e. g. after reading a file). This value can also be set with the command ":set [no]terse".

- Automatic activation on file drag & drop

When dragging a file on the WinVi window (e. g. from the Windows Explorer) the WinVi window is automatically put into the front.

- Line numbers

A line number is displayed in front of each line. The line numbers count from 1. This value can also be set with the command ":set [no]number".

- Refresh background bitmap

When using a background picture for the main display, the picture may be misarranged after adding or deleting lines. If this setting is activated the following lines are refreshed in this case. This setting has no effect if no bitmap background is selected.

- Hexadecimal address representation (hexadecimal mode only)

The addresses in hexadecimal mod (first column) are usually displayed as decimal numbers. With this setting, the numbers are hexadecimal.

- TabStop

This value describes the distances between tab positions in text mode. The default value of 8 means, that each eight character positions from the first column another tab stop is set. When using a proportional font, the average character width is used. This value can also be set with the command ":set tabstop=N".

- Maximum scroll range

For Positioning outside of the current window, this value specifies the maximum number of lines to scroll. If positioning would require more scrolling, the entire text area of the window is redrawn with the new target position centered in the middle. A value of 5 means that jumps to lines within the range of 5 lines before and behind the visible window are done by scrolling. Any movement outside of this area results in a direct jump. The value 0 has a special meaning, it replaces a number of the visible lines - 2. This value can also be set with the command ":set scroll=N".

^ To table of contents

Settings - Edit

In this dialog, you can change settings for editing.

- Initial insert mode

If the initial insert mode is activated, you can start typing text immediately after the start of WinVi. If deactivated, WinVi works in command mode when started. If this option is deactivated, WinVi also changes into command mode after file operations, e. g. when typing the save toolbar button.

- AutoWrite

If this option is activated, a changed file buffer is automatically written when opening another file.

- AutoIndent

When inserting new lines with 'O', 'o' or when typing the enter key in insert mode, the new line will get the same white space area as the line from which the inserting operation is initiated. The indentation is done with as much tab characters as possible, the remaining space is filled up with spaces. If tabstop is set to just one space, only spaces are used to indent.

- Line wrapping horizontal cursor movements

If activated, the cursor right key jumps into the next line if it is already positioned at the last character of a line. Analogously, a left cursor movement from the first column positions to the last position of the preceding line. Additionally, the backspace key deletes the preceding newline character if typed in the first column in insert mode.

- Multi-line !/c/d/y operations on entire rows

Multi-line shell, change, delete, or yank operations are extended to the entire lines if this option is activated. For example, as with a standard vi, the command dj delete two lines, the result is the same as with 2dd. If this option is deactivated, the command dj just removes the text between the current cursor position and the same column in the next line, while 2dd still removes two entire lines.

- Undo memory

The entered value determines the maximum memory amount used for saving removed or replaced text areas for later undo. When reaching the specified memory amount, the oldest undo information is removed. Any older operation cannot be undone afterwards.

- ReadOnly as default

If this option is activated, the file buffer is marked as read-only. This flag can be set even if the actual file is not marked as read-only. The file attribute remains unchanged. Note that the read-only flag can be bypassed with the command :w!. So, this flag does not provide real protection against overwriting a file. This value can also be set with the command ":set readonly".

- ShiftWidth: ... spaces

In this field you can specify how many spaces are inserted or deleted with the commands << and >>.

- WrapScan (search across EOF)

If this option is set, an unsuccessful forward search continues at the beginning of the file. Analogously, an unsuccessful backward search is continued at the bottom of the file. This value can also be set with the command ":set wrapscan".

- IgnoreCase (upper case same as lower case)

This option activates case independent search operations. This also applies to national special characters (accented vowels etc.) as defined by the currently selected character set (ANSI / DOS / EBCDIC). This value can also be set with the command ":set ignorecase".

- Magic (regular expression matching)

If magic is switched off, search patterns (regular expressions) handle the characters ., *, [, ] and ? literally. Use the \ character to enable the special meaning for regular expression search. With enabled magic option, these characters have the meaning as described in table Regular Expressions. The characters ^ and $ always have a special meaning, this is independent from the magic setting.

^ To table of contents

Settings - Files

This dialog offers file specific settings.

- Start disk paging at occupation of ... KByte

Starting at the specified file size, a swapping file is automatically generated in the directory for temporary files. This reduces the virtual memory consumption and usually makes the system much faster. The swapping files get a name of the form wvi*.tmp.

- Use system default temp folder

Indicate the directory where to write the swapping intermediate files described above.

- Tags file list

Specify the list of tag files here which are used to lookup identifier definitions. The files can be separated by comma or semicolon.

- Quit immediately if more files to edit

When the main window is closed, WinVi normally checks the argument list (see ex command :args) if there are further files behind the current file. By activating this flag you can disable this check. If activated, a message box informs you of more files to edit if the current file is not the last one and you have to close the window again to really exit.

- Server tab expansion in domains/workgroups

This list is used for listing host names if you try to tab-expand a UNC file name at the host portion of the file name. In many networks, there are domains or workgroups which can be reached only after waiting some time. You can reduce the waiting time after typing ":e \\{Tab}" by specifying the main host groups in this list which is always easily accessible. The default value is * which expands to all domains and workgroups where a particular host names should be searched in. The entries in this list can be separated by comma or semicolon. The wildcard characters * and ? can be used to filter part of domain/workgroup names.

- Lower-case file names

This option allows filenames to be converted to lower-case characters for better readability if you are used to handling with Unix file names. Be careful when using this option with networked resources, especially with NFS. In many cases, these file systems distinguish between upper and lower case.

^ To table of contents

Settings - Keyboard Macros

In this dialog you can change the keyboard settings.

- Defined Macros

This list shows the currently defined keyboard macros. It is empty if you did not yet define any keyboard shortcut. For changing or deleting an existing macro, first select the macro name before changing the properties in the right part of this tab sheet.

- Map

This choice allows a conversion of any input key sequence to an "executable" character sequence.

- Abbreviation

In contrast to a map entry, this choice is used to expand abbreviated words. The input key sequence is echoed while typing and will be replaced after finishing input of the abbreviation. To initiate abbreviation lookup, it is necessary to enter a special character or to finish input with {Esc}.

- Name

The name entered in this field is not used for macro processing. It is just a convenient handle for the user to identify the macro in the selection list.

- Input key sequence

Here, the input keys are described. Special keys like function or cursor keys can be denoted in readable form. Spaces can be interspersed for readability. To avoid misinterpretation, any characters (especially spaces) that are to match exactly, should be surrounded by single or double quotes.

- Key sequence to replace with

This is the "target" key sequence, i.e. it is the key sequence WinVi operates with. This can be input text, mode change keys, cursor movement keys or menu choice keys. The same syntax rules as for the input key sequence apply.

- Insert / replace mode

Macro replacement is done if WinVi was in insert mode (I-beam cursor) at the beginning of the input key sequence.

- Command mode

Macro replacement is done if WinVi is was in command mode (block cursor) at the beginning of the input key sequence.

- Command line mode (ex commands)

The macro replacement is done on the ex command line in the lower window area.

- Set

Use this button to add the macro definition to the list.

- Delete

This deletes the selected macro definition from the list.

^ To table of contents

Settings - Shell

In this dialog you can change the settings for external shell commands.

- Path and file name of shell

This is the command interpreter executing external commands. Usually, this field contains COMMAND.COM for Windows 95, Windows 98 and Windows Me, maybe preceded with the path. For Windows NT, Windows 2000 and Windows XP, the command interpreter is CMD.EXE.

- Format of shell command

This field describes the call of a single command. %0 is used for command interpreter described above. %1 is replaced by the actual shell command to execute. The standard value is %0 /c %1 . When using another shell (e. g. Cygwin bash), this field should be adjusted accordingly, e. g. %0 -c "%1" .

- Expand tab key with forward slash for directories

It might be necessary to use forward slashes instead of backslashes when using particular command interpreters (e. g. Cygwin bash). Activate this option if WinVi should use forward slashes for external commands.

- URL for help file

Enter the URL of this help file in this field. This value is handed to the browser when typing the help key (F1). A local file starts with the prefix file:// , external HTTP-URLs are beginning with http://. Any occurrences of %EXEPATH or %LANG are replaced by the path of WinVi or the current language used respectively. A trailing # delimits the anchor name reference within the file, which is automatically appended by WinVi.

^ To table of contents

Settings - Colors

In this dialog you can change the colors used for the text presentation in the main window.

- Edit area

Here you can specify how the main area of the editor appears.

- Selected area

These colors are used to display the selected area. They are also used for selections resulting from the c command (see vi - Editing Text).

- Matched parenthesis

If the ShowMatch option is activated (see Settings - Display), relating parentheses are highlighted. The colors for this purpose are set here.

- End of line

The special characters for indicating non-standard line end codes as well as the tilde used for indicating the end of file are show in this color.

- Basic colors

In this section the basic colors can be chosen which are available without dithering even with very low color resolution.

- User defined

In this subdialog, any available color can be mixed.

- Background bitmap

You can select a bitmap file to be used as the background for non-selected areas in the main window (see also "Refresh background bitmap" in Settings - Display).

- System color

For the main area and for selected text the system color specifies the colors defined in the display section of the control panel.

^ To table of contents

Settings - Fonts

In this dialog you can choose the fonts used for text display in the main window area.

- Text Mode

This font is used for normal text display when hexadecimal mode is switched off. Besides fonts with constant character widths you can also select proportional fonts. However, the more complex calculations for positioning require additional resources resulting in slower display.

Some fonts (e. g. Courier New, Lucida Console or Arial) allow the selection of several national character set layouts. If you do not use the default value here, it may be a good idea to also change the codepage settings (see Settings - File Type).

- Hexadecimal Mode

Here, you specify the font face used in hexadecimal mode. Generally, proportional fonts are also available here but they are not recommended because of the irregular alignment.

^ To table of contents

Settings - Print

This dialog contains all settings for printing.

- Border Distances

Specify the distances between paper edges and the printed area here.

- Border Area - Header text

Here you can enter a title text printed in top of the first line of each page. There are a few character sequences that are replaced:

&n

This is replaced by the name of the current file.

&p

The serial number of the current printing page is inserted here.

&&

Two ampersands are printed as one literal ampersand in the header or footer line.

- Border Area - Footer text

This text is printed at the bottom of each printing page. You can use the same special character sequences as in the border area.

- Border lines

If activated, a thin black line is drawn around the printed area.

- Boxed header / footer

This flag activated printing of a thin black line around the header and footer text lines.

- Print line numbers

Each text line of the file is preceded by a line serial number. In long lines split on several printing lines only one number is printed in front of the first printed line.

- Paper Format - Use default

This selection activates the predefined default orientation of the paper.

- Paper Format - Portrait

This selection activates the portrait orientation, i.e. the top line is positioned at a short paper edge.

- Paper Format - Landscape

This selection activates the landscape orientation, i.e. the top line is positioned at a long paper edge.

- Paper Format - Double column

When choosing this point, the text is printed in two columns with a long paper edge in top of the first print line. When activating the  Separator line  a thin separator line is printed between the two text columns.

- Font

Select the printing font here. This font is also used for printing the header and footer areas.

^ To table of contents

Settings - Language

Select the language used for menus, dialog boxes, and other messages in the status bar.

The 32-bit version of WinVi sometimes shows messages provided by the system. These messages are not translated.

- Automatic selection

With this selection, the system settings are used. That is the language chosen in the Regional Settings area of the Control Panel. However, English is used as the default if the system language is not available.

^ To table of contents

savnow

TOC Index

NAME

savnow - create a copy of file(s) with a date and time in file name

SYNOPSIS

WA2LWinTools/bin/savnow [ -h | -i | -u | -V ]

savnow [ -d ] file...

AVAILABILITY

WA2L/WinTools

DESCRIPTION

save (create a copy of) one or more files by adding a date and time to the file name before the file suffix.

If the SHIFT key is pressed, the original file is opened in the associated application after a successful save of the file.

Examples (executed on December 6th, 2014, 16:05) without pressing the CONTROL key:

budgets.xlsx               ==>  budgets.201412061605.xlsx

book.v1.docx               ==>  book.v1.201412061605.docx

article.20141206.docx      ==>  article.201412061605.docx

anycalc.20140115.xlsx      ==>  anycalc.201412061605.xlsx

logbook.201401151259.xlsx  ==>  logbook.201412061605.xlsx

agendas.15012014.xlsx      ==>  agendas.201412061605.xlsx

todolst.125915012014.xlsx  ==>  todolst.201412061605.xlsx

Examples (executed on December 6th, 2014, 16:05) when pressing the CONTROL key:

budgets.xlsx               ==>  budgets.160506122014.xlsx

book.v1.docx               ==>  book.v1.160506122014.docx

article.20141206.docx      ==>  article.160506122014.docx

anycalc.20140115.xlsx      ==>  anycalc.160506122014.xlsx

logbook.201401151259.xlsx  ==>  logbook.160506122014.xlsx

agendas.15012014.xlsx      ==>  agendas.160506122014.xlsx

todolst.125915012014.xlsx  ==>  todolst.160506122014.xlsx

OPTIONS

-h

usage message.

-i

install the savnow command as menu point 'savnow' to the 'Send To' context menu in 'Windows Explorer'.

-u

uninstall the savnow shortcut from the 'Send To' context menu in 'Windows Explorer'.

-V

print program version.

-d

save the file into the .sav/ sub-directory and not alongside to the given file.

file...

list of files of which to create a copy. When installed in the 'Send To' menu the selected file(s) in 'Windows Explorer' are passed as a list of files to the savnow command.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage message displayed.

5

version message displayed.

FILES

-

EXAMPLES

-

SEE ALSO

wintoolsintro(1), sav(1), config(1m), vcp(1)

NOTES

-

BUGS

-

AUTHOR

savnow was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2022 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:55 GMT, September 14, 2024

sav

TOC Index

NAME

sav - create a copy of file(s) with a date in file name

SYNOPSIS

WA2LWinTools/bin/sav [ -h | -i | -u | -V ]

sav [ -d ] file...

AVAILABILITY

WA2L/WinTools

DESCRIPTION

save (create a copy of) one or more files by adding a date to the file name before the file suffix.

If the SHIFT key is pressed, the original file is opened in the associated application after a successful save of the file.

Examples (executed on December 6th, 2014) without pressing the CONTROL key:

budgets.xlsx               ==>  budgets.20141206.xlsx

book.v1.docx               ==>  book.v1.20141206.docx

anycalc.20140115.xlsx      ==>  anycalc.20141206.xlsx

logbook.201401151259.xlsx  ==>  logbook.20141206.xlsx

agendas.15012014.xlsx      ==>  agendas.20141206.xlsx

todolst.125915012014.xlsx  ==>  todolst.20141206.xlsx

Examples (executed on December 6th, 2014) when pressing the CONTROL key:

budgets.xlsx               ==>  budgets.06122014.xlsx

book.v1.docx               ==>  book.v1.06122014.docx

anycalc.20140115.xlsx      ==>  anycalc.06122014.xlsx

logbook.201401151259.xlsx  ==>  logbook.06122014.xlsx

agendas.15012014.xlsx      ==>  agendas.06122014.xlsx

todolst.125915012014.xlsx  ==>  todolst.06122014.xlsx

OPTIONS

-h

usage message.

-i

install the sav command as menu point 'sav' to the 'Send To' context menu in 'Windows Explorer'.

-u

uninstall the sav shortcut from the 'Send To' context menu in 'Windows Explorer'.

-V

print program version.

-d

save the file into the .sav/ sub-directory and not alongside to the given file.

file...

list of files of which to create a copy. When installed in the 'Send To' menu the selected file(s) in 'Windows Explorer' are passed as a list of files to the sav command.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage message displayed.

5

version message displayed.

FILES

-

EXAMPLES

-

SEE ALSO

wintoolsintro(1), savnow(1), config(1m), vcp(1)

NOTES

-

BUGS

-

AUTHOR

sav was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2022 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:55 GMT, September 14, 2024

vcp

TOC Index

NAME

vcp - create a copy of a file with a new version number

SYNOPSIS

WA2LWinTools/bin/vcp [ -h | -i | -u | -V ]

vcp file...

AVAILABILITY

WA2L/WinTools

DESCRIPTION

create a copy of the file by incrementing the version number (if the destination file does not already exist).

vcp scans the file name for a version number pattern and increments the version found by 1:

User Manual V1.0.docx => User Manual V1.1.docx

When a file contains multiple matches to recognized version numbers, the last one is the one handled as version and is incremented:

Ubuntu V14.1 Cheatsheet-V1.0.3.tex => Ubuntu V14.1 Cheatsheet-V1.0.4.tex

When a file name ends with a timestamp (before the suffix) as created using the sav(1) or savnow(1) commands, the timestamp is removed and the version number is incremented:

Capacity Calculation V2.5.03.20141225.xlsx => Capacity Calculation V2.5.04.xlsx

Finally, when a file name does not contain a recognized version number pattern, the new file is created with the default first version as defined in the VERSIONSTART=-V0.1 setting in the configuration file vcp.cfg(4). The VERSIONSTART setting accepts any value, but a setting should be chosen that can be computed by vcp later:

My Mansion Plan.dxf => My Mansion Plan-V0.1.dxf

vcp can handle the following version number formats (VERSION):

VERSION ::= PREFIX, DIGIT, { DIGIT }, { ".", DIGIT, { DIGIT } }

| "(", DIGIT, { DIGIT }, ")" ;

PREFIX  ::= " " | "_" | "-" | "v" | "V" | "#" ;

DIGIT   ::= "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" ;

In other words:

vcp can handle version numbers starting with any of the PREFIXes (SPACE,_,-,v,V,#) optionally having dots (.) to reflect major, minor, patch etc. versions or numbers without dots enclosed in round brackets.

Examples of resolved VERSION numbers based on the EBNF definition above:

V12.34.56.789

V12.3.45.67

V12.3.45.6

V12.3.45

V12.3.4.56

V12.3.4.5

V12.3.4

V12.34

V12.3

V1.2

V123

V12

V1

(123)

(12)

(1)

OPTIONS

-h

usage message.

-i

install the vcp command as menu point to the 'Send To' context menu in 'Windows Explorer'.

-u

uninstall the vcp shortcut from the 'Send To' context menu in 'Windows Explorer'.

-V

print program version.

file...

list of files of which to create a copy. When installed in the 'Send To' menu the selected file(s) in 'Windows Explorer' are passed as a list of files to the vcp command.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage message displayed.

5

version message displayed.

FILES

etc/vcp.cfg

config file for vcp.

file

file to create a new version copy.

file.meta

if a file.meta file exists for a given file also the meta file is copied to a new version.

.meta/file.meta

if a file.meta file exists for a given file also the meta-file is copied to a new version.

EXAMPLES

1) Some examples of source file names and created copies:

manual.docx          =>  manual v1.docx

manual.docx          =>  manual v1.0.docx

manual.docx          =>  manual v1.0.0.docx

manual_v10.docx      =>  manual_v11.docx

manual_v100.docx     =>  manual_v101.docx

manual_v1.0.docx     =>  manual_v1.1.docx

manual_v10.0.docx    =>  manual_v10.1.docx

manual_v1.00.docx    =>  manual_v1.01.docx

manual_v1.0.0.docx   =>  manual_v1.0.1.docx

manual_v1.0.00.docx  =>  manual_v1.0.01.docx

manual_V10.docx      =>  manual_V11.docx

manual_V100.docx     =>  manual_V101.docx

manual_V1.0.00.docx  =>  manual_V1.0.01.docx

manual v10.docx      =>  manual v11.docx

manual v100.docx     =>  manual v101.docx

manual v1.0.00.docx  =>  manual v1.0.01.docx

manual V10.docx      =>  manual V11.docx

manual V100.docx     =>  manual V101.docx

manual V1.0.00.docx  =>  manual V1.0.01.docx

SEE ALSO

wintoolsintro(1), metadata(1), sav(1), savnow(1), config(1m), vcp.cfg(4), https://en.wikipedia.org/wiki/Extended_Backus%E2%80%93Naur_form, https://en.wikipedia.org/wiki/Software_versioning#Sequence-based_identifiers

NOTES

-

BUGS

-

AUTHOR

vcp was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2022 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:33:12 GMT, September 14, 2024

vcp.cfg

TOC Index

NAME

vcp.cfg - configuration file for vcp

SYNOPSIS

WA2LWinTools/etc/vcp.cfg

AVAILABILITY

WA2L/WinTools

DESCRIPTION

This is the configuration file for the vcp command.

FILEFORMAT

Rows starting with a # are considered as comments.

The settings for the vcp command have to follow the section with the name [VCP].

The file format is OPTION=VALUE

Between the OPTION , the = and the VALUE are no spaces.

You can comment out any OPTION or completely remove the related setting line to use the default settings.

OPTIONS

VERSIONSTART

how to start versioning if a file is specified that has no version suffix that could be recognized by the vcp command.

See vcp(1) for all recognized version number formats.

Example: VERSIONSTART= V1.00

Default: VERSIONSTART= v1.0.0

METACOPY

If METACOPY is set to True an existing file.meta or .meta/file.meta is also copied to a new version.

See also metadata(1).

Example: METACOPY=False

Default: METACOPY=True

EXAMPLES

1) Simple example configuration file

#

# WA2LWinTools/etc/vcp.cfg - Configuration file for vcp

#

# [00] 14.02.2015 CWa   Initial Version

#

[VCP]

VERSIONSTART= V1.0.00

SEE ALSO

wintoolsintro(1), metadata(1), vcp(1)

NOTES

-

BUGS

-

AUTHOR

vcp.cfg was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2022 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION FILEFORMAT OPTIONS EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:33:13 GMT, September 14, 2024

metadata

TOC Index

NAME

metadata - save/handle meta data of files

SYNOPSIS

WA2LWinTools/bin/metadata [ -h | -i | -u | -V ]

metadata [ -n ] [ file... ]

metadata [ -c ] [ file... ]

metadata [ -n ] -e

AVAILABILITY

WA2L/WinTools

DESCRIPTION

save meta data of one or more file(s) to *.meta file(s) and a central data repository ("database").

The idea of the metadata command is to gather the (often poorly defined) meta data that is saved in a file (where the main focus are documentation/PDF files) and enrich the data with the real information of the file (as: title, subtitle, author, date, etc.) and save the data beside the original file without changing it.

The so gathered and enriched information can be used to quickly view the most important information by opening the *.meta file instead of the original file where the key information often has to be searched on several pages.

Furthermore it can be used to create reference files that can be used by other software or manually; currently available are: CSV, SQLITE3, BibTex/JabRef and 'Microsoft Word' bibliography XML files using the command metadata -e.

In addition to the saving of the *.meta file alongside to the original file, it is saved to a central repository for later retrieval.

The original file is identified by its SHA256 check sum.

If the *.meta files are defined to be opened by the metadata command a double-click on the *.meta file will later display the enriched meta data information. Because the displayed file is always primarily loaded from the repository, the data displayed is always up to date based on the latest editing (enrichment) of the meta information.

When later the same original file is located somewhere else (probably also having another file name) and the metadata command is used against the file using the 'Send To' mechanism, the previously saved meta data from the repository is displayed and also saved alongside the newly discovered file. This is possible due to the fact that if the file is identical it will also have the same SHA256 check sum.

The original file is not changed, the enriched meta data is therefore not written back to the original.

NO key pressed:

As soon as the meta data editor is closed, a short bibliography entry is available in the clipboard for later pasting.

CONTROL key pressed:

If you press the CONTROL key while closing the meta data editor all filled out meta data fields from the [GENERAL] section are copied to the clipboard.

When pasted to a text editor the output width is adjusted to 80 characters.

If pasted to a HTML/Rich-Text mail (as Microsoft Outlook™) or a word processor (as Microsoft Word™) the information is pasted as a table.

SHIFT key pressed:

If you press the SHIFT key while closing the meta data editor all filled out meta data fields from the [GENERAL] section are copied to the clipboard.

When pasted to a text editor the output width is not adjusted.

If pasted to a HTML/Rich-Text mail (as Microsoft Outlook™) or a word processor (as Microsoft Word™) the information is pasted as a table.

ALT key pressed:

If you press the ALT key while closing the meta data editor nothing is copied to the clipboard, respectively the current content of the clipboard is not replaced.

The metadata command should be installed to the 'Send To' context menu in 'Microsoft™ Windows Explorer' for most convenient usage. To do so, invoke the config(1m) command and select the related option.

In addition the config(1m) command also registers *.meta files to be opened by the metadata command.

When the automatic registration is not successful it is recommended to define that the metadata command should be used to open *.meta files in 'Microsoft™ Windows Explorer' on double-click manually.

OPTIONS

-h

usage message.

-i

install the metadata command as menu point 'metadata' to the 'Send To' context menu in 'Windows Explorer'.

-u

uninstall the metadata shortcut from the 'Send To' context menu in 'Windows Explorer'.

-V

print program version.

-e

export metadata repository to *.csv, *.tab, *.sqlite3, *.bib BibTeX/JabRef, XML files. The target directory is var/metadata/ respectively the DATABASEDIR specified in the metadata.cfg file.

-n

non interactive mode.

When using this option together with the file... option, the interactive editor to edit the meta data information is not started, but the data is still updated.

When using this option together with the -e option, the 'Press any key to continue ...' message at the end of the export does not show up.

This to enable batch- or scheduled processing.

-c

output of computed metadata to stdout.

file...

list of files to save the meta data to *.meta . When installed in the 'Send To' menu the selected file(s) in 'Windows Explorer' are passed as a list of files to the metadata command and the meta data of all given files are saved to separate *.meta files.

If no file is specified, you are queried to select a file by a open file box dialog where you then can select one file to be processed.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage message displayed.

5

program version printed.

6

export was not successful due to locked output files.

FILES

etc/metadata.cfg

optional configuration file for metadata. See: metadata.cfg(4) for more information.

etc/metadata.suffix.meta

optional adjusted template for file type with suffix suffix. See metadata.template(4) for more information.

etc/metadata.default.meta

optional adjusted default template. See metadata.template(4) for more information.

lib/metadata.default.meta

default template to save the resolved meta data.

etc/metadata.type.bib

optional adjusted BibTeX template for document-type with name type. See metadata.bib(4) for more information.

etc/metadata.default.bib

optional adjusted default BibTeX template. See metadata.bib(4) for more information.

lib/metadata.type.bib

default BibTeX template for document-type with name type.

lib/metadata.default.bib

default BibTeX template when no other template matched to the type.

var/db/metadata/<DB-VERSION>/<SHA-FILE-KEY>/meta

centrally saved meta data information. The location (var/db/metadata/) of the meta data "database" can be changed using the DATABASEDIR=directory setting in metadata.cfg file.

path/filename.ext.meta

meta data file of the file path/filename.ext

path/.meta/

if the .meta directory exists (has to be created manually) beside the file path/filename.ext , the filename.ext.meta file is saved to this subdirectory.

path/.meta/filename.ext.meta

meta data file of the file path/filename.ext if the .meta directory exists.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), bib2xml.xml(4), bibliography(1), config(1m), dirinfo(1), grep(1), lsw(1), metadata.cfg(4), metadata.bib(4), metadata.template(4), sqlite3(3), sqlite-gui(1), tf(1), vcp(1)

NOTES

When you use the metadata command the first time, be patient to the meta data editing window to pop up. Depending on the power of your machine this might take some minutes. Subsequent calls to metadata then are faster.

If the performance stays unacceptable, you can increase the performance of resolving meta data of PDF files by setting the FASTPDFRESOLUTION=True setting in the metadata.cfg(4) file. The downside of doing this is, that you will get a bit less meta information, but the most important data is still present.

To create a full HTML bibliography file from *.meta files, use the tf filter command:

[ H:\data\projects\Apollo\documents ]

[ neil@acme-007 ][*wtshell*/cmd]: lsw -r * | grep "\.meta$" | tf bib - > _BIBLIOGRAPHY.html

and to create a [REF] - only HTML bibliography:

[ H:\data\projects\Apollo\documents ]

[ neil@acme-007 ][*wtshell*/cmd]: lsw -r * | grep "\.meta$" | tf bibref - > _REF.html

BUGS

Currently there is no locking mechanism in place.

If you send a file that has currently no *.meta file and that is not known in the repository multiple times to the metadata command (what would happen if you get no response as described in the NOTES section and you think the command does not work) the last opened window will be the one whose data "survives"

Workaround: be patient on the first command call.

AUTHOR

metadata was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2022 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:23 GMT, September 14, 2024

metadata.cfg

TOC Index

NAME

metadata.cfg - configuration file for metadata

SYNOPSIS

WA2LWinTools/etc/metadata.cfg

AVAILABILITY

WA2L/WinTools

DESCRIPTION

This is the optional configuration file for the metadata command.

FILEFORMAT

Rows starting with # are considered as comments.

The file format is OPTION=VALUE

Between the OPTION , the = and the VALUE are no spaces.

You can comment out any OPTION or completely remove the related setting line to use the default settings.

OPTIONS

DATABASEDIR

change the location of the meta data database.

Example: DATABASEDIR=g:\docman\metadata-db

Default: DATABASEDIR=var\db\metadata

FASTPDFRESOLUTION

on slower machines the standard metadata resolution might me a bit slow. If you prioritize performance over information quantity, this setting can be set to True.

Example: FASTPDFRESOLUTION=True

Default: FASTPDFRESOLUTION=False

HIDEMETAFILE

using this setting the created *.meta file that is located beside the source file is hidden using the hidden attribute of Windows™.

Example: HIDEMETAFILE=True

Default: HIDEMETAFILE=False

WRITEMETAFILE

setting this configuration option to False will prevent to write the *.meta file beside the source file. In this case the meta information is only written to the meta data "database".

Do not set this setting to False if you plan to create a bibliography HTML file using the bibliography(1) command.

Example: WRITEMETAFILE=False

Default: WRITEMETAFILE=True

TEMPLATEDIR

change the meta data template directory.

For each file suffix an own template can be provided, e.g. if an extra template for .pptx files is needed, save a file with the name metadata.pptx.meta.

The default template file must be saved as metadata.default.meta.

Example: TEMPLATEDIR=g:\docman\templates

Default: TEMPLATEDIR=etc

MINIMALFILESIZE

If a file is smaller then MINIMALFILESIZE bytes (~characters) it will be skipped.

As absolute minimum the MINIMALFILESIZE can be set to a value of 8.

Example: MINIMALFILESIZE=256

Default: MINIMALFILESIZE=80

EXAMPLES

-

SEE ALSO

wintoolsintro(1), bibliography(1), metadata(1), metadata.template(4)

NOTES

-

BUGS

-

AUTHOR

metadata.cfg was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2022 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION FILEFORMAT OPTIONS EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:24 GMT, September 14, 2024

Bibliography

TOC Index

NAME

Bibliography - create Bibliography HTML page based on meta data files

SYNOPSIS

WA2LWinTools/bin/Bibliography [ -h | -V | -i | -u ]

Bibliography [ -n ] {directory|directory/configname.cfg}...

AVAILABILITY

WA2L/WinTools

DESCRIPTION

create a HTML bibliography page for document(s) based on meta data entered using the metadata(1) command.

The bibliography page file name is _BIBLIOGRAPHY.html by default.

The Bibliography command should be installed to the 'Send To' context menu in 'Microsoft™ Windows Explorer' for most convenient usage. To do so, select the related option in config(1m).

OPTIONS

-h

usage message.

-V

print program version.

-i

install the Bibliography command as menu point to the 'Send To' context menu in 'Windows Explorer'.

-u

uninstall the Bibliography shortcut from the 'Send To' context menu in 'Windows Explorer'.

-n

non interactive execution (= no user dialog). This option can be used if the Bibliography command is scheduled.

directory...

directory for which to create a bibliography HTML page for.

configname.cfg...

configuration file located in the directory where the bibliography will be created. This configuration file allows to set additional properties for the generated bibliography.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage message displayed.

5

program version printed.

FILES

*.meta

meta files produced using the metadata(1) command.

directory/bibliography.cfg

optional configuration file located in the directory where the bibliography will be created. This configuration file allows to set additional properties for the generated bibliography.

If the configuration file with the name bibliography.cfg exists in a directory it is automatically read, also when only the directory is specified.

directory/configname.cfg

configuration file located in the directory where the bibliography will be created. This configuration file allows to set additional properties for the generated bibliography.

A configuration file with a name other then bibliography.cfg must be specified explicitly to be read by the Bibliography command.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), bibliography.cfg(4), config(1m), metadata(1)

NOTES

-

BUGS

-

AUTHOR

Bibliography was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2022 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:31:47 GMT, September 14, 2024

bibliography.cfg

TOC Index

NAME

bibliography.cfg - configuration file for bibliography

SYNOPSIS

directory/bibliography.cfg

directory/configname.cfg

AVAILABILITY

WA2L/WinTools

DESCRIPTION

This is the optional configuration file for the bibliography command.

FILEFORMAT

Rows starting with # are considered as comments.

The file format is OPTION=VALUE

Between the OPTION , the = and the VALUE are no spaces.

You can comment out any OPTION or completely remove the related setting line to use the default settings.

OPTIONS

TITLE

Title of the bibliography.

Example: TITLE=Science Documents

Default: TITLE=Bibliography

SUBTITLE

Subtitle of the bibliography.

Example: SUBTITLE=Mathematics

Default: SUBTITLE=

ABSTRACT

Abstract text at in the bibliography header.

Example: ABSTRACT=This are the collected mathematical documents.

Default: ABSTRACT=

STYLE

Style selection.

Example: STYLE=GREEN

Default: STYLE=

OUTFILE

Set output file name.

Example: OUTFILE=_MATHEMATICS.html

Default: OUTFILE=_BIBLIOGRAPHY.html

METAFILES

List of meta files whose files should be included into the bibliography.

The METAFILES settings is as in the lsw (1) command.

Example: METAFILES=*.pdf.meta matrices\*.pdf.meta basics\*.pdf.meta

Default: METAFILES=*

FILTER

tf(1) filter to be used to create the bibliography.

Example: FILTER=bibref

Default: FILTER=bib

EXCLUDES

files or directories to be excluded. The setting must be a valid regular expression as understood by egrep(1).

Example: EXCLUDES=(^|\\)(_old|_alt|\\.sav|tmp)(\\)

Default: EXCLUDES=(^|\\)(_old|_alt|\\.sav)(\\)

BASE

base link to the documents in the bibliography. This setting is only needed if the generated bibliography is not located in the directory for which the bibliography is generated for.

Example: BASE=Project Alpha/technical documents/

Default: BASE=

EXAMPLES

-

SEE ALSO

wintoolsintro(1), bibliography(1), metadata(1)

NOTES

-

BUGS

-

AUTHOR

bibliography.cfg was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2022 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION FILEFORMAT OPTIONS EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:31:48 GMT, September 14, 2024

tf

TOC Index

NAME

tf - transform file(s) using (g)awk filter

SYNOPSIS

tf [ -h | -V | -l ]

tf filter file...

type file | tf filter -

tf filter - < file

type filelist | tf filter --

tf filter -- < filelist

AVAILABILITY

WA2L/WinTools

DESCRIPTION

transform file using (g)awk filter.

The filter file is an awk(3) or gawk(3) script that has to be located in the WA2LWinTools/var/scripts/ directory. The file name format is tf.filter.awk to be handled with the tf command.

OPTIONS

-h

usage message.

-V

print program version.

-l

list existing filters located in the WA2LWinTools/var/scripts/ directory respectively in the additional locations defined in the tf.cfg config file.

filter

a (g)awk script to act as filter for the data stream.

file...

file(s) to transform the data from. When - is specified as file, read the data from stdin.

The file option allows multiple wildcards in the path, as:

tf localadmin LocalAdminsReport\*\*.csv > output-all.csv

tf localadmin LocalAdminsReport/*/*.csv > output-all.csv

or

tf localadmin L*\*\*.csv > output-all.csv

tf localadmin L*/*/*.csv > output-all.csv

--

read the files from a filelist (one per line).

ENVIRONMENT

%TF_FILTERPATH%

semicolon separated search path of tf filters.

The settings in %TF_FILTERPATH% prepend the settings made in the WA2LWinTools/etc/tf.cfg file.

See also tf.cfg(4)

%TF_INCLUDE%

semicolon separated include files containing library functions to be used in tf filters.

The settings in %TF_INCLUDE% prepend the settings made in the WA2LWinTools/etc/tf.cfg file.

%TF_FILTER%

filter file name. This environment variable is exported by the tf command to the filter.

See also tf.cfg(4)

EXIT STATUS

0

no error.

2

specified filter does not exist.

4

usage message displayed.

5

version printed.

6

filters listed.

FILES

WA2LWinTools/var/scripts/tf.filter.awk

(g)awk filter to be used to convert the input data.

Place new filters to this location or set the filter path in tf.cfg or in the %TF_FILTERPATH% environment variable to use another filter directory.

WA2LWinTools/var/lib/tf/tf.filter.awk

set of filters distributed with WA2L/WinTools to be used to convert the input data.

Do not place own filters to this directory.

WA2LWinTools/etc/tf.cfg

optional configuration file for tf.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), wtshell(1m), awk(3), catio(1), gawk(3), lsw(1), tf.cfg(4)

NOTES

-

BUGS

The system command prompt has a length limit of 8191 characters.

To go around that constraint when many files have to be submitted to tf, provide a list of files thru stdin:

type filelist | tf filter --

or:

lsw *.ext | tf filter --

AUTHOR

tf was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2021 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:33:08 GMT, September 14, 2024

awk

TOC Index

NAME

awk - pattern-directed scanning and processing language

SYNOPSIS

awk [ -F fs ] [ -v var=value ] [ 'prog' | -f progfile ] [ file ... ]

DESCRIPTION

Awk scans each input file for lines that match any of a set of patterns specified literally in prog or in one or more files specified as -f progfile. With each pattern there can be an associated action that will be performed when a line of a file matches the pattern. Each line is matched against the pattern portion of every pattern-action statement; the associated action is performed for each matched pattern. The file name - means the standard input. Any file of the form var=value is treated as an assignment, not a filename, and is executed at the time it would have been opened if it were a filename. The option -v followed by var=value is an assignment to be done before prog is executed; any number of -v options may be present. The -F fs option defines the input field separator to be the regular expression fs.

An input line is normally made up of fields separated by white space, or by regular expression FS. The fields are denoted $1, $2, ..., while $0 refers to the entire line. If FS is null, the input line is split into one field per character.

A pattern-action statement has the form

pattern { action }

A missing { action } means print the line; a missing pattern always matches. Pattern-action statements are separated by newlines or semicolons.

An action is a sequence of statements. A statement can be one of the following:

if( expression ) statement [ else statement ]

while( expression ) statement

for( expression ; expression ; expression ) statement

for( var in array ) statement

do statement while( expression )

break

continue

{ [ statement ... ] }

expression               # commonly var = expression

print [ expression-list ] [ > expression ]

printf format [ , expression-list ] [ > expression ]

return [ expression ]

next                     # skip remaining patterns on this input line

nextfile                 # skip rest of this file, open next, start at top

delete array[ expression ]# delete an array element

delete array             # delete all elements of array

exit [ expression ]      # exit immediately; status is expression

Statements are terminated by semicolons, newlines or right braces. An empty expression-list stands for $0. String constants are quoted " ", with the usual C escapes recognized within. Expressions take on string or numeric values as appropriate, and are built using the operators + - * / % ^ (exponentiation), and concatenation (indicated by white space). The operators ! ++ -- += -= *= /= %= ^= > >= < <= == != ?: are also available in expressions. Variables may be scalars, array elements (denoted x[i]) or fields. Variables are initialized to the null string. Array subscripts may be any string, not necessarily numeric; this allows for a form of associative memory. Multiple subscripts such as [i,j,k] are permitted; the constituents are concatenated, separated by the value of SUBSEP.

The print statement prints its arguments on the standard output (or on a file if >file or >>file is present or on a pipe if |cmd is present), separated by the current output field separator, and terminated by the output record separator. file and cmd may be literal names or parenthesized expressions; identical string values in different statements denote the same open file. The printf statement formats its expression list according to the format (see printf(3)). The built-in function close(expr) closes the file or pipe expr. The built-in function fflush(expr) flushes any buffered output for the file or pipe expr.

The mathematical functions exp, log, sqrt, sin, cos, and atan2 are built in. Other built-in functions:

length

the length of its argument taken as a string, or of $0 if no argument.

rand

random number on (0,1)

srand

sets seed for rand and returns the previous seed.

int

truncates to an integer value

substr(s, m, n)

the n-character substring of s that begins at position m counted from 1.

index(s, t)

the position in s where the string t occurs, or 0 if it does not.

match(s, r)

the position in s where the regular expression r occurs, or 0 if it does not. The variables RSTART and RLENGTH are set to the position and length of the matched string.

split(s, a, fs)

splits the string s into array elements a[1], a[2], ..., a[n], and returns n. The separation is done with the regular expression fs or with the field separator FS if fs is not given. An empty string as field separator splits the string into one array element per character.

sub(r, t, s)

substitutes t for the first occurrence of the regular expression r in the string s. If s is not given, $0 is used.

gsub

same as sub except that all occurrences of the regular expression are replaced; sub and gsub return the number of replacements.

sprintf(fmt, expr, ... )

the string resulting from formatting expr ... according to the printf(3) format fmt

system(cmd)

executes cmd and returns its exit status

tolower(str)

returns a copy of str with all upper-case characters translated to their corresponding lower-case equivalents.

toupper(str)

returns a copy of str with all lower-case characters translated to their corresponding upper-case equivalents.

The ``function'' getline sets $0 to the next input record from the current input file; getline <file sets $0 to the next record from file. getline x sets variable x instead. Finally, cmd | getline pipes the output of cmd into getline; each call of getline returns the next line of output from cmd. In all cases, getline returns 1 for a successful input, 0 for end of file, and -1 for an error.

Patterns are arbitrary Boolean combinations (with ! || &&) of regular expressions and relational expressions. Regular expressions are as in egrep; see grep(1). Isolated regular expressions in a pattern apply to the entire line. Regular expressions may also occur in relational expressions, using the operators ~ and !~. /re/ is a constant regular expression; any string (constant or variable) may be used as a regular expression, except in the position of an isolated regular expression in a pattern.

A pattern may consist of two patterns separated by a comma; in this case, the action is performed for all lines from an occurrence of the first pattern though an occurrence of the second.

A relational expression is one of the following:

expression matchop regular-expression

expression relop expression

expression in array-name

(expr,expr,...) in array-name

where a relop is any of the six relational operators in C, and a matchop is either ~ (matches) or !~ (does not match). A conditional is an arithmetic expression, a relational expression, or a Boolean combination of these.

The special patterns BEGIN and END may be used to capture control before the first input line is read and after the last. BEGIN and END do not combine with other patterns.

Variable names with special meanings:

CONVFMT

conversion format used when converting numbers (default %.6g)

FS

regular expression used to separate fields; also settable by option -Ffs.

NF

number of fields in the current record

NR

ordinal number of the current record

FNR

ordinal number of the current record in the current file

FILENAME

the name of the current input file

RS

input record separator (default newline)

OFS

output field separator (default blank)

ORS

output record separator (default newline)

OFMT

output format for numbers (default %.6g)

SUBSEP

separates multiple subscripts (default 034)

ARGC

argument count, assignable

ARGV

argument array, assignable; non-null members are taken as filenames

ENVIRON

array of environment variables; subscripts are names.

Functions may be defined (at the position of a pattern-action statement) thus:

function foo(a, b, c) { ...; return x }

Parameters are passed by value if scalar and by reference if array name; functions may be called recursively. Parameters are local to the function; all other variables are global. Thus local variables may be created by providing excess parameters in the function definition.

EXAMPLES

length($0) > 72

Print lines longer than 72 characters.

{ print $2, $1 }

Print first two fields in opposite order.

BEGIN { FS = ",[ \t]*|[ \t]+" }

{ print $2, $1 }

Same, with input fields separated by comma and/or blanks and tabs.

{ s += $1 }

END     { print "sum is", s, " average is", s/NR }

Add up first column, print sum and average.

/start/, /stop/

Print all lines between start/stop pairs.

BEGIN   {       # Simulate echo(1)

for (i = 1; i < ARGC; i++) printf "%s ", ARGV[i]

printf "\n"

exit }

SEE ALSO

lex(1), sed(1)

A. V. Aho, B. W. Kernighan, P. J. Weinberger, The AWK Programming Language, Addison-Wesley, 1988. ISBN 0-201-07981-X

BUGS

There are no explicit conversions between numbers and strings. To force an expression to be treated as a number add 0 to it; to force it to be treated as a string concatenate "" to it.

The scope rules for variables in functions are a botch; the syntax is worse.

NAME SYNOPSIS DESCRIPTION EXAMPLES SEE ALSO BUGS

This document was created by man2html using the manual pages.

Time: 16:31:43 GMT, September 14, 2024

grep

TOC Index

NAME

grep, egrep, fgrep, rgrep - print lines matching a pattern

SYNOPSIS

grep [OPTIONS] PATTERN [FILE...]

grep [OPTIONS] [-e PATTERN]... [-f FILE]... [FILE...]

DESCRIPTION

grep searches the named input FILEs for lines containing a match to the given PATTERN. If no files are specified, or if the file ``-'' is given, grep searches standard input. By default, grep prints the matching lines.

In addition, the variant programs egrep, fgrep and rgrep are the same as grep -E, grep -F, and grep -r, respectively. These variants are deprecated, but are provided for backward compatibility.

OPTIONS

Generic Program Information

--help

Output a usage message and exit.

-V, --version

Output the version number of grep and exit.

Matcher Selection

-E, --extended-regexp

Interpret PATTERN as an extended regular expression (ERE, see below).

-F, --fixed-strings

Interpret PATTERN as a list of fixed strings (instead of regular expressions), separated by newlines, any of which is to be matched.

-G, --basic-regexp

Interpret PATTERN as a basic regular expression (BRE, see below). This is the default.

-P, --perl-regexp

Interpret the pattern as a Perl-compatible regular expression (PCRE). This is highly experimental and grep -P may warn of unimplemented features.

Matching Control

-e PATTERN, --regexp=PATTERN

Use PATTERN as the pattern. If this option is used multiple times or is combined with the -f (--file) option, search for all patterns given. This option can be used to protect a pattern beginning with ``-''.

-f FILE, --file=FILE

Obtain patterns from FILE, one per line. If this option is used multiple times or is combined with the -e (--regexp) option, search for all patterns given. The empty file contains zero patterns, and therefore matches nothing.

-i, --ignore-case

Ignore case distinctions in both the PATTERN and the input files.

-v, --invert-match

Invert the sense of matching, to select non-matching lines.

-w, --word-regexp

Select only those lines containing matches that form whole words. The test is that the matching substring must either be at the beginning of the line, or preceded by a non-word constituent character. Similarly, it must be either at the end of the line or followed by a non-word constituent character. Word-constituent characters are letters, digits, and the underscore.

-x, --line-regexp

Select only those matches that exactly match the whole line. For a regular expression pattern, this is like parenthesizing the pattern and then surrounding it with ^ and $.

-y

Obsolete synonym for -i.

General Output Control

-c, --count

Suppress normal output; instead print a count of matching lines for each input file. With the -v, --invert-match option (see below), count non-matching lines.

--color[=WHEN], --colour[=WHEN]

Surround the matched (non-empty) strings, matching lines, context lines, file names, line numbers, byte offsets, and separators (for fields and groups of context lines) with escape sequences to display them in color on the terminal. The colors are defined by the environment variable GREP_COLORS. The deprecated environment variable GREP_COLOR is still supported, but its setting does not have priority. WHEN is never, always, or auto.

-L, --files-without-match

Suppress normal output; instead print the name of each input file from which no output would normally have been printed. The scanning will stop on the first match.

-l, --files-with-matches

Suppress normal output; instead print the name of each input file from which output would normally have been printed. The scanning will stop on the first match.

-m NUM, --max-count=NUM

Stop reading a file after NUM matching lines. If the input is standard input from a regular file, and NUM matching lines are output, grep ensures that the standard input is positioned to just after the last matching line before exiting, regardless of the presence of trailing context lines. This enables a calling process to resume a search. When grep stops after NUM matching lines, it outputs any trailing context lines. When the -c or --count option is also used, grep does not output a count greater than NUM. When the -v or --invert-match option is also used, grep stops after outputting NUM non-matching lines.

-o, --only-matching

Print only the matched (non-empty) parts of a matching line, with each such part on a separate output line.

-q, --quiet, --silent

Quiet; do not write anything to standard output. Exit immediately with zero status if any match is found, even if an error was detected. Also see the -s or --no-messages option.

-s, --no-messages

Suppress error messages about nonexistent or unreadable files.

Output Line Prefix Control

-b, --byte-offset

Print the 0-based byte offset within the input file before each line of output. If -o (--only-matching) is specified, print the offset of the matching part itself.

-H, --with-filename

Print the file name for each match. This is the default when there is more than one file to search.

-h, --no-filename

Suppress the prefixing of file names on output. This is the default when there is only one file (or only standard input) to search.

--label=LABEL

Display input actually coming from standard input as input coming from file LABEL. This is especially useful when implementing tools like zgrep, e.g., gzip -cd foo.gz | grep --label=foo -H something. See also the -H option.

-n, --line-number

Prefix each line of output with the 1-based line number within its input file.

-T, --initial-tab

Make sure that the first character of actual line content lies on a tab stop, so that the alignment of tabs looks normal. This is useful with options that prefix their output to the actual content: -H,-n, and -b. In order to improve the probability that lines from a single file will all start at the same column, this also causes the line number and byte offset (if present) to be printed in a minimum size field width.

-u, --unix-byte-offsets

Report Unix-style byte offsets. This switch causes grep to report byte offsets as if the file were a Unix-style text file, i.e., with CR characters stripped off. This will produce results identical to running grep on a Unix machine. This option has no effect unless -b option is also used; it has no effect on platforms other than MS-DOS and MS-Windows.

-Z, --null

Output a zero byte (the ASCII NUL character) instead of the character that normally follows a file name. For example, grep -lZ outputs a zero byte after each file name instead of the usual newline. This option makes the output unambiguous, even in the presence of file names containing unusual characters like newlines. This option can be used with commands like find -print0, perl -0, sort -z, and xargs -0 to process arbitrary file names, even those that contain newline characters.

Context Line Control

-A NUM, --after-context=NUM

Print NUM lines of trailing context after matching lines. Places a line containing a group separator (--) between contiguous groups of matches. With the -o or --only-matching option, this has no effect and a warning is given.

-B NUM, --before-context=NUM

Print NUM lines of leading context before matching lines. Places a line containing a group separator (--) between contiguous groups of matches. With the -o or --only-matching option, this has no effect and a warning is given.

-C NUM, -NUM, --context=NUM

Print NUM lines of output context. Places a line containing a group separator (--) between contiguous groups of matches. With the -o or --only-matching option, this has no effect and a warning is given.

File and Directory Selection

-a, --text

Process a binary file as if it were text; this is equivalent to the --binary-files=text option.

--binary-files=TYPE

If the first few bytes of a file indicate that the file contains binary data, assume that the file is of type TYPE. By default, TYPE is binary, and grep normally outputs either a one-line message saying that a binary file matches, or no message if there is no match. If TYPE is without-match, grep assumes that a binary file does not match; this is equivalent to the -I option. If TYPE is text, grep processes a binary file as if it were text; this is equivalent to the -a option. When processing binary data, grep may treat non-text bytes as line terminators; for example, the pattern '.' (period) might not match a null byte, as the null byte might be treated as a line terminator. Warning: grep --binary-files=text might output binary garbage, which can have nasty side effects if the output is a terminal and if the terminal driver interprets some of it as commands.

-D ACTION, --devices=ACTION

If an input file is a device, FIFO or socket, use ACTION to process it. By default, ACTION is read, which means that devices are read just as if they were ordinary files. If ACTION is skip, devices are silently skipped.

-d ACTION, --directories=ACTION

If an input file is a directory, use ACTION to process it. By default, ACTION is read, i.e., read directories just as if they were ordinary files. If ACTION is skip, silently skip directories. If ACTION is recurse, read all files under each directory, recursively, following symbolic links only if they are on the command line. This is equivalent to the -r option.

--exclude=GLOB

Skip files whose base name matches GLOB (using wildcard matching). A file-name glob can use *, ?, and [...] as wildcards, and \ to quote a wildcard or backslash character literally.

--exclude-from=FILE

Skip files whose base name matches any of the file-name globs read from FILE (using wildcard matching as described under --exclude).

--exclude-dir=DIR

Exclude directories matching the pattern DIR from recursive searches.

-I

Process a binary file as if it did not contain matching data; this is equivalent to the --binary-files=without-match option.

--include=GLOB

Search only files whose base name matches GLOB (using wildcard matching as described under --exclude).

-r, --recursive

Read all files under each directory, recursively, following symbolic links only if they are on the command line. Note that if no file operand is given, grep searches the working directory. This is equivalent to the -d recurse option.

-R, --dereference-recursive

Read all files under each directory, recursively. Follow all symbolic links, unlike -r.

Other Options

--line-buffered

Use line buffering on output. This can cause a performance penalty.

-U, --binary

Treat the file(s) as binary. By default, under MS-DOS and MS-Windows, grep guesses the file type by looking at the contents of the first 32KB read from the file. If grep decides the file is a text file, it strips the CR characters from the original file contents (to make regular expressions with ^ and $ work correctly). Specifying -U overrules this guesswork, causing all files to be read and passed to the matching mechanism verbatim; if the file is a text file with CR/LF pairs at the end of each line, this will cause some regular expressions to fail. This option has no effect on platforms other than MS-DOS and MS-Windows.

-z, --null-data

Treat the input as a set of lines, each terminated by a zero byte (the ASCII NUL character) instead of a newline. Like the -Z or --null option, this option can be used with commands like sort -z to process arbitrary file names.

REGULAR EXPRESSIONS

A regular expression is a pattern that describes a set of strings. Regular expressions are constructed analogously to arithmetic expressions, by using various operators to combine smaller expressions.

grep understands three different versions of regular expression syntax: ``basic'' (BRE), ``extended'' (ERE) and ``perl'' (PCRE). In GNU grep, there is no difference in available functionality between basic and extended syntaxes. In other implementations, basic regular expressions are less powerful. The following description applies to extended regular expressions; differences for basic regular expressions are summarized afterwards. Perl-compatible regular expressions give additional functionality, and are documented in pcresyntax(3) and pcrepattern(3), but work only if PCRE is available in the system.

The fundamental building blocks are the regular expressions that match a single character. Most characters, including all letters and digits, are regular expressions that match themselves. Any meta-character with special meaning may be quoted by preceding it with a backslash.

The period . matches any single character.

Character Classes and Bracket Expressions

A bracket expression is a list of characters enclosed by [ and ]. It matches any single character in that list; if the first character of the list is the caret ^ then it matches any character not in the list. For example, the regular expression [0123456789] matches any single digit.

Within a bracket expression, a range expression consists of two characters separated by a hyphen. It matches any single character that sorts between the two characters, inclusive, using the locale's collating sequence and character set. For example, in the default C locale, [a-d] is equivalent to [abcd]. Many locales sort characters in dictionary order, and in these locales [a-d] is typically not equivalent to [abcd]; it might be equivalent to [aBbCcDd], for example. To obtain the traditional interpretation of bracket expressions, you can use the C locale by setting the LC_ALL environment variable to the value C.

Finally, certain named classes of characters are predefined within bracket expressions, as follows. Their names are self explanatory, and they are [:alnum:], [:alpha:], [:cntrl:], [:digit:], [:graph:], [:lower:], [:print:], [:punct:], [:space:], [:upper:], and [:xdigit:]. For example, [[:alnum:]] means the character class of numbers and letters in the current locale. In the C locale and ASCII character set encoding, this is the same as [0-9A-Za-z]. (Note that the brackets in these class names are part of the symbolic names, and must be included in addition to the brackets delimiting the bracket expression.) Most meta-characters lose their special meaning inside bracket expressions. To include a literal ] place it first in the list. Similarly, to include a literal ^ place it anywhere but first. Finally, to include a literal - place it last.

Anchoring

The caret ^ and the dollar sign $ are meta-characters that respectively match the empty string at the beginning and end of a line.

The Backslash Character and Special Expressions

The symbols \< and \> respectively match the empty string at the beginning and end of a word. The symbol \b matches the empty string at the edge of a word, and \B matches the empty string provided it's not at the edge of a word. The symbol \w is a synonym for [_[:alnum:]] and \W is a synonym for [^_[:alnum:]].

Repetition

A regular expression may be followed by one of several repetition operators:

?

The preceding item is optional and matched at most once.

*

The preceding item will be matched zero or more times.

+

The preceding item will be matched one or more times.

{n}

The preceding item is matched exactly n times.

{n,}

The preceding item is matched n or more times.

{,m}

The preceding item is matched at most m times. This is a GNU extension.

{n,m}

The preceding item is matched at least n times, but not more than m times.

Concatenation

Two regular expressions may be concatenated; the resulting regular expression matches any string formed by concatenating two substrings that respectively match the concatenated expressions.

Alternation

Two regular expressions may be joined by the infix operator |; the resulting regular expression matches any string matching either alternate expression.

Precedence

Repetition takes precedence over concatenation, which in turn takes precedence over alternation. A whole expression may be enclosed in parentheses to override these precedence rules and form a subexpression.

Back References and Subexpressions

The back-reference \n, where n is a single digit, matches the substring previously matched by the nth parenthesized subexpression of the regular expression.

Basic vs Extended Regular Expressions

In basic regular expressions the meta-characters ?, +, {, |, (, and ) lose their special meaning; instead use the backslashed versions \?, \+, \{, \|, \(, and \).

ENVIRONMENT VARIABLES

The behavior of grep is affected by the following environment variables.

The locale for category LC_foo is specified by examining the three environment variables LC_ALL, LC_foo, LANG, in that order. The first of these variables that is set specifies the locale. For example, if LC_ALL is not set, but LC_MESSAGES is set to pt_BR, then the Brazilian Portuguese locale is used for the LC_MESSAGES category. The C locale is used if none of these environment variables are set, if the locale catalog is not installed, or if grep was not compiled with national language support (NLS).

GREP_OPTIONS

This variable specifies default options to be placed in front of any explicit options. As this causes problems when writing portable scripts, this feature will be removed in a future release of grep, and grep warns if it is used. Please use an alias or script instead.

GREP_COLOR

This variable specifies the color used to highlight matched (non-empty) text. It is deprecated in favor of GREP_COLORS, but still supported. The mt, ms, and mc capabilities of GREP_COLORS have priority over it. It can only specify the color used to highlight the matching non-empty text in any matching line (a selected line when the -v command-line option is omitted, or a context line when -v is specified). The default is 01;31, which means a bold red foreground text on the terminal's default background.

GREP_COLORS

Specifies the colors and other attributes used to highlight various parts of the output. Its value is a colon-separated list of capabilities that defaults to ms=01;31:mc=01;31:sl=:cx=:fn=35:ln=32:bn=32:se=36 with the rv and ne boolean capabilities omitted (i.e., false). Supported capabilities are as follows.

sl=

SGR substring for whole selected lines (i.e., matching lines when the -v command-line option is omitted, or non-matching lines when -v is specified). If however the boolean rv capability and the -v command-line option are both specified, it applies to context matching lines instead. The default is empty (i.e., the terminal's default color pair).

cx=

SGR substring for whole context lines (i.e., non-matching lines when the -v command-line option is omitted, or matching lines when -v is specified). If however the boolean rv capability and the -v command-line option are both specified, it applies to selected non-matching lines instead. The default is empty (i.e., the terminal's default color pair).

rv

Boolean value that reverses (swaps) the meanings of the sl= and cx= capabilities when the -v command-line option is specified. The default is false (i.e., the capability is omitted).

mt=01;31

SGR substring for matching non-empty text in any matching line (i.e., a selected line when the -v command-line option is omitted, or a context line when -v is specified). Setting this is equivalent to setting both ms= and mc= at once to the same value. The default is a bold red text foreground over the current line background.

ms=01;31

SGR substring for matching non-empty text in a selected line. (This is only used when the -v command-line option is omitted.) The effect of the sl= (or cx= if rv) capability remains active when this kicks in. The default is a bold red text foreground over the current line background.

mc=01;31

SGR substring for matching non-empty text in a context line. (This is only used when the -v command-line option is specified.) The effect of the cx= (or sl= if rv) capability remains active when this kicks in. The default is a bold red text foreground over the current line background.

fn=35

SGR substring for file names prefixing any content line. The default is a magenta text foreground over the terminal's default background.

ln=32

SGR substring for line numbers prefixing any content line. The default is a green text foreground over the terminal's default background.

bn=32

SGR substring for byte offsets prefixing any content line. The default is a green text foreground over the terminal's default background.

se=36

SGR substring for separators that are inserted between selected line fields (:), between context line fields, (-), and between groups of adjacent lines when nonzero context is specified (--). The default is a cyan text foreground over the terminal's default background.

ne

Boolean value that prevents clearing to the end of line using Erase in Line (EL) to Right (\\\33[K) each time a colorized item ends. This is needed on terminals on which EL is not supported. It is otherwise useful on terminals for which the back_color_erase (bce) boolean terminfo capability does not apply, when the chosen highlight colors do not affect the background, or when EL is too slow or causes too much flicker. The default is false (i.e., the capability is omitted).

Note that boolean capabilities have no =... part. They are omitted (i.e., false) by default and become true when specified.

See the Select Graphic Rendition (SGR) section in the documentation of the text terminal that is used for permitted values and their meaning as character attributes. These substring values are integers in decimal representation and can be concatenated with semicolons. grep takes care of assembling the result into a complete SGR sequence (\\\33[...m). Common values to concatenate include 1 for bold, 4 for underline, 5 for blink, 7 for inverse, 39 for default foreground color, 30 to 37 for foreground colors, 90 to 97 for 16-color mode foreground colors, 38;5;0 to 38;5;255 for 88-color and 256-color modes foreground colors, 49 for default background color, 40 to 47 for background colors, 100 to 107 for 16-color mode background colors, and 48;5;0 to 48;5;255 for 88-color and 256-color modes background colors.

LC_ALL, LC_COLLATE, LANG

These variables specify the locale for the LC_COLLATE category, which determines the collating sequence used to interpret range expressions like [a-z].

LC_ALL, LC_CTYPE, LANG

These variables specify the locale for the LC_CTYPE category, which determines the type of characters, e.g., which characters are whitespace.

LC_ALL, LC_MESSAGES, LANG

These variables specify the locale for the LC_MESSAGES category, which determines the language that grep uses for messages. The default C locale uses American English messages.

POSIXLY_CORRECT

If set, grep behaves as POSIX requires; otherwise, grep behaves more like other GNU programs. POSIX requires that options that follow file names must be treated as file names; by default, such options are permuted to the front of the operand list and are treated as options. Also, POSIX requires that unrecognized options be diagnosed as ``illegal'', but since they are not really against the law the default is to diagnose them as ``invalid''. POSIXLY_CORRECT also disables _N_GNU_nonoption_argv_flags_, described below.

_N_GNU_nonoption_argv_flags_

(Here N is grep's numeric process ID.) If the ith character of this environment variable's value is 1, do not consider the ith operand of grep to be an option, even if it appears to be one. A shell can put this variable in the environment for each command it runs, specifying which operands are the results of file name wildcard expansion and therefore should not be treated as options. This behavior is available only with the GNU C library, and only when POSIXLY_CORRECT is not set.

EXIT STATUS

Normally the exit status is 0 if a line is selected, 1 if no lines were selected, and 2 if an error occurred. However, if the -q or --quiet or --silent is used and a line is selected, the exit status is 0 even if an error occurred.

COPYRIGHT

Copyright 1998-2000, 2002, 2005-2016 Free Software Foundation, Inc.

This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

BUGS

Reporting Bugs

Email bug reports to bug-grep@gnu.org laemail: O rathe bug-reporting address An http://lists.gnu.org/mailman/listinfo/bug-grep laURL: L raemail archive and a http://debbugs.gnu.org/cgi/pkgreport.cgi?package=grep laURL: L rabug tracker are available.

Known Bugs

Large repetition counts in the {n,m} construct may cause grep to use lots of memory. In addition, certain other obscure regular expressions require exponential time and space, and may cause grep to run out of memory.

Back-references are very slow, and may require exponential time.

SEE ALSO

Regular Manual Pages

awk(3), cmp(1), diff(1), find(1), gzip(1), perl(1), sed(1), sort(1), xargs(1), zgrep(1), read(2), pcre(3), pcresyntax(3), pcrepattern(3), terminfo(5), glob(7), regex(7).

POSIX Programmer's Manual Page

grep(1p).

Full Documentation

A http://www.gnu.org/software/grep/manual/ laURL: L racomplete manual is available. If the info and grep programs are properly installed at your site, the command

info grep

should give you access to the complete manual.

NOTES

This man page is maintained only fitfully; the full documentation is often more up-to-date.

NAME SYNOPSIS DESCRIPTION OPTIONS Generic Program Information Matcher Selection Matching Control General Output Control Output Line Prefix Control Context Line Control File and Directory Selection Other Options REGULAR EXPRESSIONS Character Classes and Bracket Expressions Anchoring The Backslash Character and Special Expressions Repetition Concatenation Alternation Precedence Back References and Subexpressions Basic vs Extended Regular Expressions ENVIRONMENT VARIABLES EXIT STATUS COPYRIGHT BUGS Reporting Bugs Known Bugs SEE ALSO Regular Manual Pages POSIX Programmer's Manual Page Full Documentation NOTES

This document was created by man2html using the manual pages.

Time: 16:33:35 GMT, September 14, 2024

diff

TOC Index

NAME

diff - compare files line by line

SYNOPSIS

diff [OPTION]... FILES

DESCRIPTION

Compare FILES line by line.

Mandatory arguments to long options are mandatory for short options too.

--normal

output a normal diff (the default)

-q, --brief

report only when files differ

-s, --report-identical-files

report when two files are the same

-c, -C NUM, --context[=NUM]

output NUM (default 3) lines of copied context

-u, -U NUM, --unified[=NUM]

output NUM (default 3) lines of unified context

-e, --ed

output an ed script

-n, --rcs

output an RCS format diff

-y, --side-by-side

output in two columns

-W, --width=NUM

output at most NUM (default 130) print columns

--left-column

output only the left column of common lines

--suppress-common-lines

do not output common lines

-p, --show-c-function

show which C function each change is in

-F, --show-function-line=RE

show the most recent line matching RE

--label LABEL

use LABEL instead of file name (can be repeated)

-t, --expand-tabs

expand tabs to spaces in output

-T, --initial-tab

make tabs line up by prepending a tab

--tabsize=NUM

tab stops every NUM (default 8) print columns

--suppress-blank-empty

suppress space or tab before empty output lines

-l, --paginate

pass output through `pr' to paginate it

-r, --recursive

recursively compare any subdirectories found

-N, --new-file

treat absent files as empty

--unidirectional-new-file

treat absent first files as empty

--ignore-file-name-case

ignore case when comparing file names

--no-ignore-file-name-case

consider case when comparing file names

-x, --exclude=PAT

exclude files that match PAT

-X, --exclude-from=FILE

exclude files that match any pattern in FILE

-S, --starting-file=FILE

start with FILE when comparing directories

--from-file=FILE1

compare FILE1 to all operands; FILE1 can be a directory

--to-file=FILE2

compare all operands to FILE2; FILE2 can be a directory

-i, --ignore-case

ignore case differences in file contents

-E, --ignore-tab-expansion

ignore changes due to tab expansion

-Z, --ignore-trailing-space

ignore white space at line end

-b, --ignore-space-change

ignore changes in the amount of white space

-w, --ignore-all-space

ignore all white space

-B, --ignore-blank-lines

ignore changes whose lines are all blank

-I, --ignore-matching-lines=RE

ignore changes whose lines all match RE

-a, --text

treat all files as text

--strip-trailing-cr

strip trailing carriage return on input

-D, --ifdef=NAME

output merged file with `#ifdef NAME' diffs

--GTYPE-group-format=GFMT

format GTYPE input groups with GFMT

--line-format=LFMT

format all input lines with LFMT

--LTYPE-line-format=LFMT

format LTYPE input lines with LFMT

These format options provide fine-grained control over the output

of diff, generalizing -D/--ifdef.

LTYPE is `old', `new', or `unchanged'.

GTYPE is LTYPE or `changed'.

GFMT (only) may contain:

%<

lines from FILE1

%>

lines from FILE2

%=

lines common to FILE1 and FILE2

%[-][WIDTH][.[PREC]]{doxX}LETTER

printf-style spec for LETTER

LETTERs are as follows for new group, lower case for old group:

F

first line number

L

last line number

N

number of lines = L-F+1

E

F-1

M

L+1

%(A=B?T:E)

if A equals B then T else E

LFMT (only) may contain:

%L

contents of line

%l

contents of line, excluding any trailing newline

%[-][WIDTH][.[PREC]]{doxX}n

printf-style spec for input line number

Both GFMT and LFMT may contain:

%%

%

%c'C'

the single character C

%c'\OOO'

the character with octal code OOO

C

the character C (other characters represent themselves)

-d, --minimal

try hard to find a smaller set of changes

--horizon-lines=NUM

keep NUM lines of the common prefix and suffix

--speed-large-files

assume large files and many scattered small changes

--help

display this help and exit

-v, --version

output version information and exit

FILES are `FILE1 FILE2' or `DIR1 DIR2' or `DIR FILE...' or `FILE... DIR'. If --from-file or --to-file is given, there are no restrictions on FILE(s). If a FILE is `-', read standard input. Exit status is 0 if inputs are the same, 1 if different, 2 if trouble.

AUTHOR

Written by Paul Eggert, Mike Haertel, David Hayes, Richard Stallman, and Len Tower.

REPORTING BUGS

Report bugs to: bug-diffutils@gnu.org

GNU diffutils home page: <http://www.gnu.org/software/diffutils/>

General help using GNU software: <http://www.gnu.org/gethelp/>

COPYRIGHT

Copyright © 2011 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.

This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

wdiff(1), cmp(1), diff3(1), sdiff(1), patch(1)

The full documentation for diff is maintained as a Texinfo manual. If the info and diff programs are properly installed at your site, the command

info diff

should give you access to the complete manual.

NAME SYNOPSIS DESCRIPTION AUTHOR REPORTING BUGS COPYRIGHT SEE ALSO

This document was created by man2html using the manual pages.

Time: 16:33:32 GMT, September 14, 2024

GZIP

TOC Index

NAME

gzip, gunzip, zcat - compress or expand files

SYNOPSIS

gzip [ -acdfhklLnNrtvV19 ] [-S suffix] [ name ... ]

gunzip [ -acfhklLnNrtvV ] [-S suffix] [ name ... ]

zcat [ -fhLV ] [ name ... ]

DESCRIPTION

Gzip reduces the size of the named files using Lempel-Ziv coding (LZ77). Whenever possible, each file is replaced by one with the extension .gz, while keeping the same ownership modes, access and modification times. (The default extension is -gz for VMS, z for MSDOS, OS/2 FAT, Windows NT FAT and Atari.) If no files are specified, or if a file name is "-", the standard input is compressed to the standard output. Gzip will only attempt to compress regular files. In particular, it will ignore symbolic links.

If the compressed file name is too long for its file system, gzip truncates it. Gzip attempts to truncate only the parts of the file name longer than 3 characters. (A part is delimited by dots.) If the name consists of small parts only, the longest parts are truncated. For example, if file names are limited to 14 characters, gzip.msdos.exe is compressed to gzi.msd.exe.gz. Names are not truncated on systems which do not have a limit on file name length.

By default, gzip keeps the original file name and timestamp in the compressed file. These are used when decompressing the file with the -N option. This is useful when the compressed file name was truncated or when the time stamp was not preserved after a file transfer.

Compressed files can be restored to their original form using gzip -d or gunzip or zcat. If the original name saved in the compressed file is not suitable for its file system, a new name is constructed from the original one to make it legal.

gunzip takes a list of files on its command line and replaces each file whose name ends with .gz, -gz, .z, -z, _z or .Z and which begins with the correct magic number with an uncompressed file without the original extension. gunzip also recognizes the special extensions .tgz and .taz as shorthands for .tar.gz and .tar.Z respectively. When compressing, gzip uses the .tgz extension if necessary instead of truncating a file with a .tar extension.

gunzip can currently decompress files created by gzip, zip, compress, compress -H or pack. The detection of the input format is automatic. When using the first two formats, gunzip checks a 32 bit CRC. For pack, gunzip checks the uncompressed length. The standard compress format was not designed to allow consistency checks. However gunzip is sometimes able to detect a bad .Z file. If you get an error when uncompressing a .Z file, do not assume that the .Z file is correct simply because the standard uncompress does not complain. This generally means that the standard uncompress does not check its input, and happily generates garbage output. The SCO compress -H format (lzh compression method) does not include a CRC but also allows some consistency checks.

Files created by zip can be uncompressed by gzip only if they have a single member compressed with the 'deflation' method. This feature is only intended to help conversion of tar.zip files to the tar.gz format. To extract a zip file with a single member, use a command like gunzip <foo.zip or gunzip -S .zip foo.zip. To extract zip files with several members, use unzip instead of gunzip.

zcat is identical to gunzip -c. (On some systems, zcat may be installed as gzcat to preserve the original link to compress.) zcat uncompresses either a list of files on the command line or its standard input and writes the uncompressed data on standard output. zcat will uncompress files that have the correct magic number whether they have a .gz suffix or not.

Gzip uses the Lempel-Ziv algorithm used in zip and PKZIP. The amount of compression obtained depends on the size of the input and the distribution of common substrings. Typically, text such as source code or English is reduced by 60-70%. Compression is generally much better than that achieved by LZW (as used in compress), Huffman coding (as used in pack), or adaptive Huffman coding (compact).

Compression is always performed, even if the compressed file is slightly larger than the original. The worst case expansion is a few bytes for the gzip file header, plus 5 bytes every 32K block, or an expansion ratio of 0.015% for large files. Note that the actual number of used disk blocks almost never increases. gzip preserves the mode, ownership and timestamps of files when compressing or decompressing.

The gzip file format is specified in P. Deutsch, GZIP file format specification version 4.3, <ftp://ftp.isi.edu/in-notes/rfc1952.txt>, Internet RFC 1952 (May 1996). The zip deflation format is specified in P. Deutsch, DEFLATE Compressed Data Format Specification version 1.3, <ftp://ftp.isi.edu/in-notes/rfc1951.txt>, Internet RFC 1951 (May 1996).

OPTIONS

-a --ascii

Ascii text mode: convert end-of-lines using local conventions. This option is supported only on some non-Unix systems. For MSDOS, CR LF is converted to LF when compressing, and LF is converted to CR LF when decompressing.

-c --stdout --to-stdout

Write output on standard output; keep original files unchanged. If there are several input files, the output consists of a sequence of independently compressed members. To obtain better compression, concatenate all input files before compressing them.

-d --decompress --uncompress

Decompress.

-f --force

Force compression or decompression even if the file has multiple links or the corresponding file already exists, or if the compressed data is read from or written to a terminal. If the input data is not in a format recognized by gzip, and if the option --stdout is also given, copy the input data without change to the standard output: let zcat behave as cat. If -f is not given, and when not running in the background, gzip prompts to verify whether an existing file should be overwritten.

-h --help

Display a help screen and quit.

-k --keep

Keep (don't delete) input files during compression or decompression.

-l --list

For each compressed file, list the following fields:

compressed size: size of the compressed file

uncompressed size: size of the uncompressed file

ratio: compression ratio (0.0% if unknown)

uncompressed_name: name of the uncompressed file

The uncompressed size is given as -1 for files not in gzip format, such as compressed .Z files. To get the uncompressed size for such a file, you can use:

zcat file.Z | wc -c

In combination with the --verbose option, the following fields are also displayed:

method: compression method

crc: the 32-bit CRC of the uncompressed data

date & time: time stamp for the uncompressed file

The compression methods currently supported are deflate, compress, lzh (SCO compress -H) and pack. The crc is given as ffffffff for a file not in gzip format.

With --name, the uncompressed name, date and time are those stored within the compress file if present.

With --verbose, the size totals and compression ratio for all files is also displayed, unless some sizes are unknown. With --quiet, the title and totals lines are not displayed.

-L --license

Display the gzip license and quit.

-n --no-name

When compressing, do not save the original file name and time stamp by default. (The original name is always saved if the name had to be truncated.) When decompressing, do not restore the original file name if present (remove only the gzip suffix from the compressed file name) and do not restore the original time stamp if present (copy it from the compressed file). This option is the default when decompressing.

-N --name

When compressing, always save the original file name and time stamp; this is the default. When decompressing, restore the original file name and time stamp if present. This option is useful on systems which have a limit on file name length or when the time stamp has been lost after a file transfer.

-q --quiet

Suppress all warnings.

-r --recursive

Travel the directory structure recursively. If any of the file names specified on the command line are directories, gzip will descend into the directory and compress all the files it finds there (or decompress them in the case of gunzip ).

--rsyncable

While compressing, synchronize the output occasionally based on the input. This increases size by less than 1 percent most cases, but means that the rsync(1) program can much more efficiently synchronize files compressed with this flag. gunzip cannot tell the difference between a compressed file created with this option, and one created without it.

-S .suf --suffix .suf

Use suffix .suf instead of .gz. Any suffix can be given, but suffixes other than .z and .gz should be avoided to avoid confusion when files are transferred to other systems. A null suffix forces gunzip to try decompression on all given files regardless of suffix, as in:

gunzip -S "" *       (*.* for MSDOS)

Previous versions of gzip used the .z suffix. This was changed to avoid a conflict with pack(1).

-t --test

Test. Check the compressed file integrity.

-v --verbose

Verbose. Display the name and percentage reduction for each file compressed or decompressed.

-V --version

Version. Display the version number and compilation options then quit.

-# --fast --best

Regulate the speed of compression using the specified digit #, where -1 or --fast indicates the fastest compression method (less compression) and -9 or --best indicates the slowest compression method (best compression). The default compression level is -6 (that is, biased towards high compression at expense of speed).

ADVANCED USAGE

Multiple compressed files can be concatenated. In this case, gunzip will extract all members at once. For example:

gzip -c file1  > foo.gz

gzip -c file2 >> foo.gz

Then

gunzip -c foo

is equivalent to

cat file1 file2

In case of damage to one member of a .gz file, other members can still be recovered (if the damaged member is removed). However, you can get better compression by compressing all members at once:

cat file1 file2 | gzip > foo.gz

compresses better than

gzip -c file1 file2 > foo.gz

If you want to recompress concatenated files to get better compression, do:

gzip -cd old.gz | gzip > new.gz

If a compressed file consists of several members, the uncompressed size and CRC reported by the --list option applies to the last member only. If you need the uncompressed size for all members, you can use:

gzip -cd file.gz | wc -c

If you wish to create a single archive file with multiple members so that members can later be extracted independently, use an archiver such as tar or zip. GNU tar supports the -z option to invoke gzip transparently. gzip is designed as a complement to tar, not as a replacement.

ENVIRONMENT

The environment variable GZIP can hold a set of default options for gzip. These options are interpreted first and can be overwritten by explicit command line parameters. For example:

for sh:    GZIP="-8v --name"; export GZIP

for csh:   setenv GZIP "-8v --name"

for MSDOS: set GZIP=-8v --name

On Vax/VMS, the name of the environment variable is GZIP_OPT, to avoid a conflict with the symbol set for invocation of the program.

SEE ALSO

znew(1), zcmp(1), zmore(1), zforce(1), gzexe(1), zip(1), unzip(1), compress(1), pack(1), compact(1)

The gzip file format is specified in P. Deutsch, GZIP file format specification version 4.3, <ftp://ftp.isi.edu/in-notes/rfc1952.txt>, Internet RFC 1952 (May 1996). The zip deflation format is specified in P. Deutsch, DEFLATE Compressed Data Format Specification version 1.3, <ftp://ftp.isi.edu/in-notes/rfc1951.txt>, Internet RFC 1951 (May 1996).

DIAGNOSTICS

Exit status is normally 0; if an error occurs, exit status is 1. If a warning occurs, exit status is 2.

Usage: gzip [-cdfhlLnNrtvV19] [-S suffix] [file ...]

Invalid options were specified on the command line.

file: not in gzip format

The file specified to gunzip has not been compressed.

file: Corrupt input. Use zcat to recover some data.

The compressed file has been damaged. The data up to the point of failure can be recovered using

zcat file > recover

file: compressed with xx bits, can only handle yy bits

File was compressed (using LZW) by a program that could deal with more bits than the decompress code on this machine. Recompress the file with gzip, which compresses better and uses less memory.

file: already has .gz suffix -- no change

The file is assumed to be already compressed. Rename the file and try again.

file already exists; do you wish to overwrite (y or n)?

Respond "y" if you want the output file to be replaced; "n" if not.

gunzip: corrupt input

A SIGSEGV violation was detected which usually means that the input file has been corrupted.

xx.x% Percentage of the input saved by compression.

(Relevant only for -v and -l.)

-- not a regular file or directory: ignored

When the input file is not a regular file or directory, (e.g. a symbolic link, socket, FIFO, device file), it is left unaltered.

-- has xx other links: unchanged

The input file has links; it is left unchanged. See ln(1) for more information. Use the -f flag to force compression of multiply-linked files.

CAVEATS

When writing compressed data to a tape, it is generally necessary to pad the output with zeroes up to a block boundary. When the data is read and the whole block is passed to gunzip for decompression, gunzip detects that there is extra trailing garbage after the compressed data and emits a warning by default. You have to use the --quiet option to suppress the warning. This option can be set in the GZIP environment variable as in:

for sh:  GZIP="-q"  tar -xfz --block-compress /dev/rst0

for csh: (setenv GZIP -q; tar -xfz --block-compr /dev/rst0

In the above example, gzip is invoked implicitly by the -z option of GNU tar. Make sure that the same block size (-b option of tar) is used for reading and writing compressed data on tapes. (This example assumes you are using the GNU version of tar.)

BUGS

The gzip format represents the input size modulo 2^32, so the --list option reports incorrect uncompressed sizes and compression ratios for uncompressed files 4 GB and larger. To work around this problem, you can use the following command to discover a large uncompressed file's true size:

zcat file.gz | wc -c

The --list option reports sizes as -1 and crc as ffffffff if the compressed file is on a non seekable media.

In some rare cases, the --best option gives worse compression than the default compression level (-6). On some highly redundant files, compress compresses better than gzip.

COPYRIGHT NOTICE

Copyright © 1998, 1999, 2001, 2002 Free Software Foundation, Inc.

Copyright © 1992, 1993 Jean-loup Gailly

Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies.

Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.

Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions, except that this permission notice may be stated in a translation approved by the Foundation.

NAME SYNOPSIS DESCRIPTION OPTIONS ADVANCED USAGE ENVIRONMENT SEE ALSO DIAGNOSTICS CAVEATS BUGS COPYRIGHT NOTICE

This document was created by man2html using the manual pages.

Time: 16:33:35 GMT, September 14, 2024

SED

TOC Index

NAME

sed - stream editor for filtering and transforming text

SYNOPSIS

sed [OPTION]... {script-only-if-no-other-script} [input-file]...

DESCRIPTION

Sed is a stream editor. A stream editor is used to perform basic text transformations on an input stream (a file or input from a pipeline). While in some ways similar to an editor which permits scripted edits (such as ed), sed works by making only one pass over the input(s), and is consequently more efficient. But it is sed's ability to filter text in a pipeline which particularly distinguishes it from other types of editors.

-n, --quiet, --silent

suppress automatic printing of pattern space

-e script, --expression=script

add the script to the commands to be executed

-f script-file, --file=script-file

add the contents of script-file to the commands to be executed

--follow-symlinks

follow symlinks when processing in place

-i[SUFFIX], --in-place[=SUFFIX]

edit files in place (makes backup if SUFFIX supplied)

-l N, --line-length=N

specify the desired line-wrap length for the `l' command

--posix

disable all GNU extensions.

-r, --regexp-extended

use extended regular expressions in the script.

-s, --separate

consider files as separate rather than as a single continuous long stream.

-u, --unbuffered

load minimal amounts of data from the input files and flush the output buffers more often

-z, --null-data

separate lines by NUL characters

--help

display this help and exit

--version

output version information and exit

If no -e, --expression, -f, or --file option is given, then the first non-option argument is taken as the sed script to interpret. All remaining arguments are names of input files; if no input files are specified, then the standard input is read.

GNU sed home page: <http://www.gnu.org/software/sed/>. General help using GNU software: <http://www.gnu.org/gethelp/>. E-mail bug reports to: <bug-sed@gnu.org>. Be sure to include the word ``sed'' somewhere in the ``Subject:'' field.

COMMAND SYNOPSIS

This is just a brief synopsis of sed commands to serve as a reminder to those who already know sed; other documentation (such as the texinfo document) must be consulted for fuller descriptions.

Zero-address ``commands''

: label

Label for b and t commands.

#comment

The comment extends until the next newline (or the end of a -e script fragment).

}

The closing bracket of a { } block.

Zero- or One- address commands

=

Print the current line number.

a \

text

Append text, which has each embedded newline preceded by a backslash.

i \

text

Insert text, which has each embedded newline preceded by a backslash.

q [exit-code]

Immediately quit the sed script without processing any more input, except that if auto-print is not disabled the current pattern space will be printed. The exit code argument is a GNU extension.

Q [exit-code]

Immediately quit the sed script without processing any more input. This is a GNU extension.

r filename

Append text read from filename.

R filename

Append a line read from filename. Each invocation of the command reads a line from the file. This is a GNU extension.

Commands which accept address ranges

{

Begin a block of commands (end with a }).

b label

Branch to label; if label is omitted, branch to end of script.

c \

text

Replace the selected lines with text, which has each embedded newline preceded by a backslash.

d

Delete pattern space. Start next cycle.

D

If pattern space contains no newline, start a normal new cycle as if the d command was issued. Otherwise, delete text in the pattern space up to the first newline, and restart cycle with the resultant pattern space, without reading a new line of input.

h H

Copy/append pattern space to hold space.

g G

Copy/append hold space to pattern space.

l

List out the current line in a ``visually unambiguous'' form.

l width

List out the current line in a ``visually unambiguous'' form, breaking it at width characters. This is a GNU extension.

n N

Read/append the next line of input into the pattern space.

p

Print the current pattern space.

P

Print up to the first embedded newline of the current pattern space.

s/regexp/replacement/

Attempt to match regexp against the pattern space. If successful, replace that portion matched with replacement. The replacement may contain the special character & to refer to that portion of the pattern space which matched, and the special escapes \1 through \9 to refer to the corresponding matching sub-expressions in the regexp.

t label

If a s/// has done a successful substitution since the last input line was read and since the last t or T command, then branch to label; if label is omitted, branch to end of script.

T label

If no s/// has done a successful substitution since the last input line was read and since the last t or T command, then branch to label; if label is omitted, branch to end of script. This is a GNU extension.

w filename

Write the current pattern space to filename.

W filename

Write the first line of the current pattern space to filename. This is a GNU extension.

x

Exchange the contents of the hold and pattern spaces.

y/source/dest/

Transliterate the characters in the pattern space which appear in source to the corresponding character in dest.

Addresses

Sed commands can be given with no addresses, in which case the command will be executed for all input lines; with one address, in which case the command will only be executed for input lines which match that address; or with two addresses, in which case the command will be executed for all input lines which match the inclusive range of lines starting from the first address and continuing to the second address. Three things to note about address ranges: the syntax is addr1,addr2 (i.e., the addresses are separated by a comma); the line which addr1 matched will always be accepted, even if addr2 selects an earlier line; and if addr2 is a regexp, it will not be tested against the line that addr1 matched.

After the address (or address-range), and before the command, a ! may be inserted, which specifies that the command shall only be executed if the address (or address-range) does not match.

The following address types are supported:

number

Match only the specified line number (which increments cumulatively across files, unless the -s option is specified on the command line).

first~step

Match every step'th line starting with line first. For example, ``sed -n 1~2p'' will print all the odd-numbered lines in the input stream, and the address 2~5 will match every fifth line, starting with the second. first can be zero; in this case, sed operates as if it were equal to step. (This is an extension.)

$

Match the last line.

/regexp/

Match lines matching the regular expression regexp.

\cregexpc

Match lines matching the regular expression regexp. The c may be any character.

GNU sed also supports some special 2-address forms:

0,addr2

Start out in "matched first address" state, until addr2 is found. This is similar to 1,addr2, except that if addr2 matches the very first line of input the 0,addr2 form will be at the end of its range, whereas the 1,addr2 form will still be at the beginning of its range. This works only when addr2 is a regular expression.

addr1,+N

Will match addr1 and the N lines following addr1.

addr1,~N

Will match addr1 and the lines following addr1 until the next line whose input line number is a multiple of N.

REGULAR EXPRESSIONS

POSIX.2 BREs should be supported, but they aren't completely because of performance problems. The \n sequence in a regular expression matches the newline character, and similarly for \a, \t, and other sequences.

BUGS

E-mail bug reports to bug-sed@gnu.org. Also, please include the output of ``sed --version'' in the body of your report if at all possible.

AUTHOR

Written by Jay Fenlason, Tom Lord, Ken Pizzini, and Paolo Bonzini. GNU sed home page: <http://www.gnu.org/software/sed/>. General help using GNU software: <http://www.gnu.org/gethelp/>. E-mail bug reports to: <bug-sed@gnu.org>. Be sure to include the word ``sed'' somewhere in the ``Subject:'' field.

COPYRIGHT

Copyright © 2012 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.

This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

awk(1), ed(1), grep(1), tr(1), perlre(1), sed.info, any of various books on sed, the sed FAQ (http://sed.sf.net/grabbag/tutorials/sedfaq.txt), http://sed.sf.net/grabbag/.

The full documentation for sed is maintained as a Texinfo manual. If the info and sed programs are properly installed at your site, the command

info sed

should give you access to the complete manual.

NAME SYNOPSIS DESCRIPTION COMMAND SYNOPSIS Zero-address ``commands'' Zero- or One- address commands Commands which accept address ranges Addresses REGULAR EXPRESSIONS BUGS AUTHOR COPYRIGHT SEE ALSO

This document was created by man2html using the manual pages.

Time: 16:33:42 GMT, September 14, 2024

TR

TOC Index

NAME

tr - translate or delete characters

SYNOPSIS

tr [,OPTION/]... ,SET1 /[,SET2/]

DESCRIPTION

Translate, squeeze, and/or delete characters from standard input, writing to standard output.

-c, -C, --complement

use the complement of SET1

-d, --delete

delete characters in SET1, do not translate

-s, --squeeze-repeats

replace each sequence of a repeated character that is listed in the last specified SET, with a single occurrence of that character

-t, --truncate-set1

first truncate SET1 to length of SET2

--help

display this help and exit

--version

output version information and exit

SETs are specified as strings of characters. Most represent themselves. Interpreted sequences are:

\NNN

character with octal value NNN (1 to 3 octal digits)

\\

backslash

\a

audible BEL

\b

backspace

\f

form feed

\n

new line

\r

return

\t

horizontal tab

\v

vertical tab

CHAR1-CHAR2

all characters from CHAR1 to CHAR2 in ascending order

[CHAR*]

in SET2, copies of CHAR until length of SET1

[CHAR*REPEAT]

REPEAT copies of CHAR, REPEAT octal if starting with 0

[:alnum:]

all letters and digits

[:alpha:]

all letters

[:blank:]

all horizontal whitespace

[:cntrl:]

all control characters

[:digit:]

all digits

[:graph:]

all printable characters, not including space

[:lower:]

all lower case letters

[:print:]

all printable characters, including space

[:punct:]

all punctuation characters

[:space:]

all horizontal or vertical whitespace

[:upper:]

all upper case letters

[:xdigit:]

all hexadecimal digits

[=CHAR=]

all characters which are equivalent to CHAR

Translation occurs if -d is not given and both SET1 and SET2 appear. -t may be used only when translating. SET2 is extended to length of SET1 by repeating its last character as necessary. Excess characters of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to expand in ascending order; used in SET2 while translating, they may only be used in pairs to specify case conversion. -s uses the last specified SET, and occurs after translation or deletion.

AUTHOR

Written by Jim Meyering.

REPORTING BUGS

GNU coreutils online help: <http://www.gnu.org/software/coreutils/>

Report tr translation bugs to <http://translationproject.org/team/>

COPYRIGHT

Copyright © 2017 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.

This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

Full documentation at: <http://www.gnu.org/software/coreutils/tr>

or available locally via: info aq(coreutils) tr invocationaq

NAME SYNOPSIS DESCRIPTION AUTHOR REPORTING BUGS COPYRIGHT SEE ALSO

This document was created by man2html using the manual pages.

Time: 16:33:47 GMT, September 14, 2024

XARGS

TOC Index

NAME

xargs - build and execute command lines from standard input

SYNOPSIS

xargs [options] [command [initial-arguments]]

DESCRIPTION

This manual page documents the GNU version of xargs. xargs reads items from the standard input, delimited by blanks (which can be protected with double or single quotes or a backslash) or newlines, and executes the command (default is /bin/echo) one or more times with any initial-arguments followed by items read from standard input. Blank lines on the standard input are ignored. The command line for command is built up until it reaches a system-defined limit (unless the -n and -L options are used). The specified command will be invoked as many times as necessary to use up the list of input items. In general, there will be many fewer invocations of command than there were items in the input. This will normally have significant performance benefits. Some commands can usefully be executed in parallel too; see the -P option. Because Unix filenames can contain blanks and newlines, this default behaviour is often problematic; filenames containing blanks and/or newlines are incorrectly processed by xargs. In these situations it is better to use the -0 option, which prevents such problems. When using this option you will need to ensure that the program which produces the input for xargs also uses a null character as a separator. If that program is GNU find for example, the -print0 option does this for you. If any invocation of the command exits with a status of 255, xargs will stop immediately without reading any further input. An error message is issued on stderr when this happens.

OPTIONS

-0, --null Input items are terminated by a null character instead of by whitespace, and the quotes and backslash are not special (every character is taken literally). Disables the end of file string, which is treated like any other argument. Useful when input items might contain white space, quote marks, or backslashes. The GNU find -print0 option produces input suitable for this mode.

-a file, --arg-file=file Read items from file instead of standard input. If you use this option, stdin remains unchanged when commands are run. Otherwise, stdin is redirected from /dev/null.

--delimiter=delim, -d delim Input items are terminated by the specified character. The specified delimiter may be a single character, a C-style character escape such as \n, or an octal or hexadecimal escape code. Octal and hexadecimal escape codes are understood as for the printf command. Multibyte characters are not supported. When processing the input, quotes and backslash are not special; every character in the input is taken literally. The -d option disables any end-of-file string, which is treated like any other argument. You can use this option when the input consists of simply newline-separated items, although it is almost always better to design your program to use --null where this is possible.

-E eof-str

Set the end of file string to eof-str. If the end of file string occurs as a line of input, the rest of the input is ignored. If neither -E nor -e is used, no end of file string is used.

-e[eof-str], --eof[=eof-str] This option is a synonym for the -E option. Use -E instead, because it is POSIX compliant while this option is not. If eof-str is omitted, there is no end of file string. If neither -E nor -e is used, no end of file string is used.

-I replace-str

Replace occurrences of replace-str in the initial-arguments with names read from standard input. Also, unquoted blanks do not terminate input items; instead the separator is the newline character. Implies -x and -L 1.

-i[replace-str], --replace[=replace-str] This option is a synonym for -Ireplace-str if replace-str is specified. If the replace-str argument is missing, the effect is the same as -I{}. This option is deprecated; use -I instead.

-L max-lines

Use at most max-lines nonblank input lines per command line. Trailing blanks cause an input line to be logically continued on the next input line. Implies -x.

-l[max-lines], --max-lines[=max-lines] Synonym for the -L option. Unlike -L, the max-lines argument is optional. If max-lines is not specified, it defaults to one. The -l option is deprecated since the POSIX standard specifies -L instead.

-n max-args, --max-args=max-args Use at most max-args arguments per command line. Fewer than max-args arguments will be used if the size (see the -s option) is exceeded, unless the -x option is given, in which case xargs will exit.

-P max-procs, --max-procs=max-procs Run up to max-procs processes at a time; the default is 1. If max-procs is 0, xargs will run as many processes as possible at a time. Use the -n option or the -L option with -P; otherwise chances are that only one exec will be done. While xargs is running, you can send its process a SIGUSR1 signal to increase the number of commands to run simultaneously, or a SIGUSR2 to decrease the number. You cannot increase it above an implementation-defined limit (which is shown with --show-limits). You cannot decrease it below 1. xargs never terminates its commands; when asked to decrease, it merely waits for more than one existing command to terminate before starting another.

Please note that it is up to the called processes to properly manage parallel access to shared resources. For example, if more than one of them tries to print to stdout, the output will be produced in an indeterminate order (and very likely mixed up) unless the processes collaborate in some way to prevent this. Using some kind of locking scheme is one way to prevent such problems. In general, using a locking scheme will help ensure correct output but reduce performance. If you don't want to tolerate the performance difference, simply arrange for each process to produce a separate output file (or otherwise use separate resources).

-o, --open-tty Reopen stdin as /dev/tty in the child process before executing the command. This is useful if you want xargs to run an interactive application.

-p, --interactive Prompt the user about whether to run each command line and read a line from the terminal. Only run the command line if the response starts with `y' or `Y'. Implies -t.

--process-slot-var=name Set the environment variable name to a unique value in each running child process. Values are reused once child processes exit. This can be used in a rudimentary load distribution scheme, for example.

-r, --no-run-if-empty If the standard input does not contain any nonblanks, do not run the command. Normally, the command is run once even if there is no input. This option is a GNU extension.

-s max-chars, --max-chars=max-chars Use at most max-chars characters per command line, including the command and initial-arguments and the terminating nulls at the ends of the argument strings. The largest allowed value is system-dependent, and is calculated as the argument length limit for exec, less the size of your environment, less 2048 bytes of headroom. If this value is more than 128KiB, 128Kib is used as the default value; otherwise, the default value is the maximum. 1KiB is 1024 bytes. xargs automatically adapts to tighter constraints.

--show\-limits

Display the limits on the command-line length which are imposed by the operating system, xargs' choice of buffer size and the -s option. Pipe the input from /dev/null (and perhaps specify --no-run-if-empty) if you don't want xargs to do anything.

-t, --verbose

Print the command line on the standard error output before executing it.

-x, --exit Exit if the size (see the -s option) is exceeded.

--help

Print a summary of the options to xargs and exit.

--version

Print the version number of xargs and exit.

EXAMPLES

find /tmp -name core -type f -print | xargs /bin/rm -f

Find files named core in or below the directory /tmp and delete them. Note that this will work incorrectly if there are any filenames containing newlines or spaces. find /tmp -name core -type f -print0 | xargs -0 /bin/rm -f

Find files named core in or below the directory /tmp and delete them, processing filenames in such a way that file or directory names containing spaces or newlines are correctly handled.

find /tmp -depth -name core -type f -delete

Find files named core in or below the directory /tmp and delete them, but more efficiently than in the previous example (because we avoid the need to use fork(2) and exec(2) to launch rm and we don't need the extra xargs process).

cut -d: -f1 < /etc/passwd | sort | xargs echo

Generates a compact listing of all the users on the system.

EXIT STATUS

xargs exits with the following status:

0 if it succeeds

123 if any invocation of the command exited with status 1-125

124 if the command exited with status 255

125 if the command is killed by a signal

126 if the command cannot be run

127 if the command is not found

1 if some other error occurred.

Exit codes greater than 128 are used by the shell to indicate that a program died due to a fatal signal.

STANDARDS CONFORMANCE

As of GNU xargs version 4.2.9, the default behaviour of xargs is not to have a logical end-of-file marker. POSIX (IEEE Std 1003.1, 2004 Edition) allows this. The -l and -i options appear in the 1997 version of the POSIX standard, but do not appear in the 2004 version of the standard. Therefore you should use -L and -I instead, respectively. The -o option is an extension to the POSIX standard for better compatibility with BSD. The POSIX standard allows implementations to have a limit on the size of arguments to the exec functions. This limit could be as low as 4096 bytes including the size of the environment. For scripts to be portable, they must not rely on a larger value. However, I know of no implementation whose actual limit is that small. The --show-limits option can be used to discover the actual limits in force on the current system.

SEE ALSO

uxfind(1)

The full documentation for xargs is maintained as a Texinfo manual. If the info and xargs programs are properly installed at your site, the command info xargs should give you access to the complete manual.

BUGS

The -L option is incompatible with the -I option, but perhaps should not be. It is not possible for xargs to be used securely, since there will always be a time gap between the production of the list of input files and their use in the commands that xargs issues. If other users have access to the system, they can manipulate the filesystem during this time window to force the action of the commands xargs runs to apply to files that you didn't intend. For a more detailed discussion of this and related problems, please refer to the ``Security Considerations'' chapter in the findutils Texinfo documentation. The -execdir option of find can often be used as a more secure alternative.

When you use the -I option, each line read from the input is buffered internally. This means that there is an upper limit on the length of input line that xargs will accept when used with the -I option. To work around this limitation, you can use the -s option to increase the amount of buffer space that xargs uses, and you can also use an extra invocation of xargs to ensure that very long lines do not occur. For example: somecommand | xargs -s 50000 echo | xargs -I '{}' -s 100000 rm '{}' Here, the first invocation of xargs has no input line length limit because it doesn't use the -i option. The second invocation of xargs does have such a limit, but we have ensured that the it never encounters a line which is longer than it can handle. This is not an ideal solution. Instead, the -i option should not impose a line length limit, which is why this discussion appears in the BUGS section. The problem doesn't occur with the output of find(1) because it emits just one filename per line. The best way to report a bug is to use the form at http://savannah.gnu.org/bugs/?group=findutils. The reason for this is that you will then be able to track progress in fixing the problem. Other comments about xargs(1) and about the findutils package in general can be sent to the bug-findutils mailing list. To join the list, send email to bug-findutils-request@gnu.org.

NAME SYNOPSIS DESCRIPTION OPTIONS EXAMPLES EXIT STATUS STANDARDS CONFORMANCE SEE ALSO BUGS

This document was created by man2html using the manual pages.

Time: 16:33:52 GMT, September 14, 2024

uxfind

TOC Index

NAME

uxfind - search for files in a directory hierarchy

SYNOPSIS

uxfind [-H] [-L] [-P] [-D debugopts] [-Olevel] [starting-point...] [expression]

DESCRIPTION

This manual page documents the GNU version of uxfind. GNU uxfind searches the directory tree rooted at each given starting-point by evaluating the given expression from left to right, according to the rules of precedence (see section OPERATORS), until the outcome is known (the left hand side is false for and operations, true for or), at which point uxfind moves on to the next file name. If no starting-point is specified, `.' is assumed.

If you are using uxfind in an environment where security is important (for example if you are using it to search directories that are writable by other users), you should read the "Security Considerations" chapter of the findutils documentation, which is called Finding Files and comes with findutils. That document also includes a lot more detail and discussion than this manual page, so you may find it a more useful source of information.

OPTIONS

The -H, -L and -P options control the treatment of symbolic links. Command-line arguments following these are taken to be names of files or directories to be examined, up to the first argument that begins with `-', or the argument `(' or `!'. That argument and any following arguments are taken to be the expression describing what is to be searched for. If no paths are given, the current directory is used. If no expression is given, the expression -print is used (but you should probably consider using -print0 instead, anyway).

This manual page talks about `options' within the expression list. These options control the behaviour of uxfind but are specified immediately after the last path name. The five `real' options -H, -L, -P, -D and -O must appear before the first path name, if at all. A double dash -- can also be used to signal that any remaining arguments are not options (though ensuring that all start points begin with either `./' or `/' is generally safer if you use wildcards in the list of start points).

-P

Never follow symbolic links. This is the default behaviour. When uxfind examines or prints information a file, and the file is a symbolic link, the information used shall be taken from the properties of the symbolic link itself.

-L

Follow symbolic links. When uxfind examines or prints information about files, the information used shall be taken from the properties of the file to which the link points, not from the link itself (unless it is a broken symbolic link or uxfind is unable to examine the file to which the link points). Use of this option implies -noleaf. If you later use the -P option, -noleaf will still be in effect. If -L is in effect and uxfind discovers a symbolic link to a subdirectory during its search, the subdirectory pointed to by the symbolic link will be searched.

When the -L option is in effect, the -type predicate will always match against the type of the file that a symbolic link points to rather than the link itself (unless the symbolic link is broken). Actions that can cause symbolic links to become broken while uxfind is executing (for example -delete) can give rise to confusing behaviour. Using -L causes the -lname and -ilname predicates always to return false.

-H

Do not follow symbolic links, except while processing the command line arguments. When uxfind examines or prints information about files, the information used shall be taken from the properties of the symbolic link itself. The only exception to this behaviour is when a file specified on the command line is a symbolic link, and the link can be resolved. For that situation, the information used is taken from whatever the link points to (that is, the link is followed). The information about the link itself is used as a fallback if the file pointed to by the symbolic link cannot be examined. If -H is in effect and one of the paths specified on the command line is a symbolic link to a directory, the contents of that directory will be examined (though of course -maxdepth 0 would prevent this). If more than one of -H, -L and -P is specified, each overrides the others; the last one appearing on the command line takes effect. Since it is the default, the -P option should be considered to be in effect unless either -H or -L is specified.

GNU uxfind frequently stats files during the processing of the command line itself, before any searching has begun. These options also affect how those arguments are processed. Specifically, there are a number of tests that compare files listed on the command line against a file we are currently considering. In each case, the file specified on the command line will have been examined and some of its properties will have been saved. If the named file is in fact a symbolic link, and the -P option is in effect (or if neither -H nor -L were specified), the information used for the comparison will be taken from the properties of the symbolic link. Otherwise, it will be taken from the properties of the file the link points to. If uxfind cannot follow the link (for example because it has insufficient privileges or the link points to a nonexistent file) the properties of the link itself will be used. When the -H or -L options are in effect, any symbolic links listed as the argument of -newer will be dereferenced, and the timestamp will be taken from the file to which the symbolic link points. The same consideration applies to -newerXY, -anewer and -cnewer.

The -follow option has a similar effect to -L, though it takes effect at the point where it appears (that is, if -L is not used but -follow is, any symbolic links appearing after -follow on the command line will be dereferenced, and those before it will not).

-D debugoptions

Print diagnostic information; this can be helpful to diagnose problems with why uxfind is not doing what you want. The list of debug options should be comma separated. Compatibility of the debug options is not guaranteed between releases of findutils. For a complete list of valid debug options, see the output of uxfind -D help. Valid debug options include

help

Explain the debugging options

tree

Show the expression tree in its original and optimised form.

stat

Print messages as files are examined with the stat and lstat system calls. The uxfind program tries to minimise such calls.

opt

Prints diagnostic information relating to the optimisation of the expression tree; see the -O option.

rates

Prints a summary indicating how often each predicate succeeded or failed.

-Olevel

Enables query optimisation. The uxfind program reorders tests to speed up execution while preserving the overall effect; that is, predicates with side effects are not reordered relative to each other. The optimisations performed at each optimisation level are as follows.

0

Equivalent to optimisation level 1.

1

This is the default optimisation level and corresponds to the traditional behaviour. Expressions are reordered so that tests based only on the names of files (for example -name and -regex) are performed first.

2

Any -type or -xtype tests are performed after any tests based only on the names of files, but before any tests that require information from the inode. On many modern versions of Unix, file types are returned by readdir() and so these predicates are faster to evaluate than predicates which need to stat the file first. If you use the -fstype FOO predicate and specify a filesystem type FOO which is not known (that is, present in `/etc/mtab') at the time uxfind starts, that predicate is equivalent to -false.

3

At this optimisation level, the full cost-based query optimiser is enabled. The order of tests is modified so that cheap (i.e. fast) tests are performed first and more expensive ones are performed later, if necessary. Within each cost band, predicates are evaluated earlier or later according to whether they are likely to succeed or not. For -o, predicates which are likely to succeed are evaluated earlier, and for -a, predicates which are likely to fail are evaluated earlier.

The cost-based optimiser has a fixed idea of how likely any given test is to succeed. In some cases the probability takes account of the specific nature of the test (for example, -type f is assumed to be more likely to succeed than -type c). The cost-based optimiser is currently being evaluated. If it does not actually improve the performance of uxfind, it will be removed again. Conversely, optimisations that prove to be reliable, robust and effective may be enabled at lower optimisation levels over time. However, the default behaviour (i.e. optimisation level 1) will not be changed in the 4.3.x release series. The findutils test suite runs all the tests on uxfind at each optimisation level and ensures that the result is the same.

EXPRESSION

The part of the command line after the list of starting points is the expression. This is a kind of query specification describing how we match files and what we do with the files that were matched. An expression is composed of a sequence of things:

Tests

Tests return a true or false value, usually on the basis of some property of a file we are considering. The -empty test for example is true only when the current file is empty.

Actions

Actions have side effects (such as printing something on the standard output) and return either true or false, usually based on whether or not they are successful. The -print action for example prints the name of the current file on the standard output.

Global options

Global options affect the operation of tests and actions specified on any part of the command line. Global options always return true. The -depth option for example makes uxfind traverse the file system in a depth-first order.

Positional options

Positional optiona affect only tests or actions which follow them. Positional options always return true. The -regextype option for example is positional, specifying the regular expression dialect for regulat expressions occurring later on the command line.

Operators

Operators join together the other items within the expression. They include for example -o (meaning logical OR) and -a (meaning logical AND). Where an operator is missing, -a is assumed.

If the whole expression contains no actions other than -prune or -print, -print is performed on all files for which the whole expression is true.

The -delete action also acts like an option (since it implies -depth).

POSITIONAL OPTIONS

Positional options always return true. They affect only tests occurring later on the command line.

-daystart

Measure times (for -amin, -atime, -cmin, -ctime, -mmin, and -mtime) from the beginning of today rather than from 24 hours ago. This option only affects tests which appear later on the command line.

-follow

Deprecated; use the -L option instead. Dereference symbolic links. Implies -noleaf. The -follow option affects only those tests which appear after it on the command line. Unless the -H or -L option has been specified, the position of the -follow option changes the behaviour of the -newer predicate; any files listed as the argument of -newer will be dereferenced if they are symbolic links. The same consideration applies to -newerXY, -anewer and -cnewer. Similarly, the -type predicate will always match against the type of the file that a symbolic link points to rather than the link itself. Using -follow causes the -lname and -ilname predicates always to return false.

-regextype type

Changes the regular expression syntax understood by -regex and -iregex tests which occur later on the command line. To see which regular expression types are known, use -regextype help. The Texinfo documentation (see SEE ALSO) explains the meaning of and differences between the various types of regular expression.

-warn, -nowarn

Turn warning messages on or off. These warnings apply only to the command line usage, not to any conditions that uxfind might encounter when it searches directories. The default behaviour corresponds to -warn if standard input is a tty, and to -nowarn otherwise. If a warning message relating to command-line usage is produced, the exit status of uxfind is not affected. If the POSIXLY_CORRECT environment variable is set, and -warn is also used, it is not specified which, if any, warnings will be active.

GLOBAL OPTIONS

Global options always return true. Global options take effect even for tests which occur earlier on the command line. To prevent confusion, global options should specified on the command-line after the list of start points, just before the first test, positional option or action. If you specify a global option in some other place, uxfind will issue a warning message explaining that this can be confusing.

The global options occur after the list of start points, and so are not the same kind of option as -L, for example.

-d

A synonym for -depth, for compatibility with FreeBSD, NetBSD, MacOS X and OpenBSD.

-depth

Process each directory's contents before the directory itself. The -delete action also implies -depth.

-help, --help

Print a summary of the command-line usage of uxfind and exit.

-ignore_readdir_race

Normally, uxfind will emit an error message when it fails to stat a file. If you give this option and a file is deleted between the time uxfind reads the name of the file from the directory and the time it tries to stat the file, no error message will be issued. This also applies to files or directories whose names are given on the command line. This option takes effect at the time the command line is read, which means that you cannot search one part of the filesystem with this option on and part of it with this option off (if you need to do that, you will need to issue two uxfind commands instead, one with the option and one without it).

-maxdepth levels

Descend at most levels (a non-negative integer) levels of directories below the starting-points. -maxdepth 0

means only apply the tests and actions to the starting-points themselves.

-mindepth levels

Do not apply any tests or actions at levels less than levels (a non-negative integer). -mindepth 1 means process all files except the starting-points.

-mount

Don't descend directories on other filesystems. An alternate name for -xdev, for compatibility with some other versions of uxfind.

-noignore_readdir_race

Turns off the effect of -ignore_readdir_race.

-noleaf

Do not optimize by assuming that directories contain 2 fewer subdirectories than their hard link count. This option is needed when searching filesystems that do not follow the Unix directory-link convention, such as CD-ROM or MS-DOS filesystems or AFS volume mount points. Each directory on a normal Unix filesystem has at least 2 hard links: its name and its `.' entry. Additionally, its subdirectories (if any) each have a `..' entry linked to that directory. When uxfind is examining a directory, after it has statted 2 fewer subdirectories than the directory's link count, it knows that the rest of the entries in the directory are non-directories (`leaf' files in the directory tree). If only the files' names need to be examined, there is no need to stat them; this gives a significant increase in search speed.

-version, --version

Print the uxfind version number and exit.

-xdev

Don't descend directories on other filesystems.

TESTS

Some tests, for example -newerXY and -samefile, allow comparison between the file currently being examined and some reference file specified on the command line. When these tests are used, the interpretation of the reference file is determined by the options -H, -L and -P and any previous -follow, but the reference file is only examined once, at the time the command line is parsed. If the reference file cannot be examined (for example, the stat(2) system call fails for it), an error message is issued, and uxfind exits with a nonzero status. Numeric arguments can be specified as

+n

for greater than n,

-n

for less than n,

n

for exactly n.

-amin n

File was last accessed n minutes ago.

-anewer file

File was last accessed more recently than file was modified. If file is a symbolic link and the -H option or the -L option is in effect, the access time of the file it points to is always used.

-atime n

File was last accessed n*24 hours ago. When uxfind figures out how many 24-hour periods ago the file was last accessed, any fractional part is ignored, so to match -atime +1, a file has to have been accessed at least two days ago.

-cmin n

File's status was last changed n minutes ago.

-cnewer file

File's status was last changed more recently than file was modified. If file is a symbolic link and the -H option or the -L option is in effect, the status-change time of the file it points to is always used.

-ctime n

File's status was last changed n*24 hours ago. See the comments for -atime to understand how rounding affects the interpretation of file status change times.

-empty

File is empty and is either a regular file or a directory.

-executable

Matches files which are executable and directories which are searchable (in a file name resolution sense). This takes into account access control lists and other permissions artefacts which the -perm test ignores. This test makes use of the access(2) system call, and so can be fooled by NFS servers which do UID mapping (or root-squashing), since many systems implement access(2) in the client's kernel and so cannot make use of the UID mapping information held on the server. Because this test is based only on the result of the access(2) system call, there is no guarantee that a file for which this test succeeds can actually be executed.

-false

Always false.

-fstype type

File is on a filesystem of type type. The valid filesystem types vary among different versions of Unix; an incomplete list of filesystem types that are accepted on some version of Unix or another is: ufs, 4.2, 4.3, nfs, tmp, mfs, S51K, S52K. You can use -printf with the %F directive to see the types of your filesystems.

-gid n

File's numeric group ID is n.

-group gname

File belongs to group gname (numeric group ID allowed).

-ilname pattern

Like -lname, but the match is case insensitive. If the -L option or the -follow option is in effect, this test returns false unless the symbolic link is broken.

-iname pattern

Like -name, but the match is case insensitive. For example, the patterns `fo*' and `F??' match the file names `Foo', `FOO', `foo', `fOo', etc. The pattern `*foo*` will also match a file called '.foobar'.

-inum n

File has inode number n. It is normally easier to use the -samefile test instead.

-ipath pattern

Like -path. but the match is case insensitive.

-iregex pattern

Like -regex, but the match is case insensitive.

-iwholename pattern

See -ipath. This alternative is less portable than -ipath.

-links n

File has n links.

-lname pattern

File is a symbolic link whose contents match shell pattern pattern. The metacharacters do not treat `/' or `.' specially. If the -L option or the -follow option is in effect, this test returns false unless the symbolic link is broken.

-mmin n

File's data was last modified n minutes ago.

-mtime n

File's data was last modified n*24 hours ago. See the comments for -atime to understand how rounding affects the interpretation of file modification times.

-name pattern

Base of file name (the path with the leading directories removed) matches shell pattern pattern. Because the leading directories are removed, the file names considered for a match with -name will never include a slash, so `-name a/b' will never match anything (you probably need to use -path instead). A warning is issued if you try to do this, unless the environment variable POSIXLY_CORRECT is set. The metacharacters (`*', `?', and `[]') match a `.' at the start of the base name (this is a change in findutils-4.2.2; see section STANDARDS CONFORMANCE below). To ignore a directory and the files under it, use -prune; see an example in the description of -path. Braces are not recognised as being special, despite the fact that some shells including Bash imbue braces with a special meaning in shell patterns. The filename matching is performed with the use of the fnmatch(3) library function. Don't forget to enclose the pattern in quotes in order to protect it from expansion by the shell.

-newer file

File was modified more recently than file. If file is a symbolic link and the -H option or the -L option is in effect, the modification time of the file it points to is always used.

-newerXY reference

Succeeds if timestamp X of the file being considered is newer than timestamp Y of the file reference. The letters X and Y can be any of the following letters:

a

The access time of the file reference

B

The birth time of the file reference

c

The inode status change time of reference

m

The modification time of the file reference

t

reference is interpreted directly as a time

Some combinations are invalid; for example, it is invalid for X to be t. Some combinations are not implemented on all systems; for example B is not supported on all systems. If an invalid or unsupported combination of XY is specified, a fatal error results. Time specifications are interpreted as for the argument to the -d option of GNU date. If you try to use the birth time of a reference file, and the birth time cannot be determined, a fatal error message results. If you specify a test which refers to the birth time of files being examined, this test will fail for any files where the birth time is unknown.

-nogroup

No group corresponds to file's numeric group ID.

-nouser

No user corresponds to file's numeric user ID.

-path pattern

File name matches shell pattern pattern. The metacharacters do not treat `/' or `.' specially; so, for example,

uxfind . -path "./sr*sc"

will print an entry for a directory called `./src/misc' (if one exists). To ignore a whole directory tree, use -prune rather than checking every file in the tree. For example, to skip the directory `src/emacs' and all files and directories under it, and print the names of the other files found, do something like this:

uxfind . -path ./src/emacs -prune -o -print

Note that the pattern match test applies to the whole file name, starting from one of the start points named on the command line. It would only make sense to use an absolute path name here if the relevant start point is also an absolute path. This means that this command will never match anything:

uxfind bar -path /foo/bar/myfile -print

Find compares the -path argument with the concatenation of a directory name and the base name of the file it's examining. Since the concatenation will never end with a slash, -path arguments ending in a slash will match nothing (except perhaps a start point specified on the command line). The predicate -path is also supported by HP-UX uxfind and will be in a forthcoming version of the POSIX standard.

-perm mode

File's permission bits are exactly mode (octal or symbolic). Since an exact match is required, if you want to use this form for symbolic modes, you may have to specify a rather complex mode string. For example `-perm g=w' will only match files which have mode 0020 (that is, ones for which group write permission is the only permission set). It is more likely that you will want to use the `/' or `-' forms, for example `-perm -g=w', which matches any file with group write permission. See the EXAMPLES section for some illustrative examples.

-perm -mode

All of the permission bits mode are set for the file. Symbolic modes are accepted in this form, and this is usually the way in which you would want to use them. You must specify `u', `g' or `o' if you use a symbolic mode. See the EXAMPLES section for some illustrative examples.

-perm /mode

Any of the permission bits mode are set for the file. Symbolic modes are accepted in this form. You must specify `u', `g' or `o' if you use a symbolic mode. See the EXAMPLES section for some illustrative examples. If no permission bits in mode are set, this test matches any file (the idea here is to be consistent with the behaviour of -perm -000).

-perm +mode

This is no longer supported (and has been deprecated since 2005). Use -perm /mode instead.

-readable

Matches files which are readable. This takes into account access control lists and other permissions artefacts which the -perm test ignores. This test makes use of the access(2) system call, and so can be fooled by NFS servers which do UID mapping (or root-squashing), since many systems implement access(2) in the client's kernel and so cannot make use of the UID mapping information held on the server.

-regex pattern

File name matches regular expression pattern. This is a match on the whole path, not a search. For example, to match a file named `./fubar3', you can use the regular expression `.*bar.' or `.*b.*3', but not `f.*r3'. The regular expressions understood by uxfind are by default Emacs Regular Expressions, but this can be changed with the -regextype option.

-samefile name

File refers to the same inode as name. When -L is in effect, this can include symbolic links.

-size n[cwbkMG]

File uses n units of space, rounding up. The following suffixes can be used:

`b'

for 512-byte blocks (this is the default if no suffix is used)

`c'

for bytes

`w'

for two-byte words

`k'

for Kilobytes (units of 1024 bytes)

`M'

for Megabytes (units of 1048576 bytes)

`G'

for Gigabytes (units of 1073741824 bytes)

The size does not count indirect blocks, but it does count blocks in sparse files that are not actually allocated. Bear in mind that the `%k' and `%b' format specifiers of -printf handle sparse files differently. The `b' suffix always denotes 512-byte blocks and never 1 Kilobyte blocks, which is different to the behaviour of -ls.

The + and - prefixes signify greater than and less than, as usual. Bear in mind that the size is rounded up to the next unit. Therefore -size -1M is not equivalent to -size -1048576c. The former only matches empty files, the latter matches files from 1 to 1,048,575 bytes.

-true

Always true.

-type c

File is of type c:

b

block (buffered) special

c

character (unbuffered) special

d

directory

p

named pipe (FIFO)

f

regular file

l

symbolic link; this is never true if the -L option or the -follow option is in effect, unless the symbolic link is broken. If you want to search for symbolic links when -L is in effect, use -xtype.

s

socket

D

door (Solaris)

-uid n

File's numeric user ID is n.

-used n

File was last accessed n days after its status was last changed.

-user uname

File is owned by user uname (numeric user ID allowed).

-wholename pattern

See -path. This alternative is less portable than -path.

-writable

Matches files which are writable. This takes into account access control lists and other permissions artefacts which the -perm test ignores. This test makes use of the access(2) system call, and so can be fooled by NFS servers which do UID mapping (or root-squashing), since many systems implement access(2) in the client's kernel and so cannot make use of the UID mapping information held on the server.

-xtype c

The same as -type unless the file is a symbolic link. For symbolic links: if the -H or -P option was specified, true if the file is a link to a file of type c; if the -L option has been given, true if c is `l'. In other words, for symbolic links, -xtype checks the type of the file that -type does not check.

-context pattern

(SELinux only) Security context of the file matches glob pattern.

ACTIONS

-delete

Delete files; true if removal succeeded. If the removal failed, an error message is issued. If -delete fails, uxfind's exit status will be nonzero (when it eventually exits). Use of -delete automatically turns on the `-depth' option.

Warnings: Don't forget that the uxfind command line is evaluated as an expression, so putting -delete first will make uxfind try to delete everything below the starting points you specified. When testing a uxfind command line that you later intend to use with -delete, you should explicitly specify -depth in order to avoid later surprises. Because -delete implies -depth, you cannot usefully use -prune and -delete together.

-exec command ;

Execute command; true if 0 status is returned. All following arguments to uxfind are taken to be arguments to the command until an argument consisting of `;' is encountered. The string `{}' is replaced by the current file name being processed everywhere it occurs in the arguments to the command, not just in arguments where it is alone, as in some versions of uxfind. Both of these constructions might need to be escaped (with a `\') or quoted to protect them from expansion by the shell. See the EXAMPLES section for examples of the use of the -exec option. The specified command is run once for each matched file. The command is executed in the starting directory. There are unavoidable security problems surrounding use of the -exec action; you should use the -execdir option instead.

-exec command {} +

This variant of the -exec action runs the specified command on the selected files, but the command line is built by appending each selected file name at the end; the total number of invocations of the command will be much less than the number of matched files. The command line is built in much the same way that xargs builds its command lines. Only one instance of `{}' is allowed within the command. The command is executed in the starting directory. If uxfind encounters an error, this can sometimes cause an immediate exit, so some pending commands may not be run at all. This variant of -exec always returns true.

-execdir command ;

-execdir command {} +

Like -exec, but the specified command is run from the subdirectory containing the matched file, which is not normally the directory in which you started uxfind. This a much more secure method for invoking commands, as it avoids race conditions during resolution of the paths to the matched files. As with the -exec action, the `+' form of -execdir will build a command line to process more than one matched file, but any given invocation of command will only list files that exist in the same subdirectory. If you use this option, you must ensure that your $PATH environment variable does not reference `.'; otherwise, an attacker can run any commands they like by leaving an appropriately-named file in a directory in which you will run -execdir. The same applies to having entries in $PATH which are empty or which are not absolute directory names. If uxfind encounters an error, this can sometimes cause an immediate exit, so some pending commands may not be run at all. The result of the action depends on whether the + or the ; variant is being used; -execdir command {} + always returns true, while -execdir command {} ; returns true only if command returns 0.

-fls file

True; like -ls but write to file like -fprint. The output file is always created, even if the predicate is never matched. See the UNUSUAL FILENAMES section for information about how unusual characters in filenames are handled.

-fprint file

True; print the full file name into file file. If file does not exist when uxfind is run, it is created; if it does exist, it is truncated. The file names `/dev/stdout' and `/dev/stderr' are handled specially; they refer to the standard output and standard error output, respectively. The output file is always created, even if the predicate is never matched. See the UNUSUAL FILENAMES section for information about how unusual characters in filenames are handled.

-fprint0 file

True; like -print0 but write to file like -fprint. The output file is always created, even if the predicate is never matched. See the UNUSUAL FILENAMES section for information about how unusual characters in filenames are handled.

-fprintf file format

True; like -printf but write to file like -fprint. The output file is always created, even if the predicate is never matched. See the UNUSUAL FILENAMES section for information about how unusual characters in filenames are handled.

-ls

True; list current file in ls -dils format on standard output. The block counts are of 1K blocks, unless the environment variable POSIXLY_CORRECT is set, in which case 512-byte blocks are used. See the UNUSUAL FILENAMES section for information about how unusual characters in filenames are handled.

-ok command ;

Like -exec but ask the user first. If the user agrees, run the command. Otherwise just return false. If the command is run, its standard input is redirected from /dev/null.

The response to the prompt is matched against a pair of regular expressions to determine if it is an affirmative or negative response. This regular expression is obtained from the system if the `POSIXLY_CORRECT' environment variable is set, or otherwise from uxfind's message translations. If the system has no suitable definition, uxfind's own definition will be used. In either case, the interpretation of the regular expression itself will be affected by the environment variables 'LC_CTYPE' (character classes) and 'LC_COLLATE' (character ranges and equivalence classes).

-okdir command ;

Like -execdir but ask the user first in the same way as for -ok. If the user does not agree, just return false. If the command is run, its standard input is redirected from /dev/null.

-print

True; print the full file name on the standard output, followed by a newline. If you are piping the output of uxfind into another program and there is the faintest possibility that the files which you are searching for might contain a newline, then you should seriously consider using the -print0 option instead of -print. See the UNUSUAL FILENAMES section for information about how unusual characters in filenames are handled.

-print0

True; print the full file name on the standard output, followed by a null character (instead of the newline character that -print uses). This allows file names that contain newlines or other types of white space to be correctly interpreted by programs that process the uxfind output. This option corresponds to the -0 option of xargs.

-printf format

True; print format on the standard output, interpreting `\' escapes and `%' directives. Field widths and precisions can be specified as with the `printf' C function. Please note that many of the fields are printed as %s rather than %d, and this may mean that flags don't work as you might expect. This also means that the `-' flag does work (it forces fields to be left-aligned). Unlike -print, -printf does not add a newline at the end of the string. The escapes and directives are:

\a

Alarm bell.

\b

Backspace.

\c

Stop printing from this format immediately and flush the output.

\f

Form feed.

\n

Newline.

\r

Carriage return.

\t

Horizontal tab.

\v

Vertical tab.

\0

ASCII NUL.

\\

A literal backslash (`\').

\NNN

The character whose ASCII code is NNN (octal).

A `\' character followed by any other character is treated as an ordinary character, so they both are printed.

%%

A literal percent sign.

%a

File's last access time in the format returned by the C `ctime' function.

%Ak

File's last access time in the format specified by k, which is either `@' or a directive for the C `strftime' function. The possible values for k are listed below; some of them might not be available on all systems, due to differences in `strftime' between systems.

@

seconds since Jan. 1, 1970, 00:00 GMT, with fractional part.

Time fields:

H

hour (00..23)

I

hour (01..12)

k

hour ( 0..23)

l

hour ( 1..12)

M

minute (00..59)

p

locale's AM or PM

r

time, 12-hour (hh:mm:ss [AP]M)

S

Second (00.00 .. 61.00). There is a fractional part.

T

time, 24-hour (hh:mm:ss.xxxxxxxxxx)

+

Date and time, separated by `+', for example `2004-04-28+22:22:05.0'. This is a GNU extension. The time is given in the current timezone (which may be affected by setting the TZ environment variable). The seconds field includes a fractional part.

X

locale's time representation (H:M:S). The seconds field includes a fractional part.

Z

time zone (e.g., EDT), or nothing if no time zone is determinable

Date fields:

a

locale's abbreviated weekday name (Sun..Sat)

A

locale's full weekday name, variable length (Sunday..Saturday)

b

locale's abbreviated month name (Jan..Dec)

B

locale's full month name, variable length (January..December)

c

locale's date and time (Sat Nov 04 12:02:33 EST 1989). The format is the same as for ctime(3) and so to preserve compatibility with that format, there is no fractional part in the seconds field.

d

day of month (01..31)

D

date (mm/dd/yy)

h

same as b

j

day of year (001..366)

m

month (01..12)

U

week number of year with Sunday as first day of week (00..53)

w

day of week (0..6)

W

week number of year with Monday as first day of week (00..53)

x

locale's date representation (mm/dd/yy)

y

last two digits of year (00..99)

Y

year (1970...)

%b

The amount of disk space used for this file in 512-byte blocks. Since disk space is allocated in multiples of the filesystem block size this is usually greater than %s/512, but it can also be smaller if the file is a sparse file.

%c

File's last status change time in the format returned by the C `ctime' function.

%Ck

File's last status change time in the format specified by k, which is the same as for %A.

%d

File's depth in the directory tree; 0 means the file is a starting-point.

%D

The device number on which the file exists (the st_dev field of struct stat), in decimal.

%f

File's name with any leading directories removed (only the last element).

%F

Type of the filesystem the file is on; this value can be used for -fstype.

%g

File's group name, or numeric group ID if the group has no name.

%G

File's numeric group ID.

%h

Leading directories of file's name (all but the last element). If the file name contains no slashes (since it is in the current directory) the %h specifier expands to ".".

%H

Starting-point under which file was found.

%i

File's inode number (in decimal).

%k

The amount of disk space used for this file in 1K blocks. Since disk space is allocated in multiples of the filesystem block size this is usually greater than %s/1024, but it can also be smaller if the file is a sparse file.

%l

Object of symbolic link (empty string if file is not a symbolic link).

%m

File's permission bits (in octal). This option uses the `traditional' numbers which most Unix implementations use, but if your particular implementation uses an unusual ordering of octal permissions bits, you will see a difference between the actual value of the file's mode and the output of %m. Normally you will want to have a leading zero on this number, and to do this, you should use the # flag (as in, for example, `%#m').

%M

File's permissions (in symbolic form, as for ls). This directive is supported in findutils 4.2.5 and later.

%n

Number of hard links to file.

%p

File's name.

%P

File's name with the name of the starting-point under which it was found removed.

%s

File's size in bytes.

%S

File's sparseness. This is calculated as (BLOCKSIZE*st_blocks / st_size). The exact value you will get for an ordinary file of a certain length is system-dependent. However, normally sparse files will have values less than 1.0, and files which use indirect blocks may have a value which is greater than 1.0. The value used for BLOCKSIZE is system-dependent, but is usually 512 bytes. If the file size is zero, the value printed is undefined. On systems which lack support for st_blocks, a file's sparseness is assumed to be 1.0.

%t

File's last modification time in the format returned by the C `ctime' function.

%Tk

File's last modification time in the format specified by k, which is the same as for %A.

%u

File's user name, or numeric user ID if the user has no name.

%U

File's numeric user ID.

%y

File's type (like in ls -l), U=unknown type (shouldn't happen)

%Y

File's type (like %y), plus follow symlinks: L=loop, N=nonexistent

%Z

(SELinux only) file's security context.

%{ %[ %(

Reserved for future use.

A `%' character followed by any other character is discarded, but the other character is printed (don't rely on this, as further format characters may be introduced). A `%' at the end of the format argument causes undefined behaviour since there is no following character. In some locales, it may hide your door keys, while in others it may remove the final page from the novel you are reading.

The %m and %d directives support the # , 0 and + flags, but the other directives do not, even if they print numbers. Numeric directives that do not support these flags include G, U, b, D, k and n. The `-' format flag is supported and changes the alignment of a field from right-justified (which is the default) to left-justified.

See the UNUSUAL FILENAMES section for information about how unusual characters in filenames are handled.

-prune

True; if the file is a directory, do not descend into it. If -depth is given, false; no effect. Because -delete implies -depth, you cannot usefully use -prune and -delete together.

-quit

Exit immediately. No child processes will be left running, but no more paths specified on the command line will be processed. For example, uxfind /tmp/foo /tmp/bar -print -quit will print only /tmp/foo. Any command lines which have been built up with -execdir ... {} + will be invoked before uxfind exits. The exit status may or may not be zero, depending on whether an error has already occurred.

OPERATORS

Listed in order of decreasing precedence:

( expr )

Force precedence. Since parentheses are special to the shell, you will normally need to quote them. Many of the examples in this manual page use backslashes for this purpose: `\(...\)' instead of `(...)'.

! expr

True if expr is false. This character will also usually need protection from interpretation by the shell.

-not expr

Same as ! expr, but not POSIX compliant.

expr1 expr2

Two expressions in a row are taken to be joined with an implied "and"; expr2 is not evaluated if expr1 is false.

expr1 -a expr2

Same as expr1 expr2.

expr1 -and expr2

Same as expr1 expr2, but not POSIX compliant.

expr1 -o expr2

Or; expr2 is not evaluated if expr1 is true.

expr1 -or expr2

Same as expr1 -o expr2, but not POSIX compliant.

expr1 , expr2

List; both expr1 and expr2 are always evaluated. The value of expr1 is discarded; the value of the list is the value of expr2. The comma operator can be useful for searching for several different types of thing, but traversing the filesystem hierarchy only once. The -fprintf action can be used to list the various matched items into several different output files. Please note that -a when specified implicitly (for example by two tests appearing without an explicit operator between them) or explicitly has higher precedence than -o. This means that uxfind . -name afile -o -name bfile -print will never print afile.

UNUSUAL FILENAMES

Many of the actions of uxfind result in the printing of data which is under the control of other users. This includes file names, sizes, modification times and so forth. File names are a potential problem since they can contain any character except `\0' and `/'. Unusual characters in file names can do unexpected and often undesirable things to your terminal (for example, changing the settings of your function keys on some terminals). Unusual characters are handled differently by various actions, as described below.

-print0, -fprint0

Always print the exact filename, unchanged, even if the output is going to a terminal.

-ls, -fls

Unusual characters are always escaped. White space, backslash, and double quote characters are printed using C-style escaping (for example `\f', `\"'). Other unusual characters are printed using an octal escape. Other printable characters (for -ls and -fls these are the characters between octal 041 and 0176) are printed as-is.

-printf, -fprintf

If the output is not going to a terminal, it is printed as-is. Otherwise, the result depends on which directive is in use. The directives %D, %F, %g, %G, %H, %Y, and %y expand to values which are not under control of files' owners, and so are printed as-is. The directives %a, %b, %c, %d, %i, %k, %m, %M, %n, %s, %t, %u and %U have values which are under the control of files' owners but which cannot be used to send arbitrary data to the terminal, and so these are printed as-is. The directives %f, %h, %l, %p and %P are quoted. This quoting is performed in the same way as for GNU ls. This is not the same quoting mechanism as the one used for -ls and -fls. If you are able to decide what format to use for the output of uxfind then it is normally better to use `\0' as a terminator than to use newline, as file names can contain white space and newline characters. The setting of the `LC_CTYPE' environment variable is used to determine which characters need to be quoted.

-print, -fprint

Quoting is handled in the same way as for -printf and -fprintf. If you are using uxfind in a script or in a situation where the matched files might have arbitrary names, you should consider using -print0 instead of -print. The -ok and -okdir actions print the current filename as-is. This may change in a future release.

STANDARDS CONFORMANCE

For closest compliance to the POSIX standard, you should set the POSIXLY_CORRECT environment variable. The following options are specified in the POSIX standard (IEEE Std 1003.1, 2003 Edition):

-H

This option is supported.

-L

This option is supported.

-name

This option is supported, but POSIX conformance depends on the POSIX conformance of the system's fnmatch(3) library function. As of findutils-4.2.2, shell metacharacters (`*', `?' or `[]' for example) will match a leading `.', because IEEE PASC interpretation 126 requires this. This is a change from previous versions of findutils.

-type

Supported. POSIX specifies `b', `c', `d', `l', `p', `f' and `s'. GNU uxfind also supports `D', representing a Door, where the OS provides these.

-ok

Supported. Interpretation of the response is according to the "yes" and "no" patterns selected by setting the `LC_MESSAGES' environment variable. When the `POSIXLY_CORRECT' environment variable is set, these patterns are taken system's definition of a positive (yes) or negative (no) response. See the system's documentation for nl_langinfo(3), in particular YESEXPR and NOEXPR. When `POSIXLY_CORRECT' is not set, the patterns are instead taken from uxfind's own message catalogue.

-newer

Supported. If the file specified is a symbolic link, it is always dereferenced. This is a change from previous behaviour, which used to take the relevant time from the symbolic link; see the HISTORY section below.

-perm

Supported. If the POSIXLY_CORRECT environment variable is not set, some mode arguments (for example +a+x) which are not valid in POSIX are supported for backward-compatibility.

Other predicates

The predicates -atime, -ctime, -depth, -group, -links, -mtime, -nogroup, -nouser, -print, -prune, -size, -user and -xdev `-atime', `-ctime', `-depth', `-group', `-links', `-mtime', `-nogroup', `-nouser', `-perm', `-print', `-prune', `-size', `-user' and `-xdev', are all supported.

The POSIX standard specifies parentheses `(', `)', negation `!' and the `and' and `or' operators ( -a, -o). All other options, predicates, expressions and so forth are extensions beyond the POSIX standard. Many of these extensions are not unique to GNU uxfind, however. The POSIX standard requires that uxfind detects loops:

The uxfind utility shall detect infinite loops; that is, entering a previously visited directory that is an ancestor of the last file encountered. When it detects an infinite loop, uxfind shall write a diagnostic message to standard error and shall either recover its position in the hierarchy or terminate. GNU uxfind complies with these requirements. The link count of directories which contain entries which are hard links to an ancestor will often be lower than they otherwise should be. This can mean that GNU uxfind will sometimes optimise away the visiting of a subdirectory which is actually a link to an ancestor. Since uxfind does not actually enter such a subdirectory, it is allowed to avoid emitting a diagnostic message. Although this behaviour may be somewhat confusing, it is unlikely that anybody actually depends on this behaviour. If the leaf optimisation has been turned off with -noleaf, the directory entry will always be examined and the diagnostic message will be issued where it is appropriate. Symbolic links cannot be used to create filesystem cycles as such, but if the -L option or the -follow option is in use, a diagnostic message is issued when uxfind encounters a loop of symbolic links. As with loops containing hard links, the leaf optimisation will often mean that uxfind knows that it doesn't need to call stat() or chdir() on the symbolic link, so this diagnostic is frequently not necessary. The -d option is supported for compatibility with various BSD systems, but you should use the POSIX-compliant option -depth instead. The POSIXLY_CORRECT environment variable does not affect the behaviour of the -regex or -iregex tests because those tests aren't specified in the POSIX standard.

ENVIRONMENT VARIABLES

LANG

Provides a default value for the internationalization variables that are unset or null.

LC_ALL

If set to a non-empty string value, override the values of all the other internationalization variables.

LC_COLLATE

The POSIX standard specifies that this variable affects the pattern matching to be used for the -name option. GNU uxfind uses the fnmatch(3) library function, and so support for `LC_COLLATE' depends on the system library. This variable also affects the interpretation of the response to -ok; while the `LC_MESSAGES' variable selects the actual pattern used to interpret the response to -ok, the interpretation of any bracket expressions in the pattern will be affected by `LC_COLLATE'.

LC_CTYPE

This variable affects the treatment of character classes used in regular expressions and also with the -name test, if the system's fnmatch(3) library function supports this. This variable also affects the interpretation of any character classes in the regular expressions used to interpret the response to the prompt issued by -ok. The `LC_CTYPE' environment variable will also affect which characters are considered to be unprintable when filenames are printed; see the section UNUSUAL FILENAMES.

LC_MESSAGES

Determines the locale to be used for internationalised messages. If the `POSIXLY_CORRECT' environment variable is set, this also determines the interpretation of the response to the prompt made by the -ok action.

NLSPATH

Determines the location of the internationalisation message catalogues.

PATH

Affects the directories which are searched to find the executables invoked by -exec, -execdir, -ok and -okdir.

POSIXLY_CORRECT

Determines the block size used by -ls and -fls. If POSIXLY_CORRECT is set, blocks are units of 512 bytes. Otherwise they are units of 1024 bytes.

Setting this variable also turns off warning messages (that is, implies -nowarn) by default, because POSIX requires that apart from the output for -ok, all messages printed on stderr are diagnostics and must result in a non-zero exit status.

When POSIXLY_CORRECT is not set, -perm +zzz is treated just like -perm /zzz if +zzz is not a valid symbolic mode. When POSIXLY_CORRECT is set, such constructs are treated as an error.

When POSIXLY_CORRECT is set, the response to the prompt made by the -ok action is interpreted according to the system's message catalogue, as opposed to according to uxfind's own message translations.

TZ

Affects the time zone used for some of the time-related format directives of -printf and -fprintf.

EXAMPLES

uxfind /tmp -name core -type f -print | xargs /bin/rm -f

Find files named core in or below the directory /tmp and delete them. Note that this will work incorrectly if there are any filenames containing newlines, single or double quotes, or spaces. uxfind /tmp -name core -type f -print0 | xargs -0 /bin/rm -f

Find files named core in or below the directory /tmp and delete them, processing filenames in such a way that file or directory names containing single or double quotes, spaces or newlines are correctly handled. The -name test comes before the -type test in order to avoid having to call stat(2) on every file.

uxfind . -type f -exec file aq{}aq \;

Runs `file' on every file in or below the current directory. Notice that the braces are enclosed in single quote marks to protect them from interpretation as shell script punctuation. The semicolon is similarly protected by the use of a backslash, though single quotes could have been used in that case also.

uxfind / \( -perm -4000 -fprintf /root/suid.txt aq%#m %u %p\naq \) , \

\( -size +100M -fprintf /root/big.txt  aq%-10s %p\naq \)

Traverse the filesystem just once, listing setuid files and directories into /root/suid.txt and large files into /root/big.txt.

uxfind $HOME  -mtime 0

Search for files in your home directory which have been modified in the last twenty-four hours. This command works this way because the time since each file was last modified is divided by 24 hours and any remainder is discarded. That means that to match -mtime 0, a file will have to have a modification in the past which is less than 24 hours ago.

uxfind /sbin /usr/sbin -executable \! -readable -print

Search for files which are executable but not readable.

uxfind . -perm 664

Search for files which have read and write permission for their owner, and group, but which other users can read but not write to. Files which meet these criteria but have other permissions bits set (for example if someone can execute the file) will not be matched.

uxfind . -perm -664

Search for files which have read and write permission for their owner and group, and which other users can read, without regard to the presence of any extra permission bits (for example the executable bit). This will match a file which has mode 0777, for example.

uxfind . -perm /222

Search for files which are writable by somebody (their owner, or their group, or anybody else).

uxfind . -perm /220

uxfind . -perm /u+w,g+w

uxfind . -perm /u=w,g=w

All three of these commands do the same thing, but the first one uses the octal representation of the file mode, and the other two use the symbolic form. These commands all search for files which are writable by either their owner or their group. The files don't have to be writable by both the owner and group to be matched; either will do.

uxfind . -perm -220

uxfind . -perm -g+w,u+w

Both these commands do the same thing; search for files which are writable by both their owner and their group.

uxfind . -perm -444 -perm /222 ! -perm /111

uxfind . -perm -a+r -perm /a+w ! -perm /a+x

These two commands both search for files that are readable for everybody ( -perm -444 or -perm -a+r), have at least one write bit set ( -perm /222 or -perm /a+w) but are not executable for anybody ( ! -perm /111 and ! -perm /a+x respectively).

cd /source-dir

uxfind . -name .snapshot -prune -o \( \! -name *~ -print0 \)|

cpio -pmd0   /dest-dir

This command copies the contents of /source-dir to /dest-dir, but omits files and directories named .snapshot (and anything in them). It also omits files or directories whose name ends in ~, but not their contents. The construct -prune -o \( ... -print0 \) is quite common. The idea here is that the expression before -prune matches things which are to be pruned. However, the -prune action itself returns true, so the following -o ensures that the right hand side is evaluated only for those directories which didn't get pruned (the contents of the pruned directories are not even visited, so their contents are irrelevant). The expression on the right hand side of the -o is in parentheses only for clarity. It emphasises that the -print0 action takes place only for things that didn't have -prune applied to them. Because the default `and' condition between tests binds more tightly than -o, this is the default anyway, but the parentheses help to show what is going on.

uxfind repo/ -exec test -d {}/.svn \; -or \

-exec test -d {}/.git \; -or -exec test  -d {}/CVS \; \

-print -prune

Given the following directory of projects and their associated SCM administrative directories, perform an efficient search for the projects' roots:

repo/project1/CVS

repo/gnu/project2/.svn

repo/gnu/project3/.svn

repo/gnu/project3/src/.svn

repo/project4/.git

In this example, -prune prevents unnecessary descent into directories that have already been discovered (for example we do not search project3/src because we already found project3/.svn), but ensures sibling directories (project2 and project3) are found.

EXIT STATUS

uxfind exits with status 0 if all files are processed successfully, greater than 0 if errors occur. This is deliberately a very broad description, but if the return value is non-zero, you should not rely on the correctness of the results of uxfind.

When some error occurs, uxfind may stop immediately, without completing all the actions specified. For example, some starting points may not have been examined or some pending program invocations for -exec ... {} + or -execdir ... {} + may not have been performed.

SEE ALSO

locate(1), locatedb(5), updatedb(1), xargs(1), chmod(1), fnmatch(3), regex(7), stat(2), lstat(2), ls(1), printf(3), strftime(3), ctime(3)

The full documentation for uxfind is maintained as a Texinfo manual. If the info and uxfind programs are properly installed at your site, the command info uxfind should give you access to the complete manual.

HISTORY

As of findutils-4.2.2, shell metacharacters (`*', `?' or `[]' for example) used in filename patterns will match a leading `.', because IEEE POSIX interpretation 126 requires this. As of findutils-4.3.3, -perm /000 now matches all files instead of none. Nanosecond-resolution timestamps were implemented in findutils-4.3.3. As of findutils-4.3.11, the -delete action sets uxfind's exit status to a nonzero value when it fails. However, uxfind will not exit immediately. Previously, uxfind's exit status was unaffected by the failure of -delete.

Feature

Added in

Also occurs in

-newerXY

4.3.3

BSD

-D

4.3.1

-O

4.3.1

-readable

4.3.0

-writable

4.3.0

-executable

4.3.0

-regextype

4.2.24

-exec ... +

4.2.12

POSIX

-execdir

4.2.12

BSD

-okdir

4.2.12

-samefile

4.2.11

-H

4.2.5

POSIX

-L

4.2.5

POSIX

-P

4.2.5

BSD

-delete

4.2.3

-quit

4.2.3

-d

4.2.3

BSD

-wholename

4.2.0

-iwholename

4.2.0

-ignore_readdir_race

4.2.0

-fls

4.0

-ilname

3.8

-iname

3.8

-ipath

3.8

-iregex

3.8

The syntax .B -perm +MODE was removed in findutils-4.5.12, in favour of .B -perm /MODE. The +MODE syntax had been deprecated since findutils-4.2.21 which was released in 2005.

NON-BUGS

Operator precedence surprises

The command uxfind . -name afile -o -name bfile -print will never print afile because this is actually equivalent to uxfind . -name afile -o \( -name bfile -a -print \). Remember that the precedence of -a is higher than that of -o and when there is no operator specified between tests, -a is assumed.

lqpaths must precede expressionrq error message

$ uxfind . -name *.c -print

uxfind: paths must precede expression

Usage: uxfind [-H] [-L] [-P] [-Olevel] [-D ... [path...] [expression]

This happens because *.c has been expanded by the shell resulting in uxfind actually receiving a command line like this:

uxfind . -name frcode.c locate.c word_io.c -print

That command is of course not going to work. Instead of doing things this way, you should enclose the pattern in quotes or escape the wildcard:

$ uxfind . -name aq*.caq -print

$ uxfind . -name \*.c -print

BUGS

There are security problems inherent in the behaviour that the POSIX standard specifies for uxfind, which therefore cannot be fixed. For example, the -exec action is inherently insecure, and -execdir should be used instead. Please see Finding Files for more information. The environment variable LC_COLLATE has no effect on the -ok action. The best way to report a bug is to use the form at http://savannah.gnu.org/bugs/?group=findutils. The reason for this is that you will then be able to track progress in fixing the problem. Other comments about uxfind(1) and about the findutils package in general can be sent to the bug-findutils mailing list. To join the list, send email to bug-findutils-request@gnu.org.

NAME SYNOPSIS DESCRIPTION OPTIONS EXPRESSION POSITIONAL OPTIONS GLOBAL OPTIONS TESTS ACTIONS OPERATORS UNUSUAL FILENAMES STANDARDS CONFORMANCE ENVIRONMENT VARIABLES EXAMPLES EXIT STATUS SEE ALSO HISTORY NON-BUGS Operator precedence surprises lqpaths must precede expressionrq error message BUGS

This document was created by man2html using the manual pages.

Time: 16:33:50 GMT, September 14, 2024

locate

TOC Index

NAME

locate - search files in locate databases

SYNOPSIS

WA2LWinTools/bin/locate [ -h | -i | -u | -V | -l | -L ]

locate -c ( database | @group )

locate [ -r ] [ database | @group ] search

AVAILABILITY

WA2L/WinTools

DESCRIPTION

The locate command allows to quickly search files on the system from the command line or from a spartan GUI (Graphical User Interface).

When the file search is started as GUI, always all available databases are searched, when started from the command line, the database or @group to search can be optionally specified.

To enable to find files, it is needed to frequently update the locate databases which contain the list of files.

To frequently update the database the wscheduler(1) command or a login script can be used for example.

See also NOTES section.

OPTIONS

-h

usage message.

-i

install the locate command to the 'Desktop' which allows searching files in all databases.

-u

uninstall the locate shortcut from the 'Desktop'.

-V

print locate version.

-l

list existing and searchable databases of locate in var/db/locate/.

-L

list all defined DATABASEs and @GROUPs in the configuration file.

-c

create/update databases that are used to query and find files.

The DRIVES database automatically contains all logical drives found on the system as returned by the drives(1) command in the console(1m).

-r

print relative path names in search result (default is to print absolute path names).

database

database name where to search file(s). If no database is given, all databases will be searched.

@group

group of databases as defined in the configuration file etc/locate.cfg.

The @ALL group always contains all defined DATABASE entries from the configuration file and can be used to create/update all databases at once (calling locate -c @ALL in wscheduler(1) for example).

search

file search query.

ENVIRONMENT

-

EXIT STATUS

0

no error.

1

database or @group not defined in the configuration file.

4

usage message displayed.

5

version message displayed.

FILES

var/db/locate/DATABASE.locdb

database file that contain the file list that are searched / created by locate.

etc/locate.cfg

configuration file to define the databases in the form:

DATABASE="d:\dir\sub dir" e:\dir1 LABEL:\dir2

whereas the drives can also be defined as labels (see: lpath(3)) and any environment variable as well as the %INSTALLDIR% and %INSTALLDRIVE% variables can be used

and groups in the form:

@GROUP=DATABASE1 DATABASE2 DATABASEN

Note that a DATABASE and @GROUP needs to be specified left aligned in upper case. However, on the commandline the names are not case sensitive.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), config(1m), console(1m), drives(1), iyf(1), locate.cfg(4), lpath(3), searchmyfiles(1), wscheduler(1)

NOTES

For a really convenient GUI providing many additional features and also very fast file searching, the use of the iyf(1) command is recommended.

BUGS

-

AUTHOR

locate was developed by WA2L/WinTools by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2022 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:16 GMT, September 14, 2024

wscheduler

TOC Index

NAME

wscheduler - start System Scheduler

SYNOPSIS

WA2LWinTools/bin/wscheduler [ -h | -i | -u | -V ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

System Scheduler is an excellent tool to schedule applications, batch files, scripts and much more to run unattended.

For anyone used to using MS Windows own Task Scheduler, System Scheduler is an ideal and easy to use replacement, with great flexibility and features. System Scheduler runs totally independently of the MS Windows™ Task Scheduler and has no dependencies on it.

Also, you can schedule pop-up reminders so you'll never forget those important appointments and things to do. Reminders, tasks and other events can be set to run once or every minute, hour, day, week, month or year and several variations on these. Po-pup Reminders can be snoozed as required.

System Scheduler not only allows you to launch programs at scheduled times but also to send keypresses and mouse-clicks to those programs. This allows you to not only schedule programs to run overnight or at the weekend but also get those programs to do useful things while unattended. A really powerful feature.

Finally, the Free version of B. System Scheduler also includes a Window Watcher feature. The program will check for the existence of a particular window and send keypresses or send the window a close signal to terminate running applications. Useful for triggering actions or handling error messages while you are away.

OPTIONS

-h

usage message.

Start wscheduler.

-i

install the wscheduler command to 'Startup' in the Windows Start Menu.

-u

uninstall the wscheduler shortcut from 'Startup' in the Windows Start Menu.

-V

print program version.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage message displayed.

5

version message displayed.

FILES

etc/systemscheduler.cfg

config file for system scheduler.

var/db/systemscheduler/

system scheduler events database.

var/log/systemscheduler.log

log file of wscheduler.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), calendar(1), clocx(1), wscheduler.chm(1), wscheduler.Help(1), https://www.splinterware.com/products/scheduler.html

NOTES

Parts of this manpages were extracted from the documentation of system scheduler from https://www.splinterware.com/products/scheduler.html. See: https://www.splinterware.com/products/scheduler.html for more information about wscheduler.

BUGS

-

AUTHOR

wscheduler was developed by 'splinterware software solutions' (see: https://www.splinterware.com/products/scheduler.html) and integrated into WA2L/WinTools by Christian Walther. Send suggestions and bug reports regarding to the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:33:23 GMT, September 14, 2024

Calendar

TOC Index

NAME

Calendar - calendar, to-do-list manager, remainder

SYNOPSIS

WA2LWinTools/bin/Calendar [ -h | -i | -u | -V ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

UK's Kalender (integrated into WA2L/WinTools as Calendar) is a MS Windows program intended to remind you of upcoming events and to-dos.

There are several views for your dates that are organized similar to a calendar sheet.

Dates and appointments can be entered into the calendar via an input form.

You can enter a forewarn time, so as long as UK's Kalender is running in the background you'll be reminded of your dates as soon as the forewarn time is reached.

Independent from the calendar function there is also a todo list where you can enter tasks with a deadline and a forewarn time.

If the forewarn time is reached, UK's Kalender will inform you of the due tasks with symbols and colors.

For a list of features, see: https://www.ukrebs-software.de/english/kalender/features.html.

OPTIONS

-h

usage message.

Start Calendar.

-i

install the Calendar command to 'Startup' in the Windows Start Menu.

-u

uninstall the Calendar shortcut from 'Startup' in the Windows Start Menu.

-V

print program version.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage message displayed.

5

version message displayed.

FILES

etc/Calendar.cfg

saved config of the Calendar command. This file is managed by Calendar.

var/db/calendar/dates.dat

saved calendar data.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), calendar.Help(1), clocx(1), countdown(1), stopwatch(1), wscheduler(1)

NOTES

Parts of this manpages were extracted from the documentation of Kalender from https://www.ukrebs-software.de/english/kalender/kalender.html and provided in the application help calendar.Help(1).

See: https://www.ukrebs-software.de/english/kalender/kalender.html for more information about Kalender.

BUGS

-

AUTHOR

Kalender was developed by 'Ulrich Krebs' <info@ukrebs-software.de> (see: https://www.ukrebs-software.de and https://www.ukrebs-software.de/english/kalender/kalender.html) and integrated into WA2L/WinTools as Calendar by Christian Walther. Send suggestions and bug reports regarding to the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2021 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:31:49 GMT, September 14, 2024

ClocX

TOC Index

NAME

ClocX - An analog Clock for the Desktop

SYNOPSIS

WA2LWinTools/bin/ClocX [ -h | -i | -u | -V ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

An analog clock widget for the desktop.

In addition to the time display alerts as in an alarm clock can be defined.

OPTIONS

-h

usage message.

Start ClocX.

-i

install the ClocX command to 'Startup' in the Windows Start Menu.

-u

uninstall the ClocX shortcut from 'Startup' in the Windows Start Menu.

-V

print program version.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage message displayed.

5

version message displayed.

FILES

etc/ClocX.cfg

config file for ClocX.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), calendar(1), config(1m), countdown(1), stopwatch(1), wscheduler(1), http://clocx.net/

NOTES

-

BUGS

-

AUTHOR

ClocX was developed by 'Bohdan Rylko' (see: http://clocx.net) and integrated into WA2L/WinTools by Christian Walther. Send suggestions and bug reports regarding to the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2022 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:31:52 GMT, September 14, 2024

Countdown

TOC Index

NAME

Countdown - On screen countdown, stopwatch and alarm clock

SYNOPSIS

WA2LWinTools/bin/Countdown [ -h | -i | -u | -V ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

Countdown is a on-screen countdown timer, stopwatch and alarm clock.

See http://www.informatik-pc.de/blog/watchtheclock for more information.

OPTIONS

-h

usage message.

-i

install the Countdown command on the Windows™ 'Desktop'.

-u

uninstall the Countdown command from the Windows™ 'Desktop'.

-V

print program version.

ENVIRONMENT

-

EXIT STATUS

0

always.

4

usage displayed.

5

version message displayed.

FILES

-

EXAMPLES

-

SEE ALSO

wintoolsintro(1), calendar(1), clocx(1), config(1m), config.cfg(4), stopwatch(1), wscheduler(1), http://www.informatik-pc.de/blog/watchtheclock

NOTES

WatchTheClock was developed by Andreas Singer <watchtheclock@informatik-pc.de> and integrated into WA2L/WinTools as Countdown.

Parts of this documentation are based on http://www.informatik-pc.de/blog/watchtheclock.

See: http://www.informatik-pc.de/blog/watchtheclock and https://sourceforge.net/projects/watchtheclock for more information.

BUGS

-

AUTHOR

Countdown was developed by Andreas Singer <watchtheclock@informatik-pc.de> as the WatchTheClock.exe command and integrated as Countdown.exe into WA2L/WinTools by Christian Walther. Send suggestions and bug reports regarding the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:31:56 GMT, September 14, 2024

Stopwatch

TOC Index

NAME

Stopwatch - On screen stopwatch

SYNOPSIS

WA2LWinTools/bin/Stopwatch [ -h | -i | -u | -V ]

Stopwatch [ /START | /RESET ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

Stopwatch is a digital stop watch.

The Stopwatch can be used to measure (in 0.01 second increments) time intervals in hours, minutes, seconds and milliseconds.

Simply press start to begin counting time and stop to end counting time.

A lap button is also available for those that need to record lap time during a session.

Recorded time can be saved to a file as well.

See https://free-stopwatch.com/en/online/ in the HTML documentation for more information.

OPTIONS

-h

usage message.

-i

install the Stopwatch command on the Windows™ 'Desktop'.

-u

uninstall the Stopwatch command from the Windows™ 'Desktop'.

-V

print program version.

/START

This parameter starts the stopwatch.

/RESET

This parameter clears the laps and resets the stopwatch.

ENVIRONMENT

-

EXIT STATUS

0

always.

4

usage displayed.

5

version message displayed.

FILES

etc/Stopwatch.cfg

configuration file for the command maintained by Stopwatch.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), calendar(1), clocx(1), config(1m), config.cfg(4), countdown(1), https://free-stopwatch.com/de/online/, https://free-stopwatch.com/en/online/

NOTES

Stopwatch was developed by Sergey Koshkin of Comfort Software Group.

Parts of this manpage were extracted from the documentation of Stopwatch written by Comfort Software Group and modified to fit to the WA2L/WinTools package. See: https://free-stopwatch.com/en/online/ for more information.

BUGS

-

AUTHOR

Stopwatch was developed by Sergey Koshkin of Comfort Software Group <https://free-stopwatch.com/en/online/> as the FreeStopwatch.exe command and integrated as Stopwatch.exe into WA2L/WinTools by Christian Walther. Send suggestions and bug reports regarding the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:33:04 GMT, September 14, 2024

Console

TOC Index

NAME

Console - Enhanced console window

SYNOPSIS

WA2LWinTools/bin/Console [ -h | -i | -u | -V ]

Console [ -c configurationfile ][ -w "main window title" ][ -ws "workspace" ][ -t tabtype ][ -n "tab name" ][ -d startupdirectory ][ -r "arguments" ][ -p basepriority ][ -ts sleeptime ][ -v visibility ][ -reuse ][ ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

Console(Z) is a Windows console window enhancement. It is a fork of the Console project.

Console features include:

-

multiple tabs

-

text editor-like text selection

-

different background types (solid color, image, fake transparency)

-

configurable font

-

different window styles

Console(Z) features include:

-

Splitting Tabs into views (horizontally and vertically)

-

Grouping views (so input sent to one goes to all of them)

-

Windows Vista aero glass theme

-

Windows 7 jump list

-

Windows 7 wallpaper positions and slideshow

-

Windows 8 wallpapers on dual screen

-

Zooming with Ctrl-Mouse

-

Quake style console animation

-

Strict monospace font rendering

-

Settable opacity of text background color

-

Full screen

-

High DPI (per monitor)

-

Localization

-

Snippets

-

and more...

Console(Z) is NOT a shell. Therefore, it does not implement shell features like command-line completion, syntax coloring, command history, etc.

Console(Z) is simply a nice-looking front end for a shell of your choice (cmd.exe, 4NT, bash, etc.) Other command-line utilities can also be used as 'shells' by Console(Z).

OPTIONS

-h

usage message.

-i

install the Console command on the Windows™ 'Desktop'.

-u

uninstall the Console command from the Windows™ 'Desktop'.

-V

print program version.

Console options:

-c configurationfile

Specifies a configuration file.

-w "main window title"

Sets main window title. This option will override all other main window title settings (e.g. 'use tab titles' setting)

-ws "workspace"

Specifies a workspace file.

-t tabtype

Specifies a startup tab type. Tab must be defined in Console(Z) settings.

-n "tab name"

Specifies a startup tab name.

-d startupdirectory

Specifies a startup directory. If you want to parametrize startup directories, you need to specify startup directory parameter as "%1" (backslash is outside of the double quotes)

-r "arguments"

Appends arguments to the startup shell command line. Do not confuse with a command that you type in the shell!

-p basepriority

Specifies shell base priority.

Idle Specifies that the threads of this process run only when the system is idle. The idle priority class is inherited by child processes.

BelowNormal Specifies that the process has priority above Idle but below Normal. The below normal priority class is inherited by child processes.

Normal Specifies that the process has no special scheduling needs.

AboveNormal Specifies that the process has priority above Normal but below High.

High Specifies that the process performs time-critical tasks that must be executed immediately, regardless of the load on the operating system. The threads of the process preempt the threads of normal or idle priority class processes. Use extreme care when specifying High for the process's priority class, because a high priority class application can use nearly all available processor time.

Realtime Specifies that the process has the highest possible priority. The threads of a process with RealTime priority preempt the threads of all other processes, including operating system processes performing important tasks. Thus, a RealTime priority process that executes for more than a very brief interval can cause disk caches not to flush or cause the mouse to be unresponsive.

-ts sleeptime

Specifies a sleep time (in milliseconds) before starting next tab. Only used when multiple tabs are specified.

-v visibility

Specifies the visibility of the application.

Show Shows the application.

Hide Hides the application.

Switch Switches the application visibility. Shows the application if it is hidden and hides the application if it is visible.

-reuse

Reuses another instance, if any exists, instead of starting a new one.

ENVIRONMENT

The Console command sets the following additional environment variables: %ConsoleZBaseDir%, %ConsoleZSettingsDir%, %ConsoleZSnippetsDir%, and %ConsoleZVersion%.

EXIT STATUS

0

no error.

4

usage message displayed.

5

version message displayed.

FILES

etc/console.cfg

XML file maintained by Console to hold all settings.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), config(1m), console.chm(1m), console.Help(1m), wtshell(1m), https://github.com/cbucher/console/wiki

NOTES

Console has been developed by Christophe Bucher <https://github.com/cbucher>.

Parts of the documentation has been extracted from the documentation in console.Help(1m) respectively console.chm(1m) of Console.

See also: https://github.com/cbucher/console/wiki for more information.

BUGS

-

AUTHOR

Console was developed by Christophe Bucher <https://github.com/cbucher> and integrated into WA2L/WinTools by Christian Walther. Send suggestions and bug reports regarding the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:31:54 GMT, September 14, 2024

iyf

TOC Index

NAME

iyf - Index Your Files, the portable fast file indexer

SYNOPSIS

WA2LWinTools/bin/iyf [ -h | -i | -u | -V ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

Index Your Files is an alternative way for you to Index and Search through all your files or folders on Local or Networked Drives.

With plenty of stats about your files and various ways to manipulate them, Index Your Files will provide an extremely user-friendly and powerful way to manage your information.

Searching can be done by Name, Date, Size, Location, within the found file results. Use Boolean operators to perform multiple keyword searches.

Use Windows Explorer context menus on found files. Use drag and drop, copy, rename, delete.

Find your files and show them to you. View file content for found files text, html, and graphics files. The [RESULTS DISPLAY] will display the filetypes using an internal viewer, which saves time and greatly simplifies the process.

Index Your Files will save you time and make your work with a computer more pleasant.

IYF can automatically update the indexes at any time selected, or at any regular time, or time interval.

Using the file contents display means that it is not necessary in actual practice to make a gigantic index which indexes *every word*.

For the person who works in many directories [folders] in the course of a day, the entire day's work can be displayed in the found files window, allowing quick checking for accuracy or review. One window will display the search results from many different folders.

The indexes formed are compacted and do not take up nearly as much space as similar products. Can be running in the System Tray with less memory than it takes to open another Explorer window.

Index Your Files does not contain any malware, or similar, and does not write to the registry.

Main Features:

-

Instantly search files by name, date, size, or wildcards

-

Support for Boolean operators

-

Arrange results by name, folder, extension, date, size

-

Search in various directories or LAN resources

-

Easy to use, Explorer like user interface

-

Database management (create several databases)

-

Taskbar icon for quick access

-

Easy & Fast Search Engine - Easy & Fast Index Engine

-

Index & Search in Background

-

Full Information Search and Index

-

Compress - Database Index

-

Drag & Drop

-

Context Menu Shell Extensions

-

View common filetypes within search window For example: displays .pdf . swf .htm .html .jpg .png .txt ...

-

Run from Memory Stick

-

Search Mode MS-DOS

-

Work with Large Font > 96 dpi

-

Scheduled

-

Search Text Inside Files

-

Search MP3 Tag

-

Search Photos (Make, Model, ISO, Exposure, F Number ...)

Easy, Small, Portable App and Powerful:

-

Portable

-

One Executable

-

No DLL

-

No Change to Windows Registry

-

Small Size (0.9MB)

-

Supported Operating System

-

Windows NT 4.0 2000 XP Vista 7 - Linux (Wine)

OPTIONS

-h

usage message.

Start iyf.

-i

install the iyf command to 'Startup' in the Windows Start Menu.

-u

uninstall the iyf shortcut from 'Startup' in the Windows Start Menu.

-V

print program version.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage message displayed.

5

version message displayed.

FILES

etc/iyf.cfg

config file for iyf.

var/db/iyf/

default location of the iyf databases.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), iyf.cfg(4), searchmyfiles(1)

NOTES

Parts of this manpages were extracted from the documentation of iyf from http://www.indexyourfiles.com/. See: http://www.indexyourfiles.com/ for more information about iyf.

BUGS

it should be avoided to put the the indexing databases on a folder managed by DropBox because it interferes with the index writing. As a workaround you can pause the synchronizing during index creation - the index search is not influenced.

The database can be relocated using the DATABASEDIR setting in the etc/iyf.cfg configuration file. See iyf.cfg(4) for more information.

AUTHOR

iyf was developed by 'J. Rafael Castro Imbernon' <juan.rafael.castro@gmail.com> (see: http://www.indexyourfiles.com/) and integrated into WA2L/WinTools by Christian Walther. Send suggestions and bug reports regarding to the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:11 GMT, September 14, 2024

iyf.cfg

TOC Index

NAME

iyf.cfg - configuration file for iyf

SYNOPSIS

WA2LWinTools/etc/iyf.cfg

AVAILABILITY

WA2L/WinTools

DESCRIPTION

This is the configuration file for the iyf command.

FILEFORMAT

Rows starting with a # are considered as comments.

The file format is OPTION=VALUE

Between the OPTION , the = and the VALUE are no spaces.

You can comment out any OPTION or completely remove the related setting line to use the default settings.

OPTIONS

DATABASEDIR

directory where iyf save the file index databases.

Please note that the directory specified in this setting must exist. When invoking iyf -h the usage message displayed contains information about the database directory iyf will use.

As long as iyf does not write the file index to a folder handled by DropBox or to a folder residing on a slow USB flash drive, the location of the database normally does not need to be changed.

Example: DATABASEDIR=c:\users\fred\databases\iyf

Default: DATABASEDIR=..\var\db\iyf

EXAMPLES

1) Simple example configuration file

#

# WA2LWinTools/etc/iyf.cfg - Configuration file for iyf

#

# [00] 29.06.2016 CWa   Initial Version

#

DATABASEDIR=c:\users\fred\databases\iyf

SEE ALSO

wintoolsintro(1), iyf(1)

NOTES

-

BUGS

-

AUTHOR

iyf.cfg was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION FILEFORMAT OPTIONS EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:12 GMT, September 14, 2024

SearchMyFiles

TOC Index

NAME

SearchMyFiles - Alternative to Windows™ 'Search For Files And Folders'

SYNOPSIS

WA2LWinTools/bin/SearchMyFiles [ -h | -i | -u | -V ]

SearchMyFiles [ options ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

SearchMyFiles is an alternative to the standard "Search For Files And Folders" module of Windows.

It allows you to easily search files in your system by wildcard, by last modified/created/last accessed time, by file attributes, by file content (text or binary search), and by the file size. SearchMyFiles allows you to make a very accurate search that cannot be done with Windows search.

For Example: You can search all files created in the last 10 minutes with size between 500 and 700 bytes.

After you made a search, you can select one or more files, and save the list into text/html/csv/xml file, or copy the list to the clipboard.

Using SearchMyFiles

After running it, the 'Search Options' dialog-box is displayed.

Select the base folders or drives that you want to search, the wildcard, and other search option that you need. After choosing the right search option, click 'Ok' in order to start the search.

While in search process, the found files will be displayed in the main window. If you want to stop the search, you can simply click the 'Stop' menu.

After the search is finished, you can select one or more files, and then save the list into text/html/csv/xml file by using the 'Save Selected Items' option.

You can also select a single file and open it with the default program by using the 'Open Selected File' option.

Search options

Here's a small explanation about all available search options:

Base Folder:

Specifies the folder that you want to scan. if 'Scan Subfolders' option is also checked, all subfolders under this folder will also be scanned. You can also specify multiple folders, delimited by semicolon. For example:

c:\temp;d:\myfolder;d:\nirsoft

Excluded Folders:

Allows you to specify one or more folders (delimited by semicolon) that you want to exclude from the scan. For example: If you want to scan you entire C: drive, but without C:\Windows and C:\Documents and Settings, you should type

'C:\' in Base Folder

'C:\Windows;C:\Documents and Settings' in Excluded Folders

field. You can also specify wildcard in this field, as well as folder name without path, for example:

Release - Exclude all folders that their name is 'Release'.

Documents* - Exclude all folders that their name begins with 'Documents'.

Include Only Folders:

Allows you to restrict the search to specific folders. You can specify one or more folders (delimited by semicolon or comma) and wildcards are allowed. For example, if the base folder is c:\Shared and you want to search only subfolders with the name 'Images', you can specify the following wildcard in this field:

c:\Shared\*\Images

You can also specify wildcard without path, for example - for searching only in folders that their name begins with nirsoft, you can specify the following wildcard:

nirsoft*

Files Wildcard:

Specifies the wildcard for scanning the files. You can specify multiple wildcards delimited by semicolon or by comma, for example:

*.exe;*.dll;*.ocx or *.exe,*.dll,*.ocx.

Be aware that if you want to search a filename containing semicolon or comma, you must put it in quotes. For example:

"Hello, World.txt"

If you don't put it in quotes, SearchMyFiles will consider it as 2 separated files.

Subfolders Wildcard:

Specifies the wildcard for scanning the subfolders. For example, If you want to only scan the subfolders beginning with 'a' letter, you can specify

a*.*

in this field.

Exclude Files:

Specifies one or more file extensions or wildcards to exclude from the search. You can specify multiple extensions or wildcards delimited by semicolon, by comma, or by space character, for example:

exe, dll, ocx

File Contains:

Allows you to search by the content of the files. You can make a text search or binary search. On binary search, you should specify the binary sequence that you want to search in Hex dump format, for example:

'A2 C5 2F 8A 9E AC'.

Search multiple values (comma delimited): When this option is selected, you can specify multiple values to search in the 'File Contains' field. The multiple values are delimited by comma, and optionally also with quotes. For example:

NirSoft, Nir Sofer, Search, 123, "abc,123"

A1 82 A7 AC, 27 9A CC FF, A1 B2 71 22

File Size:

Specifies that you want to search files in specified size range (For example: search all files with size between 238 and 741 bytes).

Attributes:

Specifies that you want to search files with specific attributes. For example: if you want to find all files that are read-only but are not hidden, you should select 'Yes' for Read Only attribute and 'No' for Hidden attribute.

File Time:

Allows you to search files that have been created, modified, or accessed in the specified time range. You can specify an accurate time range, for example:

10/12/2008 12:32:11 - 12/12/2008 13:32:56

or you can specify the last number of seconds/minutes/hours/days. For example, you can search all files that have been modified in the last 10 minutes.

Search Subfolders:

If this option is checked, SearchMyFiles will scan all subfolders under the specified base folders.

Find Folders:

If this option is checked, SearchMyFiles will search for folders according to the other search options. If this options is not selected, SearchMyFiles will only search for files.

Duplicate Search Mode

SearchMyFiles also allows you to search duplicate files on your system. In order to use this feature, simply change the search mode in the 'Search Options' window to 'Duplicates Search'.

When you switch to 'Duplicates Search' mode, all other search options are still relevant, and SearchMyFiles will scan your files according to these settings. For example: if you choose to search for files larger than 500KB, SearchMyFiles will only search for duplicate files that their size is larger than 500KB.

In fact, it's highly recommended to narrow your duplicate search by using date/size restrictions, because if you don't do it, the duplicate search will be very slow, and it'll consume a large amount of memory.

When you are in 'Duplicates Search' mode, SearchMyFiles will first scan all files and folders according to your settings, and only after the scan is finished, it'll locate the duplicate files and add them to the files list on the main window. SearchMyFiles automatically mark the duplicate files with identical colors (up to 64 different colors).

There is also a 'Duplicate Number' column, which displays identical number for each chunk of duplicate files. You can click the 'Duplicate Number' column header in order to sort by this column and to easily view the chunks of duplicate files.

Be aware that the duplicate search is done by making a binary comparison of the files with the same size, byte by byte.

Non-Duplicates Search Mode

This mode is the opposite of Duplicate Search Mode, which means that it displays all files in the specified folders that are not duplicated.

Duplicate Names Search Mode

In this mode, SearchMyFiles displays all files that have the same name. The 'Duplicate Names Search' mode has 4 sub-modes:

-

Show all duplicate names (Files and Folders)

-

Show all duplicate names - only files, no folders

-

Show only duplicate names with identical content: In this mode, SearchMyFiles first finds files with the same name, and then compares the content of these files, byte by byte. The files are displayed only if they are completely identical.

-

Show only duplicate names with non-identical content: In this mode, SearchMyFiles first finds files with the same name, and then compares the content of these files, byte by byte. The files are displayed only if their content is not identical.

Summary Mode

In this mode, SearchMyFiles displays a general summary of all scanned folders, instead of files list. For every folder, the following summary information is displayed: Total size of all files, total size on disk, total files count, and number of hidden/read-only/system/compressed files. You can watch the summary information for the specified folder only or for the specified folder and all its subfolders.

Use SearchMyFiles thru 'SendTo' menu

The SearchMyFiles command can be installed to the 'Send To' context menu in 'Microsoft™ Windows Explorer' for most convenient usage. To do so, invoke SearchMyFiles -i once, respectively select the related option in config(1m).

OPTIONS

-h

usage message.

-i

install the SearchMyFiles command as menu point 'SearchMyFiles' to the 'Send To' context menu in 'Windows Explorer'.

-u

uninstall the SearchMyFiles shortcut from the 'Send To' context menu in 'Windows Explorer'.

-V

print program version.

You can use the following command-line option in order to execute a search without displaying any user interface and save the result into a file. Be aware that when you do that, the only way to stop the search is by terminating the process of SearchMyFiles (SearchMyFiles.exe):

/config <Filename>

Loads the configuration from the specified .cfg file. Can be used in conjunction with the save options, like /stext, /scomma and so on.

/StartSearch

Tells SearchMyFiles utility to start the search immediately, without displaying the 'Search Options' dialog-box, according to the last configuration or according to the config file specified in /config parameter.

/ExplorerCopy

Search files without user interface according to the configuration file, and then copy the found files list to the clipboard in Windows Explorer format (Like 'Explorer Copy' option)

/SaveDirect

Save the files list in SaveDirect mode. For using with the other save command-line options (/scomma, /stab, /sxml, and so on...) When you use the SaveDirect mode, the details of found files are saved directly to the disk, without loading them into the memory first. This means that you can save a list with large amount of files into your disk without any memory problem, as long as you have enough disk space to store the saved file. The drawback of this mode: You cannot sort the files list according to the name or any other column. The details of files are simply saved in the order that SearchMyFiles found them.

/stext <Filename>

Search and save the result into a regular text file.

/stab <Filename>

Search and save the result into a tab-delimited text file.

/scomma <Filename>

Search and save the result into a comma-delimited text file (csv).

/stabular <Filename>

Search and save the result into a tabular text file.

/shtml <Filename>

Search and save the result into HTML file (Horizontal).

/sverhtml <Filename>

Search and save the result into HTML file (Vertical).

/sxml <Filename>

Search and save the result to XML file.

/sort <column>

This command-line option can be used with other save options for sorting by the desired column. If you don't specify this option, the list is sorted according to the last sort that you made from the user interface. The <column> parameter can specify the column index (0 for the first column, 1 for the second column, and so on) or the name of the column, like "Filename" and "Created Time". You can specify the '~' prefix character (e.g: "~Created Time") if you want to sort in descending order. You can put multiple /sort in the command-line if you want to sort by multiple columns.

Examples:

SearchMyFiles.exe /shtml "f: emp1.html" ^

/sort 2 /sort ~1

SearchMyFiles.exe /shtml "f: emp1.html" ^

/sort "~Extension" /sort "Filename"

/nosort

When you specify this command-line option, the list will be saved without any sorting.

You can also use the following command-line option to override the configuration loaded from the .cfg file:

/FilesWildcard <Wildcard>

Specifies the files wildcard.

/SubfoldersWildcard <Wildcard>

Specifies the subfolders wildcard.

/BaseFolder <Folder>

Specifies the base folders to search.

/ExcludedFolder <Folder>

Specifies the folders to exclude in the search.

/ScanSubfolders <Value>

Specifies whether to search in subfolders. 1 = Yes, 0 = No.

/ExcludeExtensions <Extensions>

Specifies one or more extensions to exclude.

/FindFiles <Value>

Specifies whether to find files. 1 = Yes, 0 = No.

/FindFolders <Value>

Specifies whether to find folders. 1 = Yes, 0 = No.

/UseFileSizeAtLeast <Value>

/UseFileSizeAtMost <Value>

Specifies whether to use the "At Least" and "At Most" file size filter. 1 = Yes, 0 = No.

/FileSizeAtLeast <Value>

/FileSizeAtMost <Value>

Specifies the values of file size filters.

/FileSizeAtLeastUnit <Value>

/FileSizeAtMostUnit <Value>

Specifies the units of file size filters. 1 = Bytes, 2 = KB, 3 = MB, 4 = GB

/FileAttrReadOnly <Value>

/FileAttrSystem <Value>

/FileAttrHidden <Value>

/FileAttrArchive <Value>

/FileAttrCompressed <Value>

/FileAttrEncrypted <Value>

Specifies the file attributes filter. 1 = Both, 2 = No, 3 = Yes.

/FileContains <Value>

Specifies the 'File Contains' option. 0 = None, 1 = Text, 2 = Binary.

/FileContainsText <String>

Specifies the 'File Contains' text.

/FileContainsCaseSensitive <Value>

Specifies whether the 'File Contains' string is case sensitive. 1 = Yes, 0 = No.

/FileTimeCreated <Value>

/FileTimeModified <Value>

/FileTimeAccessed <Value>

Specifies the filter option by file time. 0 = All Times, 1 = Time Range, 2 = Last XX Seconds, 3 = Last XX Minutes, 4 = Last XX Hours, 5 = Last XX Days.

/FileTimeCreatedLastXX <Value>

/FileTimeModifiedLastXX <Value>

/FileTimeAccessedLastXX <Value>

Specifies the last xx seconds/minutes/hours/days values.

/FileTimeAccessed1 <Value>

/FileTimeAccessed2 <Value>

/FileTimeModified1 <Value>

/FileTimeModified2 <Value>

/FileTimeCreated1 <Value>

/FileTimeCreated2 <Value>

Specifies date/time range values. The date/time value must be in the following format: dd-mm-yyyy hh:nn:ss

For example:

SearchMyFiles.exe /FileTimeModified1 "10-01-2010 12:00:00" ^

/FileTimeModified2 "18-01-2010 08:00:00"

/SubFolderDepth <Value>

Specifies the subfolders depth. 0 = Unlimited.

/UseMaxNumOfFiles <Value>

Specifies whether to limit the number of files to find. 1 = Yes, 0 = No.

/MaxNumOfFiles <Value>

Specifies the maximum number of files to find.

/SearchMode <Value>

Specifies the search mode. 1 = Standard Search, 2 = Duplicate Search.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage message displayed.

5

program version printed.

6

program variant not known. This error occurs when the SearchMyFiles command is renamed.

FILES

etc/SearchMyFiles.cfg

configuration file of SearchMyFiles.

EXAMPLES

1) Command line examples

SearchMyFiles.exe /scomma c:\temp\bfiles1.csv ^

/FilesWildcard b*.*

SearchMyFiles.exe /config c:\temp\myconfig.cfg ^

/BaseFolder "c:\Program Files" ^

/shtml c:\temp\result.html

SearchMyFiles.exe /stab c:\temp\searchfiles.txt

SEE ALSO

wintoolsintro(1), config(1m), dpwiper(1), emptyfoldernuker(1), iyf(1), https://www.nirsoft.net/utils/search_my_files.html

NOTES

SearchMyFiles was developed by Nir Sofer <nirsofer@yahoo.com>. See (https://www.nirsoft.net/utils/search_my_files.html) for more information.

Big parts of this manual page are extracted from the web page: https://www.nirsoft.net/utils/search_my_files.html.

BUGS

-

AUTHOR

SearchMyFiles was developed by Nir Sofer <nirsofer@yahoo.com>. and integrated into WA2L/WinTools by Christian Walther. Send suggestions and bug reports regarding the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION Using SearchMyFiles Search options Duplicate Search Mode Non-Duplicates Search Mode Duplicate Names Search Mode Summary Mode Use SearchMyFiles thru 'SendTo' menu OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:57 GMT, September 14, 2024

DPWiper

TOC Index

NAME

DPWiper - secure file shredder

SYNOPSIS

WA2LWinTools/bin/DPWiper [ -h | -i | -u | -V ]

DPWiper [ file... ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

DPWiper is a file shredder utility that allows a user to delete or "Wipe" both files and folder securely via Drag & Drop. With DPWiper, a user can delete files normally (not secure), utilize a Single overwrite by performing a DoD Wipe (US Department of Defense of Defense 5220.22 compliant wipe) or use the Gutmann's Maximum Security 35 pass wiping method.

The DPWiper command can be installed to the 'Send To' context menu in 'Microsoft™ Windows Explorer' for most convenient usage. To do so, invoke DPWiper -i once.

OPTIONS

-h

usage message.

-i

install the DPWiper command as menu point 'DPWiper' to the 'Send To' context menu in 'Windows Explorer'.

-u

uninstall the DPWiper shortcut from the 'Send To' context menu in 'Windows Explorer'.

-V

print program version.

file...

file(s) to shred.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage message displayed.

5

program version printed.

6

program variant not known. This error occurs when the DPWiper command is renamed.

FILES

-

EXAMPLES

-

SEE ALSO

wintoolsintro(1), config(1m), dpwiper(1), emptyfoldernuker(1), searchmyfiles(1), https://www.paehl.de

NOTES

DPWiper was developed by Dirk Paehl <impressum@paehl.com>. See (https://www.paehl.de) for more information.

BUGS

-

AUTHOR

DPWiper was developed by Dirk Paehl <impressum@paehl.com>. and integrated into WA2L/WinTools by Christian Walther. Send suggestions and bug reports regarding the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:01 GMT, September 14, 2024

EmptyFolderNuker

TOC Index

NAME

EmptyFolderNuker - Find and delete selected empty folders

SYNOPSIS

WA2LWinTools/bin/EmptyFolderNuker [ -h | -i | -u | -V ]

EmptyFolderNuker [ directory ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

EmptyFolderNuker is a simple and efficient utility to search and delete selected empty folders.

After searching EmptyFolderNuker presents a list of empty folders from which it can be selected which ones should be deleted.

The EmptyFolderNuker command can be installed to the 'Send To' context menu in 'Microsoft™ Windows Explorer'.

OPTIONS

-h

usage message.

-i

install the EmptyFolderNuker command as menu point 'EmptyFolderNuker' to the 'Send To' context menu in 'Windows Explorer'.

-u

uninstall the EmptyFolderNuker shortcut from the 'Send To' context menu in 'Windows Explorer'.

-V

print program version.

directory

a directory to search for empty folders. If no directory is specified, you can choose a start point for the searching in the program.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage message displayed.

5

program version printed.

6

program variant not known. This error occurs when the EmptyFolderNuker command is renamed.

FILES

-

EXAMPLES

-

SEE ALSO

wintoolsintro(1), dpwiper(1), searchmyfiles(1)

NOTES

EmptyFolderNuker was developed by Simon Wai.

BUGS

-

AUTHOR

EmptyFolderNuker was developed by Simon Wai and integrated into WA2L/WinTools by Christian Walther. Send suggestions and bug reports regarding the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:04 GMT, September 14, 2024

LS

TOC Index

NAME

ls - list directory contents

SYNOPSIS

ls [,OPTION/]... [,FILE/]...

DESCRIPTION

List information about the FILEs (the current directory by default). Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.

Mandatory arguments to long options are mandatory for short options too.

-a, --all

do not ignore entries starting with .

-A, --almost-all

do not list implied . and ..

--author

with -l, print the author of each file

-b, --escape

print C-style escapes for nongraphic characters

--block-size=,SIZE/

scale sizes by SIZE before printing them; e.g., '--block-size=M' prints sizes in units of 1,048,576 bytes; see SIZE format below

-B, --ignore-backups

do not list implied entries ending with ~

-c

with -lt: sort by, and show, ctime (time of last modification of file status information); with -l: show ctime and sort by name; otherwise: sort by ctime, newest first

-C

list entries by columns

--color[=,WHEN/]

colorize the output; WHEN can be 'always' (default if omitted), 'auto', or 'never'; more info below

-d, --directory

list directories themselves, not their contents

-D, --dired

generate output designed for Emacs' dired mode

-f

do not sort, enable -aU, disable -ls --color

-F, --classify

append indicator (one of */=>@|) to entries

--file-type

likewise, except do not append '*'

--format=,WORD/

across -x, commas -m, horizontal -x, long -l, single-column -1, verbose -l, vertical -C

--full-time

like -l --time-style=,full-iso/

-g

like -l, but do not list owner

--group-directories-first

group directories before files;

can be augmented with a --sort option, but any use of --sort=,none/ (-U) disables grouping

-G, --no-group

in a long listing, don't print group names

-h, --human-readable

with -l and/or -s, print human readable sizes (e.g., 1K 234M 2G)

--si

likewise, but use powers of 1000 not 1024

-H, --dereference-command-line

follow symbolic links listed on the command line

--dereference-command-line-symlink-to-dir

follow each command line symbolic link

that points to a directory

--hide=,PATTERN/

do not list implied entries matching shell PATTERN (overridden by -a or -A)

--indicator-style=,WORD/

append indicator with style WORD to entry names: none (default), slash (-p), file-type (--file-type), classify (-F)

-i, --inode

print the index number of each file

-I, --ignore=,PATTERN/

do not list implied entries matching shell PATTERN

-k, --kibibytes

default to 1024-byte blocks for disk usage

-l

use a long listing format

-L, --dereference

when showing file information for a symbolic link, show information for the file the link references rather than for the link itself

-m

fill width with a comma separated list of entries

-n, --numeric-uid-gid

like -l, but list numeric user and group IDs

-N, --literal

print raw entry names (don't treat e.g. control characters specially)

-o

like -l, but do not list group information

-p, --indicator-style=,slash/

append / indicator to directories

-q, --hide-control-chars

print ? instead of nongraphic characters

--show-control-chars

show nongraphic characters as-is (the default, unless program is 'ls' and output is a terminal)

-Q, --quote-name

enclose entry names in double quotes

--quoting-style=,WORD/

use quoting style WORD for entry names: literal, locale, shell, shell-always, shell-escape, shell-escape-always, c, escape

-r, --reverse

reverse order while sorting

-R, --recursive

list subdirectories recursively

-s, --size

print the allocated size of each file, in blocks

-S

sort by file size, largest first

--sort=,WORD/

sort by WORD instead of name: none (-U), size (-S), time (-t), version (-v), extension (-X)

--time=,WORD/

with -l, show time as WORD instead of default modification time: atime or access or use (-u); ctime or status (-c); also use specified time as sort key if --sort=,time/ (newest first)

--time-style=,STYLE/

with -l, show times using style STYLE: full-iso, long-iso, iso, locale, or +FORMAT; FORMAT is interpreted like in 'date'; if FORMAT is FORMAT1<newline>FORMAT2, then FORMAT1 applies to non-recent files and FORMAT2 to recent files; if STYLE is prefixed with 'posix-', STYLE takes effect only outside the POSIX locale

-t

sort by modification time, newest first

-T, --tabsize=,COLS/

assume tab stops at each COLS instead of 8

-u

with -lt: sort by, and show, access time; with -l: show access time and sort by name; otherwise: sort by access time, newest first

-U

do not sort; list entries in directory order

-v

natural sort of (version) numbers within text

-w, --width=,COLS/

set output width to COLS. 0 means no limit

-x

list entries by lines instead of by columns

-X

sort alphabetically by entry extension

-Z, --context

print any security context of each file

-1

list one file per line. Avoid '\n' with -q or -b

--help

display this help and exit

--version

output version information and exit

The SIZE argument is an integer and optional unit (example: 10K is 10*1024). Units are K,M,G,T,P,E,Z,Y (powers of 1024) or KB,MB,... (powers of 1000).

Using color to distinguish file types is disabled both by default and with --color=,never/. With --color=,auto/, ls emits color codes only when standard output is connected to a terminal. The LS_COLORS environment variable can change the settings. Use the dircolors command to set it.

Exit status:

0

if OK,

1

if minor problems (e.g., cannot access subdirectory),

2

if serious trouble (e.g., cannot access command-line argument).

AUTHOR

Written by Richard M. Stallman and David MacKenzie.

REPORTING BUGS

GNU coreutils online help: <http://www.gnu.org/software/coreutils/>

Report ls translation bugs to <http://translationproject.org/team/>

COPYRIGHT

Copyright © 2016 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.

This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

Full documentation at: <http://www.gnu.org/software/coreutils/ls>

or available locally via: info aq(coreutils) ls invocationaq

NAME SYNOPSIS DESCRIPTION Exit status: AUTHOR REPORTING BUGS COPYRIGHT SEE ALSO

This document was created by man2html using the manual pages.

Time: 16:33:38 GMT, September 14, 2024

gawk

TOC Index

NAME

gawk - pattern scanning and processing language

SYNOPSIS

gawk [ POSIX or GNU style options ] -f program-file [ -- ] file ...

gawk [ POSIX or GNU style options ] [ -- ] program-text file ...

DESCRIPTION

Gawk is the GNU Project's implementation of the AWK programming language. It conforms to the definition of the language in the POSIX 1003.1 Standard. This version in turn is based on the description in The AWK Programming Language, by Aho, Kernighan, and Weinberger. Gawk provides the additional features found in the current version of Brian Kernighan's awk and a number of GNU-specific extensions.

The command line consists of options to gawk itself, the AWK program text (if not supplied via the -f or --file options), and values to be made available in the ARGC and ARGV pre-defined AWK variables.

When gawk is invoked with the --profile option, it starts gathering profiling statistics from the execution of the program. Gawk runs more slowly in this mode, and automatically produces an execution profile in the file awkprof.out when done. See the --profile option, below.

Gawk also has an integrated debugger. An interactive debugging session can be started by supplying the --debug option to the command line. In this mode of execution, gawk loads the AWK source code and then prompts for debugging commands. Gawk can only debug AWK program source provided with the -f option. The debugger is documented in GAWK: Effective AWK Programming.

OPTION FORMAT

Gawk options may be either traditional POSIX-style one letter options, or GNU-style long options. POSIX options start with a single ``-'', while long options start with ``--''. Long options are provided for both GNU-specific features and for POSIX-mandated features.

Gawk-specific options are typically used in long-option form. Arguments to long options are either joined with the option by an = sign, with no intervening spaces, or they may be provided in the next command line argument. Long options may be abbreviated, as long as the abbreviation remains unique.

Additionally, every long option has a corresponding short option, so that the option's functionality may be used from within #! executable scripts.

OPTIONS

Gawk accepts the following options. Standard options are listed first, followed by options for gawk extensions, listed alphabetically by short option.

-f program-file

--file program-file Read the AWK program source from the file program-file, instead of from the first command line argument. Multiple -f (or --file) options may be used.

-F fs

--field-separator fs Use fs for the input field separator (the value of the FS predefined variable).

-v var=val

--assign var=val Assign the value val to the variable var, before execution of the program begins. Such variable values are available to the BEGIN rule of an AWK program.

-b

--characters-as-bytes Treat all input data as single-byte characters. In other words, don't pay any attention to the locale information when attempting to process strings as multibyte characters. The --posix option overrides this one.

-c

--traditional Run in compatibility mode. In compatibility mode, gawk behaves identically to Brian Kernighan's awk; none of the GNU-specific extensions are recognized. See GNU EXTENSIONS, below, for more information.

-C

--copyright Print the short version of the GNU copyright information message on the standard output and exit successfully.

-d[file]

--dump-variables[=file] Print a sorted list of global variables, their types and final values to file. If no file is provided, gawk uses a file named awkvars.out in the current directory.

Having a list of all the global variables is a good way to look for typographical errors in your programs. You would also use this option if you have a large program with a lot of functions, and you want to be sure that your functions don't inadvertently use global variables that you meant to be local. (This is a particularly easy mistake to make with simple variable names like i, j, and so on.)

-D[file]

--debug[=file] Enable debugging of AWK programs. By default, the debugger reads commands interactively from the keyboard (standard input). The optional file argument specifies a file with a list of commands for the debugger to execute non-interactively.

-e program-text

--source program-text Use program-text as AWK program source code. This option allows the easy intermixing of library functions (used via the -f and --file options) with source code entered on the command line. It is intended primarily for medium to large AWK programs used in shell scripts.

-E file

--exec file Similar to -f, however, this is option is the last one processed. This should be used with #! scripts, particularly for CGI applications, to avoid passing in options or source code (!) on the command line from a URL. This option disables command-line variable assignments.

-g

--gen-pot Scan and parse the AWK program, and generate a GNU .pot (Portable Object Template) format file on standard output with entries for all localizable strings in the program. The program itself is not executed. See the GNU gettext distribution for more information on .pot files.

-h

--help Print a relatively short summary of the available options on the standard output. (Per the GNU Coding Standards, these options cause an immediate, successful exit.)

-i include-file

--include include-file Load an awk source library. This searches for the library using the AWKPATH environment variable. If the initial search fails, another attempt will be made after appending the .awk suffix. The file will be loaded only once (i.e., duplicates are eliminated), and the code does not constitute the main program source.

-l lib

--load lib Load a shared library lib. This searches for the library using the AWKLIBPATH environment variable. If the initial search fails, another attempt will be made after appending the default shared library suffix for the platform. The library initialization routine is expected to be named dl_load().

-L [value]

--lint[=value] Provide warnings about constructs that are dubious or non-portable to other AWK implementations. With an optional argument of fatal, lint warnings become fatal errors. This may be drastic, but its use will certainly encourage the development of cleaner AWK programs. With an optional argument of invalid, only warnings about things that are actually invalid are issued. (This is not fully implemented yet.)

-M

--bignum Force arbitrary precision arithmetic on numbers. This option has no effect if gawk is not compiled to use the GNU MPFR and MP libraries.

-n

--non-decimal-data Recognize octal and hexadecimal values in input data. Use this option with great caution!

-N

--use-lc-numeric This forces gawk to use the locale's decimal point character when parsing input data. Although the POSIX standard requires this behavior, and gawk does so when --posix is in effect, the default is to follow traditional behavior and use a period as the decimal point, even in locales where the period is not the decimal point character. This option overrides the default behavior, without the full draconian strictness of the --posix option.

-o[file]

--pretty-print[=file] Output a pretty printed version of the program to file. If no file is provided, gawk uses a file named awkprof.out in the current directory.

-O

--optimize Enable optimizations upon the internal representation of the program. Currently, this includes simple constant-folding, and tail call elimination for recursive functions. The gawk maintainer hopes to add additional optimizations over time.

-p[prof-file]

--profile[=prof-file] Start a profiling session, and send the profiling data to prof-file. The default is awkprof.out. The profile contains execution counts of each statement in the program in the left margin and function call counts for each user-defined function.

-P

--posix This turns on compatibility mode, with the following additional restrictions:

*

\x escape sequences are not recognized.

*

Only space and tab act as field separators when FS is set to a single space, newline does not.

*

You cannot continue lines after ? and :.

*

The synonym func for the keyword function is not recognized.

*

The operators ** and **= cannot be used in place of ^ and ^=.

-r

--re-interval Enable the use of interval expressions in regular expression matching (see Regular Expressions, below). Interval expressions were not traditionally available in the AWK language. The POSIX standard added them, to make awk and egrep consistent with each other. They are enabled by default, but this option remains for use with --traditional.

-S

--sandbox Runs gawk in sandbox mode, disabling the system() function, input redirection with getline, output redirection with print and printf, and loading dynamic extensions. Command execution (through pipelines) is also disabled. This effectively blocks a script from accessing local resources (except for the files specified on the command line).

-t

--lint-old Provide warnings about constructs that are not portable to the original version of UNIX awk.

-V

--version Print version information for this particular copy of gawk on the standard output. This is useful mainly for knowing if the current copy of gawk on your system is up to date with respect to whatever the Free Software Foundation is distributing. This is also useful when reporting bugs. (Per the GNU Coding Standards, these options cause an immediate, successful exit.)

--

Signal the end of options. This is useful to allow further arguments to the AWK program itself to start with a ``-''. This provides consistency with the argument parsing convention used by most other POSIX programs.

In compatibility mode, any other options are flagged as invalid, but are otherwise ignored. In normal operation, as long as program text has been supplied, unknown options are passed on to the AWK program in the ARGV array for processing. This is particularly useful for running AWK programs via the ``#!'' executable interpreter mechanism.

For POSIX compatibility, the -W option may be used, followed by the name of a long option.

AWK PROGRAM EXECUTION

An AWK program consists of a sequence of pattern-action statements and optional function definitions.

@include "filename"

@load "filename"

pattern        { action statements }

function name(parameter list) { statements }

Gawk first reads the program source from the program-file(s) if specified, from arguments to --source, or from the first non-option argument on the command line. The -f and --source options may be used multiple times on the command line. Gawk reads the program text as if all the program-files and command line source texts had been concatenated together. This is useful for building libraries of AWK functions, without having to include them in each new AWK program that uses them. It also provides the ability to mix library functions with command line programs.

In addition, lines beginning with @include may be used to include other source files into your program, making library use even easier. This is equivalent to using the -i option.

Lines beginning with @load may be used to load shared libraries into your program. This is equivalent to using the -l option.

The environment variable AWKPATH specifies a search path to use when finding source files named with the -f and -i options. If this variable does not exist, the default path is ".:/usr/local/share/awk". (The actual directory may vary, depending upon how gawk was built and installed.) If a file name given to the -f option contains a ``/'' character, no path search is performed.

The environment variable AWKLIBPATH specifies a search path to use when finding source files named with the -l option. If this variable does not exist, the default path is "/usr/local/lib/gawk". (The actual directory may vary, depending upon how gawk was built and installed.)

Gawk executes AWK programs in the following order. First, all variable assignments specified via the -v option are performed. Next, gawk compiles the program into an internal form. Then, gawk executes the code in the BEGIN rule(s) (if any), and then proceeds to read each file named in the ARGV array (up to ARGV[ARGC]). If there are no files named on the command line, gawk reads the standard input.

If a filename on the command line has the form var=val it is treated as a variable assignment. The variable var will be assigned the value val. (This happens after any BEGIN rule(s) have been run.) Command line variable assignment is most useful for dynamically assigning values to the variables AWK uses to control how input is broken into fields and records. It is also useful for controlling state if multiple passes are needed over a single data file.

If the value of a particular element of ARGV is empty (""), gawk skips over it.

For each input file, if a BEGINFILE rule exists, gawk executes the associated code before processing the contents of the file. Similarly, gawk executes the code associated with ENDFILE after processing the file.

For each record in the input, gawk tests to see if it matches any pattern in the AWK program. For each pattern that the record matches, gawk executes the associated action. The patterns are tested in the order they occur in the program.

Finally, after all the input is exhausted, gawk executes the code in the END rule(s) (if any).

Command Line Directories

According to POSIX, files named on the awk command line must be text files. The behavior is ``undefined'' if they are not. Most versions of awk treat a directory on the command line as a fatal error.

Starting with version 4.0 of gawk, a directory on the command line produces a warning, but is otherwise skipped. If either of the --posix or --traditional options is given, then gawk reverts to treating directories on the command line as a fatal error.

VARIABLES, RECORDS AND FIELDS

AWK variables are dynamic; they come into existence when they are first used. Their values are either floating-point numbers or strings, or both, depending upon how they are used. AWK also has one dimensional arrays; arrays with multiple dimensions may be simulated. Gawk provides true arrays of arrays; see Arrays, below. Several pre-defined variables are set as a program runs; these are described as needed and summarized below.

Records

Normally, records are separated by newline characters. You can control how records are separated by assigning values to the built-in variable RS. If RS is any single character, that character separates records. Otherwise, RS is a regular expression. Text in the input that matches this regular expression separates the record. However, in compatibility mode, only the first character of its string value is used for separating records. If RS is set to the null string, then records are separated by blank lines. When RS is set to the null string, the newline character always acts as a field separator, in addition to whatever value FS may have.

Fields

As each input record is read, gawk splits the record into fields, using the value of the FS variable as the field separator. If FS is a single character, fields are separated by that character. If FS is the null string, then each individual character becomes a separate field. Otherwise, FS is expected to be a full regular expression. In the special case that FS is a single space, fields are separated by runs of spaces and/or tabs and/or newlines. (But see the section POSIX COMPATIBILITY, below). NOTE: The value of IGNORECASE (see below) also affects how fields are split when FS is a regular expression, and how records are separated when RS is a regular expression.

If the FIELDWIDTHS variable is set to a space separated list of numbers, each field is expected to have fixed width, and gawk splits up the record using the specified widths. The value of FS is ignored. Assigning a new value to FS or FPAT overrides the use of FIELDWIDTHS.

Similarly, if the FPAT variable is set to a string representing a regular expression, each field is made up of text that matches that regular expression. In this case, the regular expression describes the fields themselves, instead of the text that separates the fields. Assigning a new value to FS or FIELDWIDTHS overrides the use of FPAT.

Each field in the input record may be referenced by its position: $1, $2, and so on. $0 is the whole record. Fields need not be referenced by constants:

n = 5

print $n

prints the fifth field in the input record.

The variable NF is set to the total number of fields in the input record.

References to non-existent fields (i.e., fields after $NF) produce the null-string. However, assigning to a non-existent field (e.g., $(NF+2) = 5) increases the value of NF, creates any intervening fields with the null string as their values, and causes the value of $0 to be recomputed, with the fields being separated by the value of OFS. References to negative numbered fields cause a fatal error. Decrementing NF causes the values of fields past the new value to be lost, and the value of $0 to be recomputed, with the fields being separated by the value of OFS.

Assigning a value to an existing field causes the whole record to be rebuilt when $0 is referenced. Similarly, assigning a value to $0 causes the record to be resplit, creating new values for the fields.

Built-in Variables

Gawk's built-in variables are:

ARGC

The number of command line arguments (does not include options to gawk, or the program source).

ARGIND

The index in ARGV of the current file being processed.

ARGV

Array of command line arguments. The array is indexed from 0 to ARGC - 1. Dynamically changing the contents of ARGV can control the files used for data.

BINMODE

On non-POSIX systems, specifies use of ``binary'' mode for all file I/O. Numeric values of 1, 2, or 3, specify that input files, output files, or all files, respectively, should use binary I/O. String values of "r", or "w" specify that input files, or output files, respectively, should use binary I/O. String values of "rw" or "wr" specify that all files should use binary I/O. Any other string value is treated as "rw", but generates a warning message.

CONVFMT

The conversion format for numbers, "%.6g", by default.

ENVIRON

An array containing the values of the current environment. The array is indexed by the environment variables, each element being the value of that variable (e.g., ENVIRON["HOME"] might be "/home/arnold"). Changing this array does not affect the environment seen by programs which gawk spawns via redirection or the system() function.

ERRNO

If a system error occurs either doing a redirection for getline, during a read for getline, or during a close(), then ERRNO will contain a string describing the error. The value is subject to translation in non-English locales.

FIELDWIDTHS

A whitespace separated list of field widths. When set, gawk parses the input into fields of fixed width, instead of using the value of the FS variable as the field separator. See Fields, above.

FILENAME

The name of the current input file. If no files are specified on the command line, the value of FILENAME is ``-''. However, FILENAME is undefined inside the BEGIN rule (unless set by getline).

FNR

The input record number in the current input file.

FPAT

A regular expression describing the contents of the fields in a record. When set, gawk parses the input into fields, where the fields match the regular expression, instead of using the value of the FS variable as the field separator. See Fields, above.

FS

The input field separator, a space by default. See Fields, above.

FUNCTAB

An array whose indices and corresponding values are the names of all the user-defined or extension functions in the program. NOTE: You may not use the delete statement with the FUNCTAB array.

IGNORECASE

Controls the case-sensitivity of all regular expression and string operations. If IGNORECASE has a non-zero value, then string comparisons and pattern matching in rules, field splitting with FS and FPAT, record separating with RS, regular expression matching with ~ and !~, and the gensub(), gsub(), index(), match(), patsplit(), split(), and sub() built-in functions all ignore case when doing regular expression operations. NOTE: Array subscripting is not affected. However, the asort() and asorti() functions are affected.

Thus, if IGNORECASE is not equal to zero, /aB/ matches all of the strings "ab", "aB", "Ab", and "AB". As with all AWK variables, the initial value of IGNORECASE is zero, so all regular expression and string operations are normally case-sensitive.

LINT

Provides dynamic control of the --lint option from within an AWK program. When true, gawk prints lint warnings. When false, it does not. When assigned the string value "fatal", lint warnings become fatal errors, exactly like --lint=fatal. Any other true value just prints warnings.

NF

The number of fields in the current input record.

NR

The total number of input records seen so far.

OFMT

The output format for numbers, "%.6g", by default.

OFS

The output field separator, a space by default.

ORS

The output record separator, by default a newline.

PREC

The working precision of arbitrary precision floating-point numbers, 53 by default.

PROCINFO

The elements of this array provide access to information about the running AWK program. On some systems, there may be elements in the array, "group1" through "groupn" for some n, which is the number of supplementary groups that the process has. Use the in operator to test for these elements. The following elements are guaranteed to be available:

PROCINFO["egid"]

The value of the getegid(2) system call.

PROCINFO["euid"]

The value of the geteuid(2) system call.

PROCINFO["FS"]

"FS" if field splitting with FS is in effect, "FPAT" if field splitting with FPAT is in effect, or "FIELDWIDTHS" if field splitting with FIELDWIDTHS is in effect.

PROCINFO["gid"]

The value of the getgid(2) system call.

PROCINFO["identifiers"]

A subarray, indexed by the names of all identifiers used in the text of the AWK program. The values indicate what gawk knows about the identifiers after it has finished parsing the program; they are not updated while the program runs. For each identifier, the value of the element is one of the following:

"array"

The identifier is an array.

"builtin"

The identifier is a built-in function.

"extension"

The identifier is an extension function loaded via @load or -l.

"scalar"

The identifier is a scalar.

"untyped"

The identifier is untyped (could be used as a scalar or array, gawk doesn't know yet).

"user"

The identifier is a user-defined function.

PROCINFO["pgrpid"]

The process group ID of the current process.

PROCINFO["pid"]

The process ID of the current process.

PROCINFO["ppid"]

The parent process ID of the current process.

PROCINFO["strftime"]

The default time format string for strftime().

PROCINFO["uid"]

The value of the getuid(2) system call.

PROCINFO["version"]

the version of gawk.

The following elements are present if loading dynamic extensions is available:

PROCINFO["api_major"]

The major version of the extension API.

PROCINFO["api_minor"]

The minor version of the extension API.

The following elements are available if MPFR support is compiled into gawk:

PROCINFO["gmp_version"]

The version of the GNU MP library used for arbitrary precision number support in gawk.

PROCINFO["mpfr_version"]

The version of the GNU MPFR library used for arbitrary precision number support in gawk.

PROCINFO["prec_max"]

The maximum precision supported by the GNU MPFR library for arbitrary precision floating-point numbers.

PROCINFO["prec_min"]

The minimum precision allowed by the GNU MPFR library for arbitrary precision floating-point numbers.

The following elements may set by a program to change gawk's behavior:

PROCINFO["command", "pty"]

Use a pseudo-tty for two-way communication with command instead of setting up two one-way pipes.

PROCINFO["input", "READ_TIMEOUT"]

The timeout in milliseconds for reading data from input, where input is a redirection string or a filename. A value of zero or less than zero means no timeout.

PROCINFO["sorted_in"]

If this element exists in PROCINFO, then its value controls the order in which array elements are traversed in for loops. Supported values are "@ind_str_asc", "@ind_num_asc", "@val_type_asc", "@val_str_asc", "@val_num_asc", "@ind_str_desc", "@ind_num_desc", "@val_type_desc", "@val_str_desc", "@val_num_desc", and "@unsorted". The value can also be the name of any comparison function defined as follows:

function cmp_func(i1, v1, i2, v2)

where i1 and i2 are the indices, and v1 and v2 are the corresponding values of the two elements being compared. It should return a number less than, equal to, or greater than 0, depending on how the elements of the array are to be ordered.

ROUNDMODE

The rounding mode to use for arbitrary precision arithmetic on numbers, by default "N" (IEEE-754 roundTiesToEven mode). The accepted values are "N" or "n" for roundTiesToEven, "U" or "u" for roundTowardPositive, "D" or "d" for roundTowardNegative, "Z" or "z" for roundTowardZero, and if your version of GNU MPFR library supports it, "A" or "a" for roundTiesToAway.

RS

The input record separator, by default a newline.

RT

The record terminator. Gawk sets RT to the input text that matched the character or regular expression specified by RS.

RSTART

The index of the first character matched by match(); 0 if no match. (This implies that character indices start at one.)

RLENGTH

The length of the string matched by match(); -1 if no match.

SUBSEP

The character used to separate multiple subscripts in array elements, by default "\034".

SYMTAB

An array whose indices are the names of all currently defined global variables and arrays in the program. The array may be used for indirect access to read or write the value of a variable:

foo = 5

SYMTAB["foo"] = 4

print foo    # prints 4

The isarray() function may be used to test if an element in SYMTAB is an array. You may not use the delete statement with the SYMTAB array.

TEXTDOMAIN

The text domain of the AWK program; used to find the localized translations for the program's strings.

Arrays

Arrays are subscripted with an expression between square brackets ([ and ]). If the expression is an expression list (expr, expr ...) then the array subscript is a string consisting of the concatenation of the (string) value of each expression, separated by the value of the SUBSEP variable. This facility is used to simulate multiply dimensioned arrays. For example:

i = "A"; j = "B"; k = "C"

x[i, j, k] = "hello, world\n"

assigns the string "hello, world\n" to the element of the array x which is indexed by the string "A\034B\034C". All arrays in AWK are associative, i.e., indexed by string values.

The special operator in may be used to test if an array has an index consisting of a particular value:

if (val in array)

print array[val]

If the array has multiple subscripts, use (i, j) in array.

The in construct may also be used in a for loop to iterate over all the elements of an array. However, the (i, j) in array construct only works in tests, not in for loops.

An element may be deleted from an array using the delete statement. The delete statement may also be used to delete the entire contents of an array, just by specifying the array name without a subscript.

gawk supports true multidimensional arrays. It does not require that such arrays be ``rectangular'' as in C or C++. For example:

a[1] = 5

a[2][1] = 6

a[2][2] = 7

NOTE: You may need to tell gawk that an array element is really a subarray in order to use it where gawk expects an array (such as in the second argument to split()). You can do this by creating an element in the subarray and then deleting it with the delete statement.

Variable Typing And Conversion

Variables and fields may be (floating point) numbers, or strings, or both. How the value of a variable is interpreted depends upon its context. If used in a numeric expression, it will be treated as a number; if used as a string it will be treated as a string.

To force a variable to be treated as a number, add 0 to it; to force it to be treated as a string, concatenate it with the null string.

Uninitialized variables have the numeric value 0 and the string value "" (the null, or empty, string).

When a string must be converted to a number, the conversion is accomplished using strtod(3). A number is converted to a string by using the value of CONVFMT as a format string for sprintf(3), with the numeric value of the variable as the argument. However, even though all numbers in AWK are floating-point, integral values are always converted as integers. Thus, given

CONVFMT = "%2.2f"

a = 12

b = a ""

the variable b has a string value of "12" and not "12.00".

NOTE: When operating in POSIX mode (such as with the --posix option), beware that locale settings may interfere with the way decimal numbers are treated: the decimal separator of the numbers you are feeding to gawk must conform to what your locale would expect, be it a comma (,) or a period (.).

Gawk performs comparisons as follows: If two variables are numeric, they are compared numerically. If one value is numeric and the other has a string value that is a ``numeric string,'' then comparisons are also done numerically. Otherwise, the numeric value is converted to a string and a string comparison is performed. Two strings are compared, of course, as strings.

Note that string constants, such as "57", are not numeric strings, they are string constants. The idea of ``numeric string'' only applies to fields, getline input, FILENAME, ARGV elements, ENVIRON elements and the elements of an array created by split() or patsplit() that are numeric strings. The basic idea is that user input, and only user input, that looks numeric, should be treated that way.

Octal and Hexadecimal Constants

You may use C-style octal and hexadecimal constants in your AWK program source code. For example, the octal value 011 is equal to decimal 9, and the hexadecimal value 0x11 is equal to decimal 17.

String Constants

String constants in AWK are sequences of characters enclosed between double quotes (like "value"). Within strings, certain escape sequences are recognized, as in C. These are:

\\

A literal backslash.

\a

The ``alert'' character; usually the ASCII BEL character.

\b

Backspace.

\f

Form-feed.

\n

Newline.

\r

Carriage return.

\t

Horizontal tab.

\v

Vertical tab.

\xhex digits

The character represented by the string of hexadecimal digits following the \x. As in ISO C, all following hexadecimal digits are considered part of the escape sequence. (This feature should tell us something about language design by committee.) E.g., "\x1B" is the ASCII ESC (escape) character.

\ddd

The character represented by the 1-, 2-, or 3-digit sequence of octal digits. E.g., "\033" is the ASCII ESC (escape) character.

\c

The literal character c.

The escape sequences may also be used inside constant regular expressions (e.g., /[ \t\f\n\r\v]/ matches whitespace characters).

In compatibility mode, the characters represented by octal and hexadecimal escape sequences are treated literally when used in regular expression constants. Thus, /a\52b/ is equivalent to /a\*b/.

PATTERNS AND ACTIONS

AWK is a line-oriented language. The pattern comes first, and then the action. Action statements are enclosed in { and }. Either the pattern may be missing, or the action may be missing, but, of course, not both. If the pattern is missing, the action is executed for every single record of input. A missing action is equivalent to

{ print }

which prints the entire record.

Comments begin with the # character, and continue until the end of the line. Blank lines may be used to separate statements. Normally, a statement ends with a newline, however, this is not the case for lines ending in a comma, {, ?, :, &&, or ||. Lines ending in do or else also have their statements automatically continued on the following line. In other cases, a line can be continued by ending it with a ``\'', in which case the newline is ignored.

Multiple statements may be put on one line by separating them with a ``;''. This applies to both the statements within the action part of a pattern-action pair (the usual case), and to the pattern-action statements themselves.

Patterns

AWK patterns may be one of the following:

BEGIN

END

BEGINFILE

ENDFILE

/regular expression/

relational expression

pattern && pattern

pattern || pattern

pattern ? pattern : pattern

(pattern)

! pattern

pattern1, pattern2

BEGIN and END are two special kinds of patterns which are not tested against the input. The action parts of all BEGIN patterns are merged as if all the statements had been written in a single BEGIN rule. They are executed before any of the input is read. Similarly, all the END rules are merged, and executed when all the input is exhausted (or when an exit statement is executed). BEGIN and END patterns cannot be combined with other patterns in pattern expressions. BEGIN and END patterns cannot have missing action parts.

BEGINFILE and ENDFILE are additional special patterns whose bodies are executed before reading the first record of each command line input file and after reading the last record of each file. Inside the BEGINFILE rule, the value of ERRNO will be the empty string if the file was opened successfully. Otherwise, there is some problem with the file and the code should use nextfile to skip it. If that is not done, gawk produces its usual fatal error for files that cannot be opened.

For /regular expression/ patterns, the associated statement is executed for each input record that matches the regular expression. Regular expressions are the same as those in egrep(1), and are summarized below.

A relational expression may use any of the operators defined below in the section on actions. These generally test whether certain fields match certain regular expressions.

The &&, ||, and ! operators are logical AND, logical OR, and logical NOT, respectively, as in C. They do short-circuit evaluation, also as in C, and are used for combining more primitive pattern expressions. As in most languages, parentheses may be used to change the order of evaluation.

The ?: operator is like the same operator in C. If the first pattern is true then the pattern used for testing is the second pattern, otherwise it is the third. Only one of the second and third patterns is evaluated.

The pattern1, pattern2 form of an expression is called a range pattern. It matches all input records starting with a record that matches pattern1, and continuing until a record that matches pattern2, inclusive. It does not combine with any other sort of pattern expression.

Regular Expressions

Regular expressions are the extended kind found in egrep. They are composed of characters as follows:

c

Matches the non-metacharacter c.

\c

Matches the literal character c.

.

Matches any character including newline.

^

Matches the beginning of a string.

$

Matches the end of a string.

[abc...]

A character list: matches any of the characters abc.... You may include a range of characters by separating them with a dash.

[^abc...]

A negated character list: matches any character except abc....

r1|r2

Alternation: matches either r1 or r2.

r1r2

Concatenation: matches r1, and then r2.

r+

Matches one or more r's.

r*

Matches zero or more r's.

r?

Matches zero or one r's.

(r)

Grouping: matches r.

r{n}

r{n,}

r{n,m} One or two numbers inside braces denote an interval expression. If there is one number in the braces, the preceding regular expression r is repeated n times. If there are two numbers separated by a comma, r is repeated n to m times. If there is one number followed by a comma, then r is repeated at least n times.

\y

Matches the empty string at either the beginning or the end of a word.

\B

Matches the empty string within a word.

\<

Matches the empty string at the beginning of a word.

\>

Matches the empty string at the end of a word.

\s

Matches any whitespace character.

\S

Matches any nonwhitespace character.

\w

Matches any word-constituent character (letter, digit, or underscore).

\W

Matches any character that is not word-constituent.

\`

Matches the empty string at the beginning of a buffer (string).

\'

Matches the empty string at the end of a buffer.

The escape sequences that are valid in string constants (see String Constants) are also valid in regular expressions.

Character classes are a feature introduced in the POSIX standard. A character class is a special notation for describing lists of characters that have a specific attribute, but where the actual characters themselves can vary from country to country and/or from character set to character set. For example, the notion of what is an alphabetic character differs in the USA and in France.

A character class is only valid in a regular expression inside the brackets of a character list. Character classes consist of [:, a keyword denoting the class, and :]. The character classes defined by the POSIX standard are:

[:alnum:]

Alphanumeric characters.

[:alpha:]

Alphabetic characters.

[:blank:]

Space or tab characters.

[:cntrl:]

Control characters.

[:digit:]

Numeric characters.

[:graph:]

Characters that are both printable and visible. (A space is printable, but not visible, while an a is both.)

[:lower:]

Lowercase alphabetic characters.

[:print:]

Printable characters (characters that are not control characters.)

[:punct:]

Punctuation characters (characters that are not letter, digits, control characters, or space characters).

[:space:]

Space characters (such as space, tab, and formfeed, to name a few).

[:upper:]

Uppercase alphabetic characters.

[:xdigit:]

Characters that are hexadecimal digits.

For example, before the POSIX standard, to match alphanumeric characters, you would have had to write /[A-Za-z0-9]/. If your character set had other alphabetic characters in it, this would not match them, and if your character set collated differently from ASCII, this might not even match the ASCII alphanumeric characters. With the POSIX character classes, you can write /[[:alnum:]]/, and this matches the alphabetic and numeric characters in your character set, no matter what it is.

Two additional special sequences can appear in character lists. These apply to non-ASCII character sets, which can have single symbols (called collating elements) that are represented with more than one character, as well as several characters that are equivalent for collating, or sorting, purposes. (E.g., in French, a plain ``e'' and a grave-accented ``e`'' are equivalent.)

Collating Symbols

A collating symbol is a multi-character collating element enclosed in [. and .]. For example, if ch is a collating element, then [[.ch.]] is a regular expression that matches this collating element, while [ch] is a regular expression that matches either c or h.

Equivalence Classes

An equivalence class is a locale-specific name for a list of characters that are equivalent. The name is enclosed in [= and =]. For example, the name e might be used to represent all of ``e'', ``e''', and ``e`''. In this case, [[=e=]] is a regular expression that matches any of e, e', or e`.

These features are very valuable in non-English speaking locales. The library functions that gawk uses for regular expression matching currently only recognize POSIX character classes; they do not recognize collating symbols or equivalence classes.

The \y, \B, \<, \>, \s, \S, \w, \W, \`, and \' operators are specific to gawk; they are extensions based on facilities in the GNU regular expression libraries.

The various command line options control how gawk interprets characters in regular expressions.

No options

In the default case, gawk provides all the facilities of POSIX regular expressions and the GNU regular expression operators described above.

--posix

Only POSIX regular expressions are supported, the GNU operators are not special. (E.g., \w matches a literal w).

--traditional

Traditional UNIX awk regular expressions are matched. The GNU operators are not special, and interval expressions are not available. Characters described by octal and hexadecimal escape sequences are treated literally, even if they represent regular expression metacharacters.

--re-interval

Allow interval expressions in regular expressions, even if --traditional has been provided.

Actions

Action statements are enclosed in braces, { and }. Action statements consist of the usual assignment, conditional, and looping statements found in most languages. The operators, control statements, and input/output statements available are patterned after those in C.

Operators

The operators in AWK, in order of decreasing precedence, are:

(...)

Grouping

$

Field reference.

++ --

Increment and decrement, both prefix and postfix.

^

Exponentiation (** may also be used, and **= for the assignment operator).

+ - !

Unary plus, unary minus, and logical negation.

* / %

Multiplication, division, and modulus.

+ -

Addition and subtraction.

space

String concatenation.

| |&

Piped I/O for getline, print, and printf.

< > <= >= != ==

The regular relational operators.

~ !~

Regular expression match, negated match. NOTE: Do not use a constant regular expression (/foo/) on the left-hand side of a ~ or !~. Only use one on the right-hand side. The expression /foo/ ~ exp has the same meaning as (($0 ~ /foo/) ~ exp). This is usually not what you want.

in

Array membership.

&&

Logical AND.

||

Logical OR.

?:

The C conditional expression. This has the form expr1 ? expr2 : expr3. If expr1 is true, the value of the expression is expr2, otherwise it is expr3. Only one of expr2 and expr3 is evaluated.

= += -= *= /= %= ^=

Assignment. Both absolute assignment (var = value) and operator-assignment (the other forms) are supported.

Control Statements

The control statements are as follows:

if (condition) statement [ else statement ]

while (condition) statement

do statement while (condition)

for (expr1; expr2; expr3) statement

for (var in array) statement

break

continue

delete array[index]

delete array

exit [ expression ]

{ statements }

switch (expression) {

case value|regex : statement

...

[ default: statement ]

}

I/O Statements

The input/output statements are as follows:

close(file [, how])

Close file, pipe or co-process. The optional how should only be used when closing one end of a two-way pipe to a co-process. It must be a string value, either "to" or "from".

getline

Set $0 from next input record; set NF, NR, FNR, RT.

getline <file

Set $0 from next record of file; set NF, RT.

getline var

Set var from next input record; set NR, FNR, RT.

getline var <file

Set var from next record of file, RT.

command | getline [var]

Run command piping the output either into $0 or var, as above, and RT.

command |& getline [var]

Run command as a co-process piping the output either into $0 or var, as above, and RT. Co-processes are a gawk extension. (command can also be a socket. See the subsection Special File Names, below.)

next

Stop processing the current input record. The next input record is read and processing starts over with the first pattern in the AWK program. Upon reaching the end of the input data, gawk executes any END rule(s).

nextfile

Stop processing the current input file. The next input record read comes from the next input file. FILENAME and ARGIND are updated, FNR is reset to 1, and processing starts over with the first pattern in the AWK program. Upon reaching the end of the input data, gawk executes any END rule(s).

print

Print the current record. The output record is terminated with the value of ORS.

print expr-list

Print expressions. Each expression is separated by the value of OFS. The output record is terminated with the value of ORS.

print expr-list >file

Print expressions on file. Each expression is separated by the value of OFS. The output record is terminated with the value of ORS.

printf fmt, expr-list

Format and print. See The printf Statement, below.

printf fmt, expr-list >file

Format and print on file.

system(cmd-line)

Execute the command cmd-line, and return the exit status. (This may not be available on non-POSIX systems.) See the manual for the full details on the exit status.

fflush([file])

Flush any buffers associated with the open output file or pipe file. If file is missing or if it is the null string, then flush all open output files and pipes.

Additional output redirections are allowed for print and printf.

print ... >> file

Appends output to the file.

print ... | command

Writes on a pipe.

print ... |& command

Sends data to a co-process or socket. (See also the subsection Special File Names, below.)

The getline command returns 1 on success, 0 on end of file, and -1 on an error. Upon an error, ERRNO is set to a string describing the problem.

NOTE: Failure in opening a two-way socket results in a non-fatal error being returned to the calling function. If using a pipe, co-process, or socket to getline, or from print or printf within a loop, you must use close() to create new instances of the command or socket. AWK does not automatically close pipes, sockets, or co-processes when they return EOF.

The printf Statement

The AWK versions of the printf statement and sprintf() function (see below) accept the following conversion specification formats:

%c

A single character. If the argument used for %c is numeric, it is treated as a character and printed. Otherwise, the argument is assumed to be a string, and the only first character of that string is printed.

%d, %i

A decimal number (the integer part).

%e, %E

A floating point number of the form [-]d.dddddde[+-]dd. The %E format uses E instead of e.

%f, %F

A floating point number of the form [-]ddd.dddddd. If the system library supports it, %F is available as well. This is like %f, but uses capital letters for special ``not a number'' and ``infinity'' values. If %F is not available, gawk uses %f.

%g, %G

Use %e or %f conversion, whichever is shorter, with nonsignificant zeros suppressed. The %G format uses %E instead of %e.

%o

An unsigned octal number (also an integer).

%u An unsigned decimal number (again, an integer).

%s

A character string.

%x, %X

An unsigned hexadecimal number (an integer). The %X format uses ABCDEF instead of abcdef.

%%

A single % character; no argument is converted.

Optional, additional parameters may lie between the % and the control letter:

count$

Use the count'th argument at this point in the formatting. This is called a positional specifier and is intended primarily for use in translated versions of format strings, not in the original text of an AWK program. It is a gawk extension.

-

The expression should be left-justified within its field.

space

For numeric conversions, prefix positive values with a space, and negative values with a minus sign.

+

The plus sign, used before the width modifier (see below), says to always supply a sign for numeric conversions, even if the data to be formatted is positive. The + overrides the space modifier.

#

Use an ``alternate form'' for certain control letters. For %o, supply a leading zero. For %x, and %X, supply a leading 0x or 0X for a nonzero result. For %e, %E, %f and %F, the result always contains a decimal point. For %g, and %G, trailing zeros are not removed from the result.

0

A leading 0 (zero) acts as a flag, that indicates output should be padded with zeroes instead of spaces. This applies only to the numeric output formats. This flag only has an effect when the field width is wider than the value to be printed.

'

A single quote character instructs gawk to insert the locale's thousands-separator character into decimal numbers, and to also use the locale's decimal point character with floating point formats. This requires correct locale support in the C library and in the definition of the current locale.

width

The field should be padded to this width. The field is normally padded with spaces. With the 0 flag, it is padded with zeroes.

.prec

A number that specifies the precision to use when printing. For the %e, %E, %f and %F, formats, this specifies the number of digits you want printed to the right of the decimal point. For the %g, and %G formats, it specifies the maximum number of significant digits. For the %d, %i, %o, %u, %x, and %X formats, it specifies the minimum number of digits to print. For %s, it specifies the maximum number of characters from the string that should be printed.

The dynamic width and prec capabilities of the ISO C printf() routines are supported. A * in place of either the width or prec specifications causes their values to be taken from the argument list to printf or sprintf(). To use a positional specifier with a dynamic width or precision, supply the count$ after the * in the format string. For example, "%3$*2$.*1$s".

Special File Names

When doing I/O redirection from either print or printf into a file, or via getline from a file, gawk recognizes certain special filenames internally. These filenames allow access to open file descriptors inherited from gawk's parent process (usually the shell). These file names may also be used on the command line to name data files. The filenames are:

-

The standard input.

/dev/stdin

The standard input.

/dev/stdout

The standard output.

/dev/stderr

The standard error output.

/dev/fd/n

The file associated with the open file descriptor n.

These are particularly useful for error messages. For example:

print "You blew it!" > "/dev/stderr"

whereas you would otherwise have to use

print "You blew it!" | "cat 1>&2"

The following special filenames may be used with the |& co-process operator for creating TCP/IP network connections:

/inet/tcp/lport/rhost/rport

/inet4/tcp/lport/rhost/rport

/inet6/tcp/lport/rhost/rport Files for a TCP/IP connection on local port lport to remote host rhost on remote port rport. Use a port of 0 to have the system pick a port. Use /inet4 to force an IPv4 connection, and /inet6 to force an IPv6 connection. Plain /inet uses the system default (most likely IPv4).

/inet/udp/lport/rhost/rport

/inet4/udp/lport/rhost/rport

/inet6/udp/lport/rhost/rport Similar, but use UDP/IP instead of TCP/IP.

Numeric Functions

AWK has the following built-in arithmetic functions:

atan2(y, x)

Return the arctangent of y/x in radians.

cos(expr)

Return the cosine of expr, which is in radians.

exp(expr)

The exponential function.

int(expr)

Truncate to integer.

log(expr)

The natural logarithm function.

rand()

Return a random number N, between 0 and 1, such that 0 < N < 1.

sin(expr)

Return the sine of expr, which is in radians.

sqrt(expr)

Return the square root of expr.

srand([expr])

Use expr as the new seed for the random number generator. If no expr is provided, use the time of day. Return the previous seed for the random number generator.

String Functions

Gawk has the following built-in string functions:

asort(s [, d [, how] ])

Return the number of elements in the source array s. Sort the contents of s using gawk's normal rules for comparing values, and replace the indices of the sorted values s with sequential integers starting with 1. If the optional destination array d is specified, first duplicate s into d, and then sort d, leaving the indices of the source array s unchanged. The optional string how controls the direction and the comparison mode. Valid values for how are any of the strings valid for PROCINFO["sorted_in"]. It can also be the name of a user-defined comparison function as described in PROCINFO["sorted_in"].

asorti(s [, d [, how] ])

Return the number of elements in the source array s. The behavior is the same as that of asort(), except that the array indices are used for sorting, not the array values. When done, the array is indexed numerically, and the values are those of the original indices. The original values are lost; thus provide a second array if you wish to preserve the original. The purpose of the optional string how is the same as described in asort() above.

gensub(r, s, h [, t])

Search the target string t for matches of the regular expression r. If h is a string beginning with g or G, then replace all matches of r with s. Otherwise, h is a number indicating which match of r to replace. If t is not supplied, use $0 instead. Within the replacement text s, the sequence \n, where n is a digit from 1 to 9, may be used to indicate just the text that matched the n'th parenthesized subexpression. The sequence \0 represents the entire matched text, as does the character &. Unlike sub() and gsub(), the modified string is returned as the result of the function, and the original target string is not changed.

gsub(r, s [, t])

For each substring matching the regular expression r in the string t, substitute the string s, and return the number of substitutions. If t is not supplied, use $0. An & in the replacement text is replaced with the text that was actually matched. Use \& to get a literal &. (This must be typed as "\\&"; see GAWK: Effective AWK Programming for a fuller discussion of the rules for &'s and backslashes in the replacement text of sub(), gsub(), and gensub().)

index(s, t)

Return the index of the string t in the string s, or 0 if t is not present. (This implies that character indices start at one.) It is a fatal error to use a regexp constant for t.

length([s])

Return the length of the string s, or the length of $0 if s is not supplied. As a non-standard extension, with an array argument, length() returns the number of elements in the array.

match(s, r [, a])

Return the position in s where the regular expression r occurs, or 0 if r is not present, and set the values of RSTART and RLENGTH. Note that the argument order is the same as for the ~ operator: str ~ re. If array a is provided, a is cleared and then elements 1 through n are filled with the portions of s that match the corresponding parenthesized subexpression in r. The 0'th element of a contains the portion of s matched by the entire regular expression r. Subscripts a[n, "start"], and a[n, "length"] provide the starting index in the string and length respectively, of each matching substring.

patsplit(s, a [, r [, seps] ])

Split the string s into the array a and the separators array seps on the regular expression r, and return the number of fields. Element values are the portions of s that matched r. The value of seps[i] is the separator that appeared in front of a[i+1]. If r is omitted, FPAT is used instead. The arrays a and seps are cleared first. Splitting behaves identically to field splitting with FPAT, described above.

split(s, a [, r [, seps] ])

Split the string s into the array a and the separators array seps on the regular expression r, and return the number of fields. If r is omitted, FS is used instead. The arrays a and seps are cleared first. seps[i] is the field separator matched by r between a[i] and a[i+1]. If r is a single space, then leading whitespace in s goes into the extra array element seps[0] and trailing whitespace goes into the extra array element seps[n], where n is the return value of split(s, a, r, seps). Splitting behaves identically to field splitting, described above.

sprintf(fmt, expr-list)

Print expr-list according to fmt, and return the resulting string.

strtonum(str)

Examine str, and return its numeric value. If str begins with a leading 0, treat it as an octal number. If str begins with a leading 0x or 0X, treat it as a hexadecimal number. Otherwise, assume it is a decimal number.

sub(r, s [, t])

Just like gsub(), but replace only the first matching substring.

substr(s, i [, n])

Return the at most n-character substring of s starting at i. If n is omitted, use the rest of s.

tolower(str)

Return a copy of the string str, with all the uppercase characters in str translated to their corresponding lowercase counterparts. Non-alphabetic characters are left unchanged.

toupper(str)

Return a copy of the string str, with all the lowercase characters in str translated to their corresponding uppercase counterparts. Non-alphabetic characters are left unchanged.

Gawk is multibyte aware. This means that index(), length(), substr() and match() all work in terms of characters, not bytes.

Time Functions

Since one of the primary uses of AWK programs is processing log files that contain time stamp information, gawk provides the following functions for obtaining time stamps and formatting them.

mktime(datespec)

Turn datespec into a time stamp of the same form as returned by systime(), and return the result. The datespec is a string of the form YYYY MM DD HH MM SS[ DST]. The contents of the string are six or seven numbers representing respectively the full year including century, the month from 1 to 12, the day of the month from 1 to 31, the hour of the day from 0 to 23, the minute from 0 to 59, the second from 0 to 60, and an optional daylight saving flag. The values of these numbers need not be within the ranges specified; for example, an hour of -1 means 1 hour before midnight. The origin-zero Gregorian calendar is assumed, with year 0 preceding year 1 and year -1 preceding year 0. The time is assumed to be in the local timezone. If the daylight saving flag is positive, the time is assumed to be daylight saving time; if zero, the time is assumed to be standard time; and if negative (the default), mktime() attempts to determine whether daylight saving time is in effect for the specified time. If datespec does not contain enough elements or if the resulting time is out of range, mktime() returns -1.

strftime([format [, timestamp[, utc-flag]]])

Format timestamp according to the specification in format. If utc-flag is present and is non-zero or non-null, the result is in UTC, otherwise the result is in local time. The timestamp should be of the same form as returned by systime(). If timestamp is missing, the current time of day is used. If format is missing, a default format equivalent to the output of date(1) is used. The default format is available in PROCINFO[strftime]. See the specification for the strftime() function in ISO C for the format conversions that are guaranteed to be available.

systime()

Return the current time of day as the number of seconds since the Epoch (1970-01-01 00:00:00 UTC on POSIX systems).

Bit Manipulations Functions

Gawk supplies the following bit manipulation functions. They work by converting double-precision floating point values to uintmax_t integers, doing the operation, and then converting the result back to floating point. The functions are:

and(v1, v2 [, ...])

Return the bitwise AND of the values provided in the argument list. There must be at least two.

compl(val)

Return the bitwise complement of val.

lshift(val, count)

Return the value of val, shifted left by count bits.

or(v1, v2 [, ...])

Return the bitwise OR of the values provided in the argument list. There must be at least two.

rshift(val, count)

Return the value of val, shifted right by count bits.

xor(v1, v2 [, ...])

Return the bitwise XOR of the values provided in the argument list. There must be at least two.

Type Function

The following function is for use with multidimensional arrays.

isarray(x)

Return true if x is an array, false otherwise.

Internationalization Functions

The following functions may be used from within your AWK program for translating strings at run-time. For full details, see GAWK: Effective AWK Programming.

bindtextdomain(directory [, domain])

Specify the directory where gawk looks for the .gmo files, in case they will not or cannot be placed in the ``standard'' locations (e.g., during testing). It returns the directory where domain is ``bound.''

The default domain is the value of TEXTDOMAIN. If directory is the null string (""), then bindtextdomain() returns the current binding for the given domain.

dcgettext(string [, domain [, category]])

Return the translation of string in text domain domain for locale category category. The default value for domain is the current value of TEXTDOMAIN. The default value for category is "LC_MESSAGES".

If you supply a value for category, it must be a string equal to one of the known locale categories described in GAWK: Effective AWK Programming. You must also supply a text domain. Use TEXTDOMAIN if you want to use the current domain.

dcngettext(string1, string2, number [, domain [, category]])

Return the plural form used for number of the translation of string1 and string2 in text domain domain for locale category category. The default value for domain is the current value of TEXTDOMAIN. The default value for category is "LC_MESSAGES".

If you supply a value for category, it must be a string equal to one of the known locale categories described in GAWK: Effective AWK Programming. You must also supply a text domain. Use TEXTDOMAIN if you want to use the current domain.

USER-DEFINED FUNCTIONS

Functions in AWK are defined as follows:

function name(parameter list) { statements }

Functions are executed when they are called from within expressions in either patterns or actions. Actual parameters supplied in the function call are used to instantiate the formal parameters declared in the function. Arrays are passed by reference, other variables are passed by value.

Since functions were not originally part of the AWK language, the provision for local variables is rather clumsy: They are declared as extra parameters in the parameter list. The convention is to separate local variables from real parameters by extra spaces in the parameter list. For example:

function  f(p, q,     a, b)     # a and b are local

{

...

}

/abc/   { ... ; f(1, 2) ; ... }

The left parenthesis in a function call is required to immediately follow the function name, without any intervening whitespace. This avoids a syntactic ambiguity with the concatenation operator. This restriction does not apply to the built-in functions listed above.

Functions may call each other and may be recursive. Function parameters used as local variables are initialized to the null string and the number zero upon function invocation.

Use return expr to return a value from a function. The return value is undefined if no value is provided, or if the function returns by ``falling off'' the end.

As a gawk extension, functions may be called indirectly. To do this, assign the name of the function to be called, as a string, to a variable. Then use the variable as if it were the name of a function, prefixed with an @ sign, like so:

function myfunc()

{

print "myfunc called"

...

}

{       ...

the_func = "myfunc"

@the_func()     # call through the_func to myfunc

...

}

As of version 4.1.2, this works with user-defined functions, built-in functions, and extension functions.

If --lint has been provided, gawk warns about calls to undefined functions at parse time, instead of at run time. Calling an undefined function at run time is a fatal error.

The word func may be used in place of function, although this is deprecated.

DYNAMICALLY LOADING NEW FUNCTIONS

You can dynamically add new built-in functions to the running gawk interpreter with the @load statement. The full details are beyond the scope of this manual page; see GAWK: Effective AWK Programming.

SIGNALS

The gawk profiler accepts two signals. SIGUSR1 causes it to dump a profile and function call stack to the profile file, which is either awkprof.out, or whatever file was named with the --profile option. It then continues to run. SIGHUP causes gawk to dump the profile and function call stack and then exit.

INTERNATIONALIZATION

String constants are sequences of characters enclosed in double quotes. In non-English speaking environments, it is possible to mark strings in the AWK program as requiring translation to the local natural language. Such strings are marked in the AWK program with a leading underscore (``_''). For example,

gawk 'BEGIN { print "hello, world" }'

always prints hello, world. But,

gawk 'BEGIN { print _"hello, world" }'

might print bonjour, monde in France.

There are several steps involved in producing and running a localizable AWK program.

1.

Add a BEGIN action to assign a value to the TEXTDOMAIN variable to set the text domain to a name associated with your program:

BEGIN { TEXTDOMAIN = "myprog" }

This allows gawk to find the .gmo file associated with your program. Without this step, gawk uses the messages text domain, which likely does not contain translations for your program.

2.

Mark all strings that should be translated with leading underscores.

3.

If necessary, use the dcgettext() and/or bindtextdomain() functions in your program, as appropriate.

4.

Run gawk --gen-pot -f myprog.awk > myprog.pot to generate a .pot file for your program.

5.

Provide appropriate translations, and build and install the corresponding .gmo files.

The internationalization features are described in full detail in GAWK: Effective AWK Programming.

POSIX COMPATIBILITY

A primary goal for gawk is compatibility with the POSIX standard, as well as with the latest version of Brian Kernighan's awk. To this end, gawk incorporates the following user visible features which are not described in the AWK book, but are part of the Brian Kernighan's version of awk, and are in the POSIX standard.

The book indicates that command line variable assignment happens when awk would otherwise open the argument as a file, which is after the BEGIN rule is executed. However, in earlier implementations, when such an assignment appeared before any file names, the assignment would happen before the BEGIN rule was run. Applications came to depend on this ``feature.'' When awk was changed to match its documentation, the -v option for assigning variables before program execution was added to accommodate applications that depended upon the old behavior. (This feature was agreed upon by both the Bell Laboratories and the GNU developers.)

When processing arguments, gawk uses the special option ``--'' to signal the end of arguments. In compatibility mode, it warns about but otherwise ignores undefined options. In normal operation, such arguments are passed on to the AWK program for it to process.

The AWK book does not define the return value of srand(). The POSIX standard has it return the seed it was using, to allow keeping track of random number sequences. Therefore srand() in gawk also returns its current seed.

Other new features are: The use of multiple -f options (from MKS awk); the ENVIRON array; the \a, and \v escape sequences (done originally in gawk and fed back into the Bell Laboratories version); the tolower() and toupper() built-in functions (from the Bell Laboratories version); and the ISO C conversion specifications in printf (done first in the Bell Laboratories version).

HISTORICAL FEATURES

There is one feature of historical AWK implementations that gawk supports: It is possible to call the length() built-in function not only with no argument, but even without parentheses! Thus,

a = length    # Holy Algol 60, Batman!

is the same as either of

a = length()

a = length($0)

Using this feature is poor practice, and gawk issues a warning about its use if --lint is specified on the command line.

GNU EXTENSIONS

Gawk has a too-large number of extensions to POSIX awk. They are described in this section. All the extensions described here can be disabled by invoking gawk with the --traditional or --posix options.

The following features of gawk are not available in POSIX awk.

*

No path search is performed for files named via the -f option. Therefore the AWKPATH environment variable is not special.

*

There is no facility for doing file inclusion (gawk's @include mechanism).

*

There is no facility for dynamically adding new functions written in C (gawk's @load mechanism).

*

The \x escape sequence. (Disabled with --posix.)

*

The ability to continue lines after ? and :. (Disabled with --posix.)

*

Octal and hexadecimal constants in AWK programs.

*

The ARGIND, BINMODE, ERRNO, LINT, RT and TEXTDOMAIN variables are not special.

*

The IGNORECASE variable and its side-effects are not available.

*

The FIELDWIDTHS variable and fixed-width field splitting.

*

The FPAT variable and field splitting based on field values.

*

The PROCINFO array is not available.

*

The use of RS as a regular expression.

*

The special file names available for I/O redirection are not recognized.

*

The |& operator for creating co-processes.

*

The BEGINFILE and ENDFILE special patterns are not available.

*

The ability to split out individual characters using the null string as the value of FS, and as the third argument to split().

*

An optional fourth argument to split() to receive the separator texts.

*

The optional second argument to the close() function.

*

The optional third argument to the match() function.

*

The ability to use positional specifiers with printf and sprintf().

*

The ability to pass an array to length().

*

The and(), asort(), asorti(), bindtextdomain(), compl(), dcgettext(), dcngettext(), gensub(), lshift(), mktime(), or(), patsplit(), rshift(), strftime(), strtonum(), systime() and xor() functions.

*

Localizable strings.

The AWK book does not define the return value of the close() function. Gawk's close() returns the value from fclose(3), or pclose(3), when closing an output file or pipe, respectively. It returns the process's exit status when closing an input pipe. The return value is -1 if the named file, pipe or co-process was not opened with a redirection.

When gawk is invoked with the --traditional option, if the fs argument to the -F option is ``t'', then FS is set to the tab character. Note that typing gawk -F\t ... simply causes the shell to quote the ``t,'' and does not pass ``\t'' to the -F option. Since this is a rather ugly special case, it is not the default behavior. This behavior also does not occur if --posix has been specified. To really get a tab character as the field separator, it is best to use single quotes: gawk -F'\t' ....

ENVIRONMENT VARIABLES

The AWKPATH environment variable can be used to provide a list of directories that gawk searches when looking for files named via the -f, --file, -i and --include options. If the initial search fails, the path is searched again after appending .awk to the filename.

The AWKLIBPATH environment variable can be used to provide a list of directories that gawk searches when looking for files named via the -l and --load options.

The GAWK_READ_TIMEOUT environment variable can be used to specify a timeout in milliseconds for reading input from a terminal, pipe or two-way communication including sockets.

For connection to a remote host via socket, GAWK_SOCK_RETRIES controls the number of retries, and GAWK_MSEC_SLEEP and the interval between retries. The interval is in milliseconds. On systems that do not support usleep(3), the value is rounded up to an integral number of seconds.

If POSIXLY_CORRECT exists in the environment, then gawk behaves exactly as if --posix had been specified on the command line. If --lint has been specified, gawk issues a warning message to this effect.

EXIT STATUS

If the exit statement is used with a value, then gawk exits with the numeric value given to it.

Otherwise, if there were no problems during execution, gawk exits with the value of the C constant EXIT_SUCCESS. This is usually zero.

If an error occurs, gawk exits with the value of the C constant EXIT_FAILURE. This is usually one.

If gawk exits because of a fatal error, the exit status is 2. On non-POSIX systems, this value may be mapped to EXIT_FAILURE.

VERSION INFORMATION

This man page documents gawk, version 4.1.

AUTHORS

The original version of UNIX awk was designed and implemented by Alfred Aho, Peter Weinberger, and Brian Kernighan of Bell Laboratories. Brian Kernighan continues to maintain and enhance it.

Paul Rubin and Jay Fenlason, of the Free Software Foundation, wrote gawk, to be compatible with the original version of awk distributed in Seventh Edition UNIX. John Woods contributed a number of bug fixes. David Trueman, with contributions from Arnold Robbins, made gawk compatible with the new version of UNIX awk. Arnold Robbins is the current maintainer.

See GAWK: Effective AWK Programming for a full list of the contributors to gawk and its documentation.

See the README file in the gawk distribution for up-to-date information about maintainers and which ports are currently supported.

BUG REPORTS

If you find a bug in gawk, please send electronic mail to bug-gawk@gnu.org. Please include your operating system and its revision, the version of gawk (from gawk --version), which C compiler you used to compile it, and a test program and data that are as small as possible for reproducing the problem.

Before sending a bug report, please do the following things. First, verify that you have the latest version of gawk. Many bugs (usually subtle ones) are fixed at each release, and if yours is out of date, the problem may already have been solved. Second, please see if setting the environment variable LC_ALL to LC_ALL=C causes things to behave as you expect. If so, it's a locale issue, and may or may not really be a bug. Finally, please read this man page and the reference manual carefully to be sure that what you think is a bug really is, instead of just a quirk in the language.

Whatever you do, do NOT post a bug report in comp.lang.awk. While the gawk developers occasionally read this newsgroup, posting bug reports there is an unreliable way to report bugs. Instead, please use the electronic mail addresses given above. Really.

If you're using a GNU/Linux or BSD-based system, you may wish to submit a bug report to the vendor of your distribution. That's fine, but please send a copy to the official email address as well, since there's no guarantee that the bug report will be forwarded to the gawk maintainer.

BUGS

The -F option is not necessary given the command line variable assignment feature; it remains only for backwards compatibility.

SEE ALSO

egrep(1), sed(1), getpid(2), getppid(2), getpgrp(2), getuid(2), geteuid(2), getgid(2), getegid(2), getgroups(2), usleep(3)

The AWK Programming Language, Alfred V. Aho, Brian W. Kernighan, Peter J. Weinberger, Addison-Wesley, 1988. ISBN 0-201-07981-X.

GAWK: Effective AWK Programming, Edition 4.1, shipped with the gawk source. The current version of this document is available online at http://www.gnu.org/software/gawk/manual.

EXAMPLES

Print and sort the login names of all users:

BEGIN   { FS = ":" }

{ print $1 | "sort" }

Count lines in a file:

{ nlines++ }

END     { print nlines }

Precede each line by its number in the file:

{ print FNR, $0 }

Concatenate and line number (a variation on a theme):

{ print NR, $0 }

Run an external command for particular lines of data:

tail -f access_log |

awk '/myhome.html/ { system("nmap " $1 ">> logdir/myhome.html") }'

ACKNOWLEDGEMENTS

Brian Kernighan provided valuable assistance during testing and debugging. We thank him.

COPYING PERMISSIONS

Copyright © 1989, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2001, 2002, 2003, 2004, 2005, 2007, 2009, 2010, 2011, 2012, 2013, 2014, 2016 Free Software Foundation, Inc.

Permission is granted to make and distribute verbatim copies of this manual page provided the copyright notice and this permission notice are preserved on all copies.

Permission is granted to copy and distribute modified versions of this manual page under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.

Permission is granted to copy and distribute translations of this manual page into another language, under the above conditions for modified versions, except that this permission notice may be stated in a translation approved by the Foundation.

NAME SYNOPSIS DESCRIPTION OPTION FORMAT OPTIONS AWK PROGRAM EXECUTION Command Line Directories VARIABLES, RECORDS AND FIELDS Records Fields Built-in Variables Arrays Variable Typing And Conversion Octal and Hexadecimal Constants String Constants PATTERNS AND ACTIONS Patterns Regular Expressions Actions Operators Control Statements I/O Statements The printf Statement Special File Names Numeric Functions String Functions Time Functions Bit Manipulations Functions Type Function Internationalization Functions USER-DEFINED FUNCTIONS DYNAMICALLY LOADING NEW FUNCTIONS SIGNALS INTERNATIONALIZATION POSIX COMPATIBILITY HISTORICAL FEATURES GNU EXTENSIONS ENVIRONMENT VARIABLES EXIT STATUS VERSION INFORMATION AUTHORS BUG REPORTS BUGS SEE ALSO EXAMPLES ACKNOWLEDGEMENTS COPYING PERMISSIONS

This document was created by man2html using the manual pages.

Time: 16:32:07 GMT, September 14, 2024

egrep

TOC Index

NAME

grep, egrep, fgrep, rgrep - print lines matching a pattern

SYNOPSIS

grep [OPTIONS] PATTERN [FILE...]

grep [OPTIONS] [-e PATTERN]... [-f FILE]... [FILE...]

DESCRIPTION

grep searches the named input FILEs for lines containing a match to the given PATTERN. If no files are specified, or if the file ``-'' is given, grep searches standard input. By default, grep prints the matching lines.

In addition, the variant programs egrep, fgrep and rgrep are the same as grep -E, grep -F, and grep -r, respectively. These variants are deprecated, but are provided for backward compatibility.

OPTIONS

Generic Program Information

--help

Output a usage message and exit.

-V, --version

Output the version number of grep and exit.

Matcher Selection

-E, --extended-regexp

Interpret PATTERN as an extended regular expression (ERE, see below).

-F, --fixed-strings

Interpret PATTERN as a list of fixed strings (instead of regular expressions), separated by newlines, any of which is to be matched.

-G, --basic-regexp

Interpret PATTERN as a basic regular expression (BRE, see below). This is the default.

-P, --perl-regexp

Interpret the pattern as a Perl-compatible regular expression (PCRE). This is highly experimental and grep -P may warn of unimplemented features.

Matching Control

-e PATTERN, --regexp=PATTERN

Use PATTERN as the pattern. If this option is used multiple times or is combined with the -f (--file) option, search for all patterns given. This option can be used to protect a pattern beginning with ``-''.

-f FILE, --file=FILE

Obtain patterns from FILE, one per line. If this option is used multiple times or is combined with the -e (--regexp) option, search for all patterns given. The empty file contains zero patterns, and therefore matches nothing.

-i, --ignore-case

Ignore case distinctions in both the PATTERN and the input files.

-v, --invert-match

Invert the sense of matching, to select non-matching lines.

-w, --word-regexp

Select only those lines containing matches that form whole words. The test is that the matching substring must either be at the beginning of the line, or preceded by a non-word constituent character. Similarly, it must be either at the end of the line or followed by a non-word constituent character. Word-constituent characters are letters, digits, and the underscore.

-x, --line-regexp

Select only those matches that exactly match the whole line. For a regular expression pattern, this is like parenthesizing the pattern and then surrounding it with ^ and $.

-y

Obsolete synonym for -i.

General Output Control

-c, --count

Suppress normal output; instead print a count of matching lines for each input file. With the -v, --invert-match option (see below), count non-matching lines.

--color[=WHEN], --colour[=WHEN]

Surround the matched (non-empty) strings, matching lines, context lines, file names, line numbers, byte offsets, and separators (for fields and groups of context lines) with escape sequences to display them in color on the terminal. The colors are defined by the environment variable GREP_COLORS. The deprecated environment variable GREP_COLOR is still supported, but its setting does not have priority. WHEN is never, always, or auto.

-L, --files-without-match

Suppress normal output; instead print the name of each input file from which no output would normally have been printed. The scanning will stop on the first match.

-l, --files-with-matches

Suppress normal output; instead print the name of each input file from which output would normally have been printed. The scanning will stop on the first match.

-m NUM, --max-count=NUM

Stop reading a file after NUM matching lines. If the input is standard input from a regular file, and NUM matching lines are output, grep ensures that the standard input is positioned to just after the last matching line before exiting, regardless of the presence of trailing context lines. This enables a calling process to resume a search. When grep stops after NUM matching lines, it outputs any trailing context lines. When the -c or --count option is also used, grep does not output a count greater than NUM. When the -v or --invert-match option is also used, grep stops after outputting NUM non-matching lines.

-o, --only-matching

Print only the matched (non-empty) parts of a matching line, with each such part on a separate output line.

-q, --quiet, --silent

Quiet; do not write anything to standard output. Exit immediately with zero status if any match is found, even if an error was detected. Also see the -s or --no-messages option.

-s, --no-messages

Suppress error messages about nonexistent or unreadable files.

Output Line Prefix Control

-b, --byte-offset

Print the 0-based byte offset within the input file before each line of output. If -o (--only-matching) is specified, print the offset of the matching part itself.

-H, --with-filename

Print the file name for each match. This is the default when there is more than one file to search.

-h, --no-filename

Suppress the prefixing of file names on output. This is the default when there is only one file (or only standard input) to search.

--label=LABEL

Display input actually coming from standard input as input coming from file LABEL. This is especially useful when implementing tools like zgrep, e.g., gzip -cd foo.gz | grep --label=foo -H something. See also the -H option.

-n, --line-number

Prefix each line of output with the 1-based line number within its input file.

-T, --initial-tab

Make sure that the first character of actual line content lies on a tab stop, so that the alignment of tabs looks normal. This is useful with options that prefix their output to the actual content: -H,-n, and -b. In order to improve the probability that lines from a single file will all start at the same column, this also causes the line number and byte offset (if present) to be printed in a minimum size field width.

-u, --unix-byte-offsets

Report Unix-style byte offsets. This switch causes grep to report byte offsets as if the file were a Unix-style text file, i.e., with CR characters stripped off. This will produce results identical to running grep on a Unix machine. This option has no effect unless -b option is also used; it has no effect on platforms other than MS-DOS and MS-Windows.

-Z, --null

Output a zero byte (the ASCII NUL character) instead of the character that normally follows a file name. For example, grep -lZ outputs a zero byte after each file name instead of the usual newline. This option makes the output unambiguous, even in the presence of file names containing unusual characters like newlines. This option can be used with commands like find -print0, perl -0, sort -z, and xargs -0 to process arbitrary file names, even those that contain newline characters.

Context Line Control

-A NUM, --after-context=NUM

Print NUM lines of trailing context after matching lines. Places a line containing a group separator (--) between contiguous groups of matches. With the -o or --only-matching option, this has no effect and a warning is given.

-B NUM, --before-context=NUM

Print NUM lines of leading context before matching lines. Places a line containing a group separator (--) between contiguous groups of matches. With the -o or --only-matching option, this has no effect and a warning is given.

-C NUM, -NUM, --context=NUM

Print NUM lines of output context. Places a line containing a group separator (--) between contiguous groups of matches. With the -o or --only-matching option, this has no effect and a warning is given.

File and Directory Selection

-a, --text

Process a binary file as if it were text; this is equivalent to the --binary-files=text option.

--binary-files=TYPE

If the first few bytes of a file indicate that the file contains binary data, assume that the file is of type TYPE. By default, TYPE is binary, and grep normally outputs either a one-line message saying that a binary file matches, or no message if there is no match. If TYPE is without-match, grep assumes that a binary file does not match; this is equivalent to the -I option. If TYPE is text, grep processes a binary file as if it were text; this is equivalent to the -a option. When processing binary data, grep may treat non-text bytes as line terminators; for example, the pattern '.' (period) might not match a null byte, as the null byte might be treated as a line terminator. Warning: grep --binary-files=text might output binary garbage, which can have nasty side effects if the output is a terminal and if the terminal driver interprets some of it as commands.

-D ACTION, --devices=ACTION

If an input file is a device, FIFO or socket, use ACTION to process it. By default, ACTION is read, which means that devices are read just as if they were ordinary files. If ACTION is skip, devices are silently skipped.

-d ACTION, --directories=ACTION

If an input file is a directory, use ACTION to process it. By default, ACTION is read, i.e., read directories just as if they were ordinary files. If ACTION is skip, silently skip directories. If ACTION is recurse, read all files under each directory, recursively, following symbolic links only if they are on the command line. This is equivalent to the -r option.

--exclude=GLOB

Skip files whose base name matches GLOB (using wildcard matching). A file-name glob can use *, ?, and [...] as wildcards, and \ to quote a wildcard or backslash character literally.

--exclude-from=FILE

Skip files whose base name matches any of the file-name globs read from FILE (using wildcard matching as described under --exclude).

--exclude-dir=DIR

Exclude directories matching the pattern DIR from recursive searches.

-I

Process a binary file as if it did not contain matching data; this is equivalent to the --binary-files=without-match option.

--include=GLOB

Search only files whose base name matches GLOB (using wildcard matching as described under --exclude).

-r, --recursive

Read all files under each directory, recursively, following symbolic links only if they are on the command line. Note that if no file operand is given, grep searches the working directory. This is equivalent to the -d recurse option.

-R, --dereference-recursive

Read all files under each directory, recursively. Follow all symbolic links, unlike -r.

Other Options

--line-buffered

Use line buffering on output. This can cause a performance penalty.

-U, --binary

Treat the file(s) as binary. By default, under MS-DOS and MS-Windows, grep guesses the file type by looking at the contents of the first 32KB read from the file. If grep decides the file is a text file, it strips the CR characters from the original file contents (to make regular expressions with ^ and $ work correctly). Specifying -U overrules this guesswork, causing all files to be read and passed to the matching mechanism verbatim; if the file is a text file with CR/LF pairs at the end of each line, this will cause some regular expressions to fail. This option has no effect on platforms other than MS-DOS and MS-Windows.

-z, --null-data

Treat the input as a set of lines, each terminated by a zero byte (the ASCII NUL character) instead of a newline. Like the -Z or --null option, this option can be used with commands like sort -z to process arbitrary file names.

REGULAR EXPRESSIONS

A regular expression is a pattern that describes a set of strings. Regular expressions are constructed analogously to arithmetic expressions, by using various operators to combine smaller expressions.

grep understands three different versions of regular expression syntax: ``basic'' (BRE), ``extended'' (ERE) and ``perl'' (PCRE). In GNU grep, there is no difference in available functionality between basic and extended syntaxes. In other implementations, basic regular expressions are less powerful. The following description applies to extended regular expressions; differences for basic regular expressions are summarized afterwards. Perl-compatible regular expressions give additional functionality, and are documented in pcresyntax(3) and pcrepattern(3), but work only if PCRE is available in the system.

The fundamental building blocks are the regular expressions that match a single character. Most characters, including all letters and digits, are regular expressions that match themselves. Any meta-character with special meaning may be quoted by preceding it with a backslash.

The period . matches any single character.

Character Classes and Bracket Expressions

A bracket expression is a list of characters enclosed by [ and ]. It matches any single character in that list; if the first character of the list is the caret ^ then it matches any character not in the list. For example, the regular expression [0123456789] matches any single digit.

Within a bracket expression, a range expression consists of two characters separated by a hyphen. It matches any single character that sorts between the two characters, inclusive, using the locale's collating sequence and character set. For example, in the default C locale, [a-d] is equivalent to [abcd]. Many locales sort characters in dictionary order, and in these locales [a-d] is typically not equivalent to [abcd]; it might be equivalent to [aBbCcDd], for example. To obtain the traditional interpretation of bracket expressions, you can use the C locale by setting the LC_ALL environment variable to the value C.

Finally, certain named classes of characters are predefined within bracket expressions, as follows. Their names are self explanatory, and they are [:alnum:], [:alpha:], [:cntrl:], [:digit:], [:graph:], [:lower:], [:print:], [:punct:], [:space:], [:upper:], and [:xdigit:]. For example, [[:alnum:]] means the character class of numbers and letters in the current locale. In the C locale and ASCII character set encoding, this is the same as [0-9A-Za-z]. (Note that the brackets in these class names are part of the symbolic names, and must be included in addition to the brackets delimiting the bracket expression.) Most meta-characters lose their special meaning inside bracket expressions. To include a literal ] place it first in the list. Similarly, to include a literal ^ place it anywhere but first. Finally, to include a literal - place it last.

Anchoring

The caret ^ and the dollar sign $ are meta-characters that respectively match the empty string at the beginning and end of a line.

The Backslash Character and Special Expressions

The symbols \< and \> respectively match the empty string at the beginning and end of a word. The symbol \b matches the empty string at the edge of a word, and \B matches the empty string provided it's not at the edge of a word. The symbol \w is a synonym for [_[:alnum:]] and \W is a synonym for [^_[:alnum:]].

Repetition

A regular expression may be followed by one of several repetition operators:

?

The preceding item is optional and matched at most once.

*

The preceding item will be matched zero or more times.

+

The preceding item will be matched one or more times.

{n}

The preceding item is matched exactly n times.

{n,}

The preceding item is matched n or more times.

{,m}

The preceding item is matched at most m times. This is a GNU extension.

{n,m}

The preceding item is matched at least n times, but not more than m times.

Concatenation

Two regular expressions may be concatenated; the resulting regular expression matches any string formed by concatenating two substrings that respectively match the concatenated expressions.

Alternation

Two regular expressions may be joined by the infix operator |; the resulting regular expression matches any string matching either alternate expression.

Precedence

Repetition takes precedence over concatenation, which in turn takes precedence over alternation. A whole expression may be enclosed in parentheses to override these precedence rules and form a subexpression.

Back References and Subexpressions

The back-reference \n, where n is a single digit, matches the substring previously matched by the nth parenthesized subexpression of the regular expression.

Basic vs Extended Regular Expressions

In basic regular expressions the meta-characters ?, +, {, |, (, and ) lose their special meaning; instead use the backslashed versions \?, \+, \{, \|, \(, and \).

ENVIRONMENT VARIABLES

The behavior of grep is affected by the following environment variables.

The locale for category LC_foo is specified by examining the three environment variables LC_ALL, LC_foo, LANG, in that order. The first of these variables that is set specifies the locale. For example, if LC_ALL is not set, but LC_MESSAGES is set to pt_BR, then the Brazilian Portuguese locale is used for the LC_MESSAGES category. The C locale is used if none of these environment variables are set, if the locale catalog is not installed, or if grep was not compiled with national language support (NLS).

GREP_OPTIONS

This variable specifies default options to be placed in front of any explicit options. As this causes problems when writing portable scripts, this feature will be removed in a future release of grep, and grep warns if it is used. Please use an alias or script instead.

GREP_COLOR

This variable specifies the color used to highlight matched (non-empty) text. It is deprecated in favor of GREP_COLORS, but still supported. The mt, ms, and mc capabilities of GREP_COLORS have priority over it. It can only specify the color used to highlight the matching non-empty text in any matching line (a selected line when the -v command-line option is omitted, or a context line when -v is specified). The default is 01;31, which means a bold red foreground text on the terminal's default background.

GREP_COLORS

Specifies the colors and other attributes used to highlight various parts of the output. Its value is a colon-separated list of capabilities that defaults to ms=01;31:mc=01;31:sl=:cx=:fn=35:ln=32:bn=32:se=36 with the rv and ne boolean capabilities omitted (i.e., false). Supported capabilities are as follows.

sl=

SGR substring for whole selected lines (i.e., matching lines when the -v command-line option is omitted, or non-matching lines when -v is specified). If however the boolean rv capability and the -v command-line option are both specified, it applies to context matching lines instead. The default is empty (i.e., the terminal's default color pair).

cx=

SGR substring for whole context lines (i.e., non-matching lines when the -v command-line option is omitted, or matching lines when -v is specified). If however the boolean rv capability and the -v command-line option are both specified, it applies to selected non-matching lines instead. The default is empty (i.e., the terminal's default color pair).

rv

Boolean value that reverses (swaps) the meanings of the sl= and cx= capabilities when the -v command-line option is specified. The default is false (i.e., the capability is omitted).

mt=01;31

SGR substring for matching non-empty text in any matching line (i.e., a selected line when the -v command-line option is omitted, or a context line when -v is specified). Setting this is equivalent to setting both ms= and mc= at once to the same value. The default is a bold red text foreground over the current line background.

ms=01;31

SGR substring for matching non-empty text in a selected line. (This is only used when the -v command-line option is omitted.) The effect of the sl= (or cx= if rv) capability remains active when this kicks in. The default is a bold red text foreground over the current line background.

mc=01;31

SGR substring for matching non-empty text in a context line. (This is only used when the -v command-line option is specified.) The effect of the cx= (or sl= if rv) capability remains active when this kicks in. The default is a bold red text foreground over the current line background.

fn=35

SGR substring for file names prefixing any content line. The default is a magenta text foreground over the terminal's default background.

ln=32

SGR substring for line numbers prefixing any content line. The default is a green text foreground over the terminal's default background.

bn=32

SGR substring for byte offsets prefixing any content line. The default is a green text foreground over the terminal's default background.

se=36

SGR substring for separators that are inserted between selected line fields (:), between context line fields, (-), and between groups of adjacent lines when nonzero context is specified (--). The default is a cyan text foreground over the terminal's default background.

ne

Boolean value that prevents clearing to the end of line using Erase in Line (EL) to Right (\\\33[K) each time a colorized item ends. This is needed on terminals on which EL is not supported. It is otherwise useful on terminals for which the back_color_erase (bce) boolean terminfo capability does not apply, when the chosen highlight colors do not affect the background, or when EL is too slow or causes too much flicker. The default is false (i.e., the capability is omitted).

Note that boolean capabilities have no =... part. They are omitted (i.e., false) by default and become true when specified.

See the Select Graphic Rendition (SGR) section in the documentation of the text terminal that is used for permitted values and their meaning as character attributes. These substring values are integers in decimal representation and can be concatenated with semicolons. grep takes care of assembling the result into a complete SGR sequence (\\\33[...m). Common values to concatenate include 1 for bold, 4 for underline, 5 for blink, 7 for inverse, 39 for default foreground color, 30 to 37 for foreground colors, 90 to 97 for 16-color mode foreground colors, 38;5;0 to 38;5;255 for 88-color and 256-color modes foreground colors, 49 for default background color, 40 to 47 for background colors, 100 to 107 for 16-color mode background colors, and 48;5;0 to 48;5;255 for 88-color and 256-color modes background colors.

LC_ALL, LC_COLLATE, LANG

These variables specify the locale for the LC_COLLATE category, which determines the collating sequence used to interpret range expressions like [a-z].

LC_ALL, LC_CTYPE, LANG

These variables specify the locale for the LC_CTYPE category, which determines the type of characters, e.g., which characters are whitespace.

LC_ALL, LC_MESSAGES, LANG

These variables specify the locale for the LC_MESSAGES category, which determines the language that grep uses for messages. The default C locale uses American English messages.

POSIXLY_CORRECT

If set, grep behaves as POSIX requires; otherwise, grep behaves more like other GNU programs. POSIX requires that options that follow file names must be treated as file names; by default, such options are permuted to the front of the operand list and are treated as options. Also, POSIX requires that unrecognized options be diagnosed as ``illegal'', but since they are not really against the law the default is to diagnose them as ``invalid''. POSIXLY_CORRECT also disables _N_GNU_nonoption_argv_flags_, described below.

_N_GNU_nonoption_argv_flags_

(Here N is grep's numeric process ID.) If the ith character of this environment variable's value is 1, do not consider the ith operand of grep to be an option, even if it appears to be one. A shell can put this variable in the environment for each command it runs, specifying which operands are the results of file name wildcard expansion and therefore should not be treated as options. This behavior is available only with the GNU C library, and only when POSIXLY_CORRECT is not set.

EXIT STATUS

Normally the exit status is 0 if a line is selected, 1 if no lines were selected, and 2 if an error occurred. However, if the -q or --quiet or --silent is used and a line is selected, the exit status is 0 even if an error occurred.

COPYRIGHT

Copyright 1998-2000, 2002, 2005-2016 Free Software Foundation, Inc.

This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

BUGS

Reporting Bugs

Email bug reports to bug-grep@gnu.org laemail: O rathe bug-reporting address An http://lists.gnu.org/mailman/listinfo/bug-grep laURL: L raemail archive and a http://debbugs.gnu.org/cgi/pkgreport.cgi?package=grep laURL: L rabug tracker are available.

Known Bugs

Large repetition counts in the {n,m} construct may cause grep to use lots of memory. In addition, certain other obscure regular expressions require exponential time and space, and may cause grep to run out of memory.

Back-references are very slow, and may require exponential time.

SEE ALSO

Regular Manual Pages

awk(3), cmp(1), diff(1), find(1), gzip(1), perl(1), sed(1), sort(1), xargs(1), zgrep(1), read(2), pcre(3), pcresyntax(3), pcrepattern(3), terminfo(5), glob(7), regex(7).

POSIX Programmer's Manual Page

grep(1p).

Full Documentation

A http://www.gnu.org/software/grep/manual/ laURL: L racomplete manual is available. If the info and grep programs are properly installed at your site, the command

info grep

should give you access to the complete manual.

NOTES

This man page is maintained only fitfully; the full documentation is often more up-to-date.

NAME SYNOPSIS DESCRIPTION OPTIONS Generic Program Information Matcher Selection Matching Control General Output Control Output Line Prefix Control Context Line Control File and Directory Selection Other Options REGULAR EXPRESSIONS Character Classes and Bracket Expressions Anchoring The Backslash Character and Special Expressions Repetition Concatenation Alternation Precedence Back References and Subexpressions Basic vs Extended Regular Expressions ENVIRONMENT VARIABLES EXIT STATUS COPYRIGHT BUGS Reporting Bugs Known Bugs SEE ALSO Regular Manual Pages POSIX Programmer's Manual Page Full Documentation NOTES

This document was created by man2html using the manual pages.

Time: 16:33:33 GMT, September 14, 2024

tf.cfg

TOC Index

NAME

tf.cfg - configuration file for tf

SYNOPSIS

WA2LWinTools/etc/tf.cfg

AVAILABILITY

WA2L/WinTools

DESCRIPTION

This is the configuration file for the tf command.

FILEFORMAT

Rows starting with a # are considered as comments.

The file format is OPTION=VALUE

Between the OPTION , the = and the VALUE are no spaces.

You can comment out any OPTION or completely remove the related setting line to use the default settings.

OPTIONS

FILTERPATH

semicolon separated search path to locate filters to be processed by the tf(1) command.

The directory WA2LWinTools\var\scripts is always the last directory searched for filters by tf and therefore does not need to be added to the FILTERPATH setting.

Example: FILTERPATH=%INSTALLDRIVE%:\data\filters;d:\misc

Default: FILTERPATH=%INSTALLDIR%\var\scripts

INCLUDE

semicolon separated list of include files containing library functions to be used in tf(1) filters.

The libraries lib/awkfunlib.awk and lib/awkmathlib.awk are always included.

Example: INCLUDE=%INSTALLDIR%\var\scripts\mymathlib.awk

Default: INCLUDE=

CODEPAGE

set codepage.

Example: CODEPAGE=850

Default: CODEPAGE=1252

EXAMPLES

1) Simple example configuration file

#

# WA2LWinTools/etc/tf.cfg - Configuration file for tf

#

# [00] 14.07.2020 CWa   Initial Version

#

FILTERPATH=%INSTALLDRIVE%:\data\filters;d:\misc

INCLUDE=%INSTALLDIR%\var\scripts\mymathlib.awk

SEE ALSO

wintoolsintro(1), wtshell(1m), tf(1), https://ss64.com/nt/chcp.html, https://docs.microsoft.com/en-gb/windows/win32/intl/code-page-identifiers

NOTES

-

BUGS

-

AUTHOR

tf.cfg was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2021 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION FILEFORMAT OPTIONS EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:33:08 GMT, September 14, 2024

catio

TOC Index

NAME

catio - cat files listed in a filelist

SYNOPSIS

WA2LWinTools/lib/shell/catio [ -h | -V ]

catio [ -b ] < filelist

cat filelist | catio [ -b ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

print all files that are listed in a filelist to stdout.

OPTIONS

-h

usage help.

-V

print program version.

-b

binary output (=completely identical output as the file). Default is to use the type system command to print the files.

filelist

list of files.

EXIT STATUS

0

no error.

1

not all files provided in filelist could be printed.

4

usage printed.

5

version printed.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), ls(1), lsw(1), tf(1), uxfind(1), https://ss64.com/nt/type.html

NOTES

-

BUGS

-

AUTHOR

catio was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2021 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS EXIT STATUS EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:31:51 GMT, September 14, 2024

lsw

TOC Index

NAME

lsw - list files with multiple wildcards in selection path

SYNOPSIS

WA2LWinTools/lib/shell/lsw [ -h | -V ]

lsw [ -s | -a ][ -r ][ -d | -f | -l ][ -L ] file...

AVAILABILITY

WA2L/WinTools

DESCRIPTION

list files with multiple wildcards in file selection path:

lsw data*\*\*\*.csv

This not directly possible using dir or ls ports.

OPTIONS

-h

usage help.

-V

print program version.

-s

single line string list of resulting files.

-a

print all information (file type, file modification date and time, file size in bytes, filename). The fields are tabulator-separated.

-r

recursive file list on match.

-f

list files only.

-d

list directories only.

-l

list directories that are links (aka. reparse points) only.

-L

follow links. Default is not to follow links.

file...

list of files, directories or paths where multiple wildcards in all levels are supported.

When file is a '-', read files (one per line) from stdin.

EXIT STATUS

0

no error.

4

usage printed.

5

version printed.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), ls(1), lscol(1), lscomp(1), lscp(1), lsmv(1), lssp(1)

BUGS

-

AUTHOR

lsw was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2021 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS EXIT STATUS EXAMPLES SEE ALSO BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:18 GMT, September 14, 2024

lscol

TOC Index

NAME

lscol - list columns of a comma- or semicolon separated CSV file

SYNOPSIS

WA2LWinTools/lib/shell/lscol -h | -V

lscol file.csv

lscol < file.csv

type file.csv | lscol

AVAILABILITY

WA2L/WinTools

DESCRIPTION

lscol list columns of a comma- or semicolon separated CSV file.

The columns are numbered (starting at 1) and column letters as used in a spreadsheet program (A ... Z ... XA ...) are printed before each column name.

OPTIONS

-h

usage message.

-V

print version of the lscol command.

file.csv

CSV file.

ENVIRONMENT

-

EXIT STATUS

0

no error.

1

given file.csv does not exist.

4

usage listed.

5

version displayed.

FILES

-

EXAMPLES

-

SEE ALSO

wintoolsintro(1), console(1m), print_list(3), wtshell(1m)

NOTES

-

BUGS

-

AUTHOR

lscol was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2021 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:16 GMT, September 14, 2024

print_list

TOC Index

NAME

print_list - format CSV data to a list with dynamic column widths

SYNOPSIS

WA2LWinTools/lib/print_list [ -h ]

print_list [ "field_separator" [ indent ]]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

the intention of this command is to print a list to a terminal in a good readable format. A CSV data provided via pipe from stdin is formatted and printed to stdout .

The first row is treated as header row. The width of all columns is dynamically adjusted to the row containing the longest column entry.

Text columns are aligned to the left, bare number columns are aligned to the right.

To select named columns from the CSV data prior to the formatting of the list with print_list use select_columns(3) .

OPTIONS

-h

usage message.

"field_separator"

field separator. If not specified, the default field separator is the semicolon ( ; ).

indent

left indent of the output in characters. If not specified the output is not indented.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage displayed.

FILES

-

EXAMPLES

1) print CSV data as formatted list

The following CSV data received via pipe

type cities.csv

ZIP;CITY;STATE;CNT;COUNTRY

93117;Goleta;CA;USA;United States of America

8222;Beringen;SH;CH;Switzerland

8005;Cape Town;WC;RSA;South Africa

type cities.csv | print_list

results in the output:

ZIP    CITY       STATE  CNT  COUNTRY

-----  ---------  -----  ---  ------------------------

93117  Goleta     CA     USA  United States of America

8222  Beringen   SH     CH   Switzerland

8005  Cape Town  WC     RSA  South Africa

(3)

2) print selected columns of CSV data as formatted list

The columns CNT, ZIP and CITY of the CSV data are selected using the select_columns(3) command and then formatted to a list using the print_list command

type cities.csv

ZIP;CITY;STATE;CNT;COUNTRY

93117;Goleta;CA;USA;United States of America

8222;Beringen;SH;CH;Switzerland

8005;Cape Town;WC;RSA;South Africa

type cities.csv | select_columns ";" "CNT;ZIP;CITY" | print_list

what will result in the output:

CNT  ZIP    CITY

---  -----  ---------

USA  93117  Goleta

CH    8222  Beringen

RSA   8005  Cape Town

(3)

SEE ALSO

wintoolsintro(1), indent(3), print_header(3), print_index(3), select_columns(3)

NOTES

The four commands print_header(3) , select_columns(3) , print_list(3) and print_index(3) provide the functionality to efficiently produce ASCII reports having an identical look.

BUGS

-

AUTHOR

print_list was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:44 GMT, September 14, 2024

select_columns

TOC Index

NAME

select_columns - select named columns from CSV stream

SYNOPSIS

WA2LWinTools/lib/select_columns -h

select_columns "field_separator" "column_list"

AVAILABILITY

WA2L/WinTools

DESCRIPTION

filter to select named columns that are separated by a field separator from stdin and print the selected columns to stdout . The first row of the data stream must contain the row header. Columns that do not exist, are printed as empty columns.

OPTIONS

-h

usage message.

"field_separator"

field separator.

"column_list"

separated list of columns to be printed from the CSV stream from stdin.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage displayed.

FILES

-

EXAMPLES

-

SEE ALSO

wintoolsintro(1), indent(3), print_header(3), print_index(3), print_list(3)

NOTES

The four commands print_header(3) , print_list(3) , select_columns(3) and print_index(3) provide the functionality to efficiently produce ASCII reports having an identical look.

BUGS

-

AUTHOR

select_columns was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:59 GMT, September 14, 2024

indent

TOC Index

NAME

indent - continuous output with an indent

SYNOPSIS

WA2LWinTools/lib/indent [ -h | -V ]

indent [ -e ][ width ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

continuous output of characters received via stdin with a leading indent ( width ) on each line.

OPTIONS

-h

help message.

-V

print program version.

width

width of output indent. If not specified the default of 4 applies.

-e

the leading indent is sent to stderr instead of stdout.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage printed.

5

version printed.

FILES

-

EXAMPLES

1) indented output of a file

Print a file with the standard indent of 4:

[ C:\Windows\System32\drivers\etc ]

[ fred@acme007 ][*wtshell*/cmd]: type hosts | indent

127.0.0.1      localhost

10.10.10.11    acme001

10.10.10.12    acme002

10.10.10.17    acme007

:

:

Print the file with a specific indent of 8:

[ C:\Windows\System32\drivers\etc ]

[ fred@acme007 ][*wtshell*/cmd]: type hosts | indent 8

127.0.0.1      localhost

10.10.10.11    acme001

10.10.10.12    acme002

10.10.10.17    acme007

:

:

SEE ALSO

wintoolsintro(1), print_header(3), print_index(3), print_list(3), select_columns(3)

NOTES

-

BUGS

-

AUTHOR

indent was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:10 GMT, September 14, 2024

print_header

TOC Index

NAME

print_header - print a standard report header

SYNOPSIS

WA2LWinTools/lib/print_header [ -h ]

print_header [ "report title" [ indent ]]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

print a standard report header to the terminal. The report header consists of the report title and the date of the report creation.

OPTIONS

-h

usage message.

"report title"

title of the report. The specified text is converted to upper case.

indent

left indent of the output in characters. If not specified the output is not indented.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage displayed.

FILES

-

EXAMPLES

1) print a user account report

print_header "LOCAL USER ACCOUNTS"

The output of this example will look similar to:

Report:      LOCAL USER ACCOUNTS

Date:        Sun Jan 11 19:44:53 MET 2009

SEE ALSO

wintoolsintro(1), indent(3), print_list(3), print_index(3), select_columns(3)

NOTES

The four commands print_header(3) , select_columns(3) , print_header(3) and print_index(3) provide the functionality to efficiently produce ASCII reports having an identical look.

BUGS

-

AUTHOR

print_header was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:43 GMT, September 14, 2024

print_index

TOC Index

NAME

print_index - print a standard column index

SYNOPSIS

WA2LWinTools/lib/print_index [ -h ]

print_index [ "field separator" [ indent [ columns ]]]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

print a standard report column index to the terminal.

OPTIONS

-h

usage message.

"field separator"

field separator of the input data given via stdin . If not specified, the field separator defaults to the semicolon ( ; ).

indent

left indent of the output in characters. If not specified the output is not indented.

columns

number of columns of the column index output. If not specified a default of 2 applies.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage displayed.

FILES

-

EXAMPLES

1) print a column index

type index.csv

ZIP;Postal Zip Code

CITY;Name of the City

STATE;State

CNT;Country Shortcut

COUNTRY; Country Full Name

type index.csv | print_index

Result of this script:

COLUMN INDEX:

ZIP ....... Postal Zip Code       CNT ....... Country Shortcut

CITY ...... Name of the City      COUNTRY ... Country Full Name

STATE ..... State

SEE ALSO

wintoolsintro(1), indent(3), print_header(3), print_list(3), select_columns(3)

NOTES

The four commands print_index(3) , select_columns(3) , print_index(3) and print_index(3) provide the functionality to efficiently produce ASCII reports having an identical look.

BUGS

-

AUTHOR

print_index was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:43 GMT, September 14, 2024

lscomp

TOC Index

NAME

lscomp - list the files contained in a compressed archive file

SYNOPSIS

WA2LWinTools/lib/shell/lscomp [ -h | -V | -l ]

lscomp file

AVAILABILITY

WA2L/edrc

DESCRIPTION

With lscomp you can list the files included in a compressed archive without decompressing the whole archive file. To view a more detailed filelist you should use the llcomp command.

OPTIONS

-h

usage message

-V

print program version.

-l

print a list of all supported file formats.

file

filename of the compressed archive file.

This file is a file with the suffixes: .7z, .bz2, .bzip2, .cab, .chm, .cpio, .cpio.gz, .deb, .depot, .docm, .docx, .dotm, .dotx, .epub, .exe, .gz, .msi, .potm, .potx, .ppsx, .pptm, .pptx, .rar, .rpm, .tar, .tar.bz2, .tar.bzip2, .tar.gz, .tar.xz, .tar.Z, .tgz, .vsdx, .xlsm, .xlsx, .xltm, .xltx, .xz, .Z or .zip.

ENVIRONMENT

-

EXIT STATUS

0

no error.

1

specified archive file not found.

4

usage displayed.

5

program version printed.

FILES

-

EXAMPLES

-

SEE ALSO

wintoolsintro(1), llcomp(1), catcomp(1)

BUGS

-

AUTHOR

lscomp was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:17 GMT, September 14, 2024

llcomp

TOC Index

NAME

llcomp - list the files contained in a compressed archive file

SYNOPSIS

WA2LWinTools/lib/shell/llcomp [ -h | -V | -l ]

llcomp file

AVAILABILITY

WA2L/WinTools

DESCRIPTION

With llcomp you can list the files included in a compressed archive without decompressing the whole archive file. The output of llcomp is more detailed then the output of the lscomp command. Note, that the output of llcomp differs depending on the archive format, while the output of lscomp is identical for all supported archives.

OPTIONS

-h

usage message

-V

print program version.

-l

print a list of all supported file formats.

file

filename of the compressed archive file.

This file is a file with the suffixes .7z, .bz2, .bzip2, .cab, .chm, .cpio, .cpio.gz, .deb, .depot, .docm, .docx, .dotm, .dotx, .epub, .exe, .gz, .msi, .potm, .potx, .ppsx, .pptm, .pptx, .rar, .rpm, .tar, .tar.bz2, .tar.bzip2, .tar.gz, .tar.xz, .tar.Z, .tgz, .vsdx, .xlsm, .xlsx, .xltm, .xltx, .xz, .Z or .zip.

ENVIRONMENT

-

EXIT STATUS

0

no error.

1

specified archive file not found.

4

usage displayed.

5

version printed.

FILES

-

EXAMPLES

-

SEE ALSO

wintoolsintro(1), lscomp(1), catcomp(1)

NOTES

-

BUGS

-

AUTHOR

llcomp was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:15 GMT, September 14, 2024

catcomp

TOC Index

NAME

catcomp - cat a file to stdout out of a compressed archive file

SYNOPSIS

WA2LWinTools/lib/shell/catcomp [ -h | -V | -l ]

catcomp file path

AVAILABILITY

WA2L/WinTools

DESCRIPTION

With catcomp you cat a file out of a compressed archive without decompressing the whole archive file. To list the contents of an archive file use the lscomp or llcomp command.

OPTIONS

-h

usage message

-V

print program version.

-l

list all supported file formats.

file

filename of the compressed archive file.

This file is a file with the suffixes .7z, .bz2, .bzip2, .cab, .chm, .cpio, .cpio.gz, .deb, .depot, .docm, .docx, .dotm, .dotx, .epub, .exe, .gz, .msi, .potm, .potx, .ppsx, .pptm, .pptx, .rar, .rpm, .tar, .tar.bz2, .tar.bzip2, .tar.gz, .tar.xz, .tar.Z, .tgz, .vsdx, .xlsm, .xlsx, .xltm, .xltx, .xz, .Z or .zip.

path

complete path and filename of the file inside the archive you like to display.

ENVIRONMENT

-

EXIT STATUS

0

no error.

1

specified archive file not found.

4

usage displayed.

5

program version printed.

FILES

-

SEE ALSO

wintoolsintro(1), lscomp(1), llcomp(1)

NOTES

-

BUGS

-

AUTHOR

catcomp was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:31:50 GMT, September 14, 2024

lscp

TOC Index

NAME

lscp - print list with cp-commands in the current working directory

SYNOPSIS

WA2LWinTools/lib/shell/lscp [ ls_options ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

Print a list of cp commands with files in the current working directory to stdout. This is useful if many filenames have to be copied to different filenames.

The common usage is to invoke lscp , redirect the output to a temporary file, load the temporary file into vi , modify the filenames with the editing functionality of vi and then execute the commands in the temporary file. With this procedure it is very effective to copy many files to different filenames.

OPTIONS

ls_options

all native ls options.

EXIT STATUS

x

the exit status of cp .

EXAMPLES

1) common

lscp usage:

lscp > t.cmd

vi t.cmd

sh t.cmd

rm t.cmd

SEE ALSO

wintoolsintro(1), ls(1), lsmv(1), cp(1)

BUGS

-

AUTHOR

lscp was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS EXIT STATUS EXAMPLES SEE ALSO BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:17 GMT, September 14, 2024

lsmv

TOC Index

NAME

lsmv - print list with mv-commands in the current working directory

SYNOPSIS

WA2LWinTools/lib/shell/lsmv [ ls_options ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

Print a list of mv commands with files in the current working directory to stdout. This is useful if many filenames have to be adjusted.

The common usage is to invoke lsmv , redirect the output to a temporary file, load the temporary file into vi , modify the filenames with the editing functionality of vi and then execute the commands in the temporary file. With this procedure it is very effective to rename many files.

OPTIONS

ls_options

all native ls options.

EXIT STATUS

x

the exit status of mv .

EXAMPLES

1) common

lsmv usage:

lsmv > t.bat

vi t.bat

t.bat

rm t.bat

SEE ALSO

wintoolsintro(1), ls(1), lscp(1), mv(1)

BUGS

-

AUTHOR

lsmv was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS EXIT STATUS EXAMPLES SEE ALSO BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:18 GMT, September 14, 2024

mv

TOC Index

NAME

mv - move (rename) files

SYNOPSIS

mv [,OPTION/]... [,-T/] ,SOURCE DEST/

mv [,OPTION/]... ,SOURCE/... ,DIRECTORY/

mv [,OPTION/]... ,-t DIRECTORY SOURCE/...

DESCRIPTION

Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.

Mandatory arguments to long options are mandatory for short options too.

--backup[=,CONTROL/]

make a backup of each existing destination file

-b

like --backup but does not accept an argument

-f, --force

do not prompt before overwriting

-i, --interactive

prompt before overwrite

-n, --no-clobber

do not overwrite an existing file

If you specify more than one of -i, -f, -n, only the final one takes effect.

--strip-trailing-slashes

remove any trailing slashes from each SOURCE argument

-S, --suffix=,SUFFIX/

override the usual backup suffix

-t, --target-directory=,DIRECTORY/

move all SOURCE arguments into DIRECTORY

-T, --no-target-directory

treat DEST as a normal file

-u, --update

move only when the SOURCE file is newer than the destination file or when the destination file is missing

-v, --verbose

explain what is being done

-Z, --context

set SELinux security context of destination file to default type

--help

display this help and exit

--version

output version information and exit

The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX. The version control method may be selected via the --backup option or through the VERSION_CONTROL environment variable. Here are the values:

none, off

never make backups (even if --backup is given)

numbered, t

make numbered backups

existing, nil

numbered if numbered backups exist, simple otherwise

simple, never

always make simple backups

AUTHOR

Written by Mike Parker, David MacKenzie, and Jim Meyering.

REPORTING BUGS

GNU coreutils online help: <http://www.gnu.org/software/coreutils/>

Report mv translation bugs to <http://translationproject.org/team/>

COPYRIGHT

Copyright © 2016 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.

This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

rename(2)

Full documentation at: <http://www.gnu.org/software/coreutils/mv>

or available locally via: info aq(coreutils) mv invocationaq

NAME SYNOPSIS DESCRIPTION AUTHOR REPORTING BUGS COPYRIGHT SEE ALSO

This document was created by man2html using the manual pages.

Time: 16:33:39 GMT, September 14, 2024

CP

TOC Index

NAME

cp - copy files and directories

SYNOPSIS

cp [OPTION]... [-T] SOURCE DEST

cp [OPTION]... SOURCE... DIRECTORY

cp [OPTION]... -t DIRECTORY SOURCE...

DESCRIPTION

Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.

Mandatory arguments to long options are mandatory for short options too.

-a, --archive

same as -dpR

--backup[=CONTROL]

make a backup of each existing destination file

-b

like --backup but does not accept an argument

--copy-contents

copy contents of special files when recursive

-d

same as --no-dereference --preserve=link

--no-dereference

never follow symbolic links

-f, --force

if an existing destination file cannot be opened, remove it and try again

-i, --interactive

prompt before overwrite

-H

follow command-line symbolic links

-l, --link

link files instead of copying

-L, --dereference

always follow symbolic links

-p

same as --preserve=mode,ownership,timestamps

--preserve[=ATTR_LIST]

preserve the specified attributes (default: mode,ownership,timestamps), if possible additional attributes: links, all

--no-preserve=ATTR_LIST

don't preserve the specified attributes

--parents

append source path to DIRECTORY

-P

same as `--no-dereference'

-R, -r, --recursive

copy directories recursively

--remove-destination

remove each existing destination file before attempting to open it (contrast with --force)

--reply={yes,no,query}

specify how to handle the prompt about an existing destination file

--sparse=WHEN

control creation of sparse files

--strip-trailing-slashes remove any trailing slashes from each SOURCE

argument

-s, --symbolic-link

make symbolic links instead of copying

-S, --suffix=SUFFIX

override the usual backup suffix

-t, --target-directory=DIRECTORY

copy all SOURCE arguments into DIRECTORY

-T, --no-target-directory

treat DEST as a normal file

-u, --update

copy only when the SOURCE file is newer than the destination file or when the destination file is missing

-v, --verbose

explain what is being done

-x, --one-file-system

stay on this file system

--help

display this help and exit

--version

output version information and exit

By default, sparse SOURCE files are detected by a crude heuristic and the corresponding DEST file is made sparse as well. That is the behavior selected by --sparse=auto. Specify --sparse=always to create a sparse DEST file whenever the SOURCE file contains a long enough sequence of zero bytes. Use --sparse=never to inhibit creation of sparse files.

The backup suffix is `~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX. The version control method may be selected via the --backup option or through the VERSION_CONTROL environment variable. Here are the values:

none, off

never make backups (even if --backup is given)

numbered, t

make numbered backups

existing, nil

numbered if numbered backups exist, simple otherwise

simple, never

always make simple backups

As a special case, cp makes a backup of SOURCE when the force and backup options are given and SOURCE and DEST are the same name for an existing, regular file.

AUTHOR

Written by Torbjorn Granlund, David MacKenzie, and Jim Meyering.

REPORTING BUGS

Report bugs to <bug-coreutils@gnu.org>.

COPYRIGHT

Copyright © 2004 Free Software Foundation, Inc.

This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

SEE ALSO

The full documentation for cp is maintained as a Texinfo manual. If the info and cp programs are properly installed at your site, the command

info cp

should give you access to the complete manual.

NAME SYNOPSIS DESCRIPTION AUTHOR REPORTING BUGS COPYRIGHT SEE ALSO

This document was created by man2html using the manual pages.

Time: 16:33:31 GMT, September 14, 2024

lssp

TOC Index

NAME

lssp - list the files on a Sharepoint™ site

SYNOPSIS

lssp [ -h | -V ]

lssp [ -b ] [ -l | -a | -p | -lp ] -s site -f folder

AVAILABILITY

WA2L/WinTools

DESCRIPTION

With lssp you can list the files of a Microsoft Sharepoint™ site from command line.

The columns are separated by a tabluator character.

OPTIONS

-h

usage message

-V

print program version.

-b

encode returned filenames or URLs to be used as hyperlinks.

-l

long output.

This listing includes the modification date of the file and the filename.

-a

all output.

This listing includes the file size in bytes, the modification date of the and the filename.

-p

list files with full absolute path (URL).

-lp

combination of the options -l and -p.

Therefore the firsts column is the modification time and the 2nd column is the file name with full absolute path (URL).

-s site

Sharepoint™ site, as: https://sharepoint.acme.ch/workgroups/reporting

The site can also be specified in the %LSSP_SITE% environment variable. However, the command line option has preference over the setting in the environment variable.

-f folder

folder on the site, as: Shared Documents/Capacity/Storage/ or Freigegebene Dokumente/Kapazitaet/Speicher/ .

If the folder is terminated by a / (=slash) all files in the folder are listed.

If the folder does not terminate by a / (=slash) the part from the last slash to the end of the specification is a regular expression that allows selecting specific file(s).

The folder can also be specified in the %LSSP_FOLDER% environment variable. However, the command line option has preference over the setting in the environment variable.

See also EXAMPLES section below.

ENVIRONMENT

%LSSP_SITE%

if this environment variable is set, the site must not be specified thru the -s site command line option.

%LSSP_FOLDER%

if this environment variable is set, the folder must not be specified thru the -f folder command line option.

EXIT STATUS

0

no error.

4

usage displayed.

5

version printed.

FILES

-

EXAMPLES

1) list all files in the folder

List all files in the folder Shared Documents/Report/Capacity Data/ on the http://share.acme.ch/workgroups/wg007 Sharepoint™ site:

lssp -s http://share.acme.ch/workgroups/wg007 ^

-f "Shared Documents/Report/Capacity Data/"

2) list only files with July and August 2019 in the filename

Select only the files that have 07.2019 and 08.2019 in the file name:

lssp -s http://share.acme.ch/workgroups/wg007 ^

-f "Shared Documents/Report/Capacity Data/.*0[7-8].2019"

3) list modification date of files

List files with the file modification time as first column and sort it ascending:

lssp -l ^

-s http://share.acme.ch/workgroups/wg007 ^

-f "Shared Documents/Report/Capacity Data/" ^

| sort

4) list full path (URL) of last uploaded file

List full path (the full URL) of the files with the file modification time as first column, sort it ascending and output only the last (=the newest) file:

lssp -lp ^

-s http://share.acme.ch/workgroups/wg007 ^

-f "Shared Documents/Report/Capacity Data/" ^

| sort | tail -1

5) download last uploaded file

List files with the file modification time as first column, sort it ascending, output only the last file and use the 2nd column (the full URL of the file) to download the source file and save it locally as newest.xlsx file:

lssp -lp ^

-s http://share.acme.ch/workgroups/wg007 ^

-f "Shared Documents/Report/Capacity Data/" ^

| sort | tail -1 | cut -f2 ^

| DownloadFile -s - -d newest.xlsx

6) download last uploaded file and preserve source filename

As example 5) but preserve source file name when downloading.

The downloaded source file will be saved in the directory downloads (which must exist):

mkdir downloads

lssp -lp ^

-s http://share.acme.ch/workgroups/wg007 ^

-f "Shared Documents/Report/Capacity Data/" ^

| sort | tail -1 | cut -f2 ^

| DownloadFile -s - -d downloads

7) download last uploaded file and save file with a timestamp prefix

As example 5) but save source file with a timestamp prefix.

The timedat command is used to set a list of time and date related environment variables that can be used in scripts (batch files):

@echo off

setlocal enabledelayedexpansion

for /f "tokens=*" %%r in ('!WA2L_INSTALLDIR!\lib\timedat.exe') do %%r

mkdir downloads 2>nul

lssp -lp ^

-s http://share.acme.ch/workgroups/wg007 ^

-f "Shared Documents/Report/Capacity Data/" ^

| sort | tail -1 | cut -f2 ^

| DownloadFile -s - -d downloads\!Now!-Capacity-Report.xlsx

endlocal

SEE ALSO

wintoolsintro(1), lscomp(1), lscomp(1), llcomp(1), catcomp(1), console(1m), cut(1), downloadfile(1), tail(1), wtshell(1m)

BUGS

-

AUTHOR

lssp was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:18 GMT, September 14, 2024

cut

TOC Index

NAME

cut - remove sections from each line of files

SYNOPSIS

cut ,OPTION/... [,FILE/]...

DESCRIPTION

Print selected parts of lines from each FILE to standard output.

With no FILE, or when FILE is -, read standard input.

Mandatory arguments to long options are mandatory for short options too.

-b, --bytes=,LIST/

select only these bytes

-c, --characters=,LIST/

select only these characters

-d, --delimiter=,DELIM/

use DELIM instead of TAB for field delimiter

-f, --fields=,LIST/

select only these fields; also print any line that contains no delimiter character, unless the -s option is specified

-n

(ignored)

--complement

complement the set of selected bytes, characters or fields

-s, --only-delimited

do not print lines not containing delimiters

--output-delimiter=,STRING/

use STRING as the output delimiter the default is to use the input delimiter

-z, --zero-terminated

line delimiter is NUL, not newline

--help

display this help and exit

--version

output version information and exit

Use one, and only one of -b, -c or -f. Each LIST is made up of one range, or many ranges separated by commas. Selected input is written in the same order that it is read, and is written exactly once. Each range is one of:

N

N'th byte, character or field, counted from 1

N-

from N'th byte, character or field, to end of line

N-M

from N'th to M'th (included) byte, character or field

-M

from first to M'th (included) byte, character or field

AUTHOR

Written by David M. Ihnat, David MacKenzie, and Jim Meyering.

REPORTING BUGS

GNU coreutils online help: <http://www.gnu.org/software/coreutils/>

Report cut translation bugs to <http://translationproject.org/team/>

COPYRIGHT

Copyright © 2016 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.

This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

Full documentation at: <http://www.gnu.org/software/coreutils/cut>

or available locally via: info aq(coreutils) cut invocationaq

NAME SYNOPSIS DESCRIPTION AUTHOR REPORTING BUGS COPYRIGHT SEE ALSO

This document was created by man2html using the manual pages.

Time: 16:33:31 GMT, September 14, 2024

DownloadFile

TOC Index

NAME

DownloadFile - download file(s) from http(s) URL

SYNOPSIS

DownloadFile [ -h | -V ]

DownloadFile -s URL -d filename [ -r retries[,interval] ][ -b ]

DownloadFile -s URL -d filename [ -r retries[,interval] ] -l [ -t timeout | minimum-maximum ][ -z timezone ][ -n ][ -i ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

DownloadFile is a command line utility to download a file addressed in a web URL to local file(s).

One time file download

DownloadFile -s URL -d filename [ -r retries[,interval] ][ -b ]

This is used to download the specified file once and terminate.

Repetitive file download

DownloadFile -s URL -d filename [ -r retries[,interval] ] -l [ -t timeout | minimum-maximum ][ -z timezone ][ -n ][ -i ]

When using the -l option (=loop download) the file addressed in the web URL is downloaded repetitively and saved to a local file with a time stamp added to the file name. The downloaded file is only kept if it is different to the previously downloaded file.

This mode can be used for instance to download a webcam image and keep all files to create a time lapse view of the downloaded image files.

The time stamp that is added to the file name has the format YYYYMMDDhhmmss. It might make sense that the time stamp is equal to the time where the web cam is located. To do so, set the time zone of the origin using the -z option or set the TZ=timezone environment variable.

The command shows a wait output indicating a countdown to the next download attempt. When pressing any key during this output the waiting is aborted and an immediate download attempt is performed.

OPTIONS

-h

usage message.

-V

print program version.

-s URL

source URL.

If - is specified as file name, the URL is read from stdin (standard input).

-d filename

destination file name.

-b

add a 'cachebreaker' (e.g.: http://acme.ch/webcam.jpg?1534528554) to the URL to force a fresh download of the file from the server independent of caching proxies in between.

-r retries

number of retries on failed file download.

-r retries,interval

number of retries on failed file download and interval between retries in seconds. The default number of retires is 0 and the minimum retry interval is 4 seconds.

-l

indefinitely repeat the download (=loop download) and save the downloaded file with a time stamp added to the file name. The downloading can be stopped pressing the Ctrl+C keys.

-t timeout

fix interval in seconds between downloads. Default is 60 seconds.

-t minimum-maximum

dynamic interval between a minimum and a maximum in seconds between downloads. The interval is dynamically adjusted between the minimum and the maximum interval.

-z timezone

Timezone of the time stamp in POSIX notification:

Take care in computing the sign of the time difference. Because the time difference is the offset from local time to UTC (rather than the reverse), its sign may be the opposite of what you might intuitively expect. For time zones ahead of UTC, the time difference is negative; for those behind UTC, the difference is positive [1].

Examples:

-z UTC      England/London (Greenwich Mean Time)

-z UTC+8    USA/Santa Barbara

-z UTC+5    Peru/Lima

-z UTC-1    Switzerland/Beringen

-z UTC-2    Switzerland/Beringen (Daylight Saving Time)

-z UTC-10   Australia/Sydney

See: https://www.timeanddate.com/time/map/ for a world map of time zones.

-n

start the looped download (-l) in non-interactive mode to wit the question "start download <yn>:" is automatically answered with y.

-i

create a shortcut on the Desktop with the selected -l options for later re-run of the command.

ENVIRONMENT

TZ=timezone

time zone as in the -z timezone command line option.

EXIT STATUS

0

no error.

1

download failed (when a single file was downloaded).

4

usage message displayed.

5

version printed.

FILES

-

EXAMPLES

-

SEE ALSO

wintoolsintro(1), wtshell(1m), https://www.timeanddate.com/time/map/, https://msdn.microsoft.com/en-us/library/90s5c885.aspx

NOTES

The DownloadFile command uses the Windows™ API to download files.

Therefore, if you are able to download a file using the Internet Explorer, the DownloadFile command is also able to download it.

Bibliography:

[1]

Alphabetical Function Reference, _tzset, 17.08.2018, Microsoft™, URL: https://msdn.microsoft.com/en-us/library/90s5c885.aspx

BUGS

DownloadFile does not handle redirects for a given URL.

AUTHOR

DownloadFile was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION One time file download Repetitive file download OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:01 GMT, September 14, 2024

TAIL

TOC Index

NAME

tail - output the last part of files

SYNOPSIS

tail [OPTION]... [FILE]...

DESCRIPTION

Print the last 10 lines of each FILE to standard output. With more than one FILE, precede each with a header giving the file name. With no FILE, or when FILE is -, read standard input.

Mandatory arguments to long options are mandatory for short options too.

-c, --bytes=K

output the last K bytes; alternatively, use +K to output bytes starting with the Kth of each file

-f, --follow[={name|descriptor}]

output appended data as the file grows; -f, --follow, and --follow=descriptor are equivalent

-F

same as --follow=name --retry

-n, --lines=K

output the last K lines, instead of the last 10; or use +K to output lines starting with the Kth

--max-unchanged-stats=N

with --follow=name, reopen a FILE which has not changed size after N (default 5) iterations to see if it has been unlinked or renamed (this is the usual case of rotated log files)

--pid=PID

with -f, terminate after process ID, PID dies

-q, --quiet, --silent

never output headers giving file names

--retry

keep trying to open a file even when it is or becomes inaccessible; useful when following by name, i.e., with --follow=name

-s, --sleep-interval=N

with -f, sleep for approximately N seconds (default 1.0) between iterations

-v, --verbose

always output headers giving file names

--help

display this help and exit

--version

output version information and exit

If the first character of K (the number of bytes or lines) is a `+', print beginning with the Kth item from the start of each file, otherwise, print the last K items in the file. K may have a multiplier suffix: b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.

With --follow (-f), tail defaults to following the file descriptor, which means that even if a tail'ed file is renamed, tail will continue to track its end. This default behavior is not desirable when you really want to track the actual name of the file, not the file descriptor (e.g., log rotation). Use --follow=name in that case. That causes tail to track the named file by reopening it periodically to see if it has been removed and recreated by some other program.

AUTHOR

Written by Paul Rubin, David MacKenzie, Ian Lance Taylor, and Jim Meyering.

REPORTING BUGS

Report tail bugs to bug-coreutils@gnu.org

GNU coreutils home page: <http://www.gnu.org/software/coreutils/>

General help using GNU software: <http://www.gnu.org/gethelp/>

Report tail translation bugs to <http://translationproject.org/team/>

COPYRIGHT

Copyright © 2009 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.

This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

The full documentation for tail is maintained as a Texinfo manual. If the info and tail programs are properly installed at your site, the command

info coreutils aqtail invocationaq

should give you access to the complete manual.

NAME SYNOPSIS DESCRIPTION AUTHOR REPORTING BUGS COPYRIGHT SEE ALSO

This document was created by man2html using the manual pages.

Time: 16:33:46 GMT, September 14, 2024

metadata.template

TOC Index

NAME

metadata.template - meta data template file customization for metadata

SYNOPSIS

WA2LWinTools/lib/metadata.default.meta

WA2LWinTools/etc/metadata.suffix.meta

WA2LWinTools/etc/metadata.default.meta

AVAILABILITY

WA2L/WinTools

DESCRIPTION

This template file(s) are used to define the format of the meta data file path/filename.suffix.meta which is presented by the metadata command.

FILEFORMAT

You are free how to define the contents of the metadata template. However you should keep the format:

Field Name     : @FIELD NAME@

to allow further processing of the file. Number of spaces between the Field Name, the colon (:) and the field data place holder @NAME@ can be changed.

The [GENERAL] section title should not be removed to allow further processing of the file. The fields within the section can be changed.

You should not change the [IDENTIFICATION] section (except for the number of spaces between the fields and the separating colon) to allow the metadata command to properly identify the file in future releases of the WA2L/WinTools package.

The section order is not important, but the sections must start in the leftmost column. Additional sections can be defined as needed.

[GENERAL]

Ref                             : [@BIBTEX BIBTEXKEY@]

Type                            : Article

Category                        : @BIBTEX CATEGORY@

Title                           : @TITLE@

Subtitle                        : @SUBTITLE@

Publisher                       : @COMPANY@

Author                          : @AUTHOR@

Date                            : @DATE@

Version                         : @VERSION@

State                           : @STATE@

ID                              : @DOC-ID@

ISBN                            : @ISBN@

ISSN                            : @ISSN@

DOI                             : @DOI@

Number                          : @NUMBER@

Part Number                     : @PART NUMBER@

File                            : @_FILE@

Pages                           : @_PAGES@

Source                          : @SOURCE@

Keywords                        : @KEYWORDS@

Abstract                        : @SUBJECT@

[IDENTIFICATION]

Checksum                        : @_CHECKSUM@

Filename                        : @_FILENAME@

Metadata Timestamp              : @_TIMESTAMP@

[RAWMETADATA]

@_ALL@

You don't have to define all fields you can think about that could be useful in any situation in a template file, you can add a specific field also simply when you are entering the meta data for a certain document.

OPTIONS

@NAME@

meta field name as resolved from file. The NAME has to be specified in upper case always, also when the meta data field contains upper/lower case.

The available field names can be seen in the [RAWMETADATA] section when using the metadata command and using the built in default template from lib/metadata.default.meta.

@_GUID@

a GUID number.

@_PAGES@

number of pages from fields Pages, Page Count or Slides. Prefer this option over the Pages/Page Count/Slides fields to always get a page number independent of the FASTPDFRESOLUTION=... setting in the metadata.cfg file and the file type.

@_FILENAME@

file name including path.

@_FILE@

file name without path.

@_DIRECTORY@

directory (path) of the file name.

@_SUFFIX@

suffix of the file.

@_CHECKSUM@

file checksum.

@_TIMESTAMP@

time stamp of meta data file creation.

@_ALL@

all resolved meta data of file specified as metadata command option. The meta data contained in a file is highly dependent on the file type and the software that created the file.

FILES

lib/metadata.default.meta

built in default template for all file types (=file suffixes) for which no specific metadata.suffix.meta exists.

Do not change this file, it will be overwritten when upgrading the WA2L/WinTools package, create your own metadata.default.meta file in the etc/ directory.

etc/metadata.default.meta

default template for all file types (=file suffixes) for which no specific metadata.suffix.meta exists.

etc/metadata.suffix.meta

file type (=file suffix) specific template.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), bib2xml.xml(4), metadata(1), metadata.cfg(4)

NOTES

-

BUGS

-

AUTHOR

metadata.template was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LSimpleBackup/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION FILEFORMAT OPTIONS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:24 GMT, September 14, 2024

bib2xml.xml

TOC Index

NAME

bib2xml.xml - meta data template for MS-Word bibliography xml export

SYNOPSIS

WA2LWinTools/lib/bib2xml.Type.xml

WA2LWinTools/lib/bib2xml.default.xml

WA2LWinTools/etc/bib2xml.Type.xml

WA2LWinTools/etc/bib2xml.default.xml

AVAILABILITY

WA2L/WinTools

DESCRIPTION

This template file(s) are used to define the format of the MS-Word bibliography xml file export written to the var/db/metadata/metadata-<DB-VERSION>.xml file using the metadata -e command.

FILEFORMAT

For more information about the file format that can be loaded as bibliography (references) to 'Microsoft Word™' see: https://msdn.microsoft.com/de-ch/library/office/ff838340.aspx.

The metadata -e command processes the .bib file to generate the .xml file.

In theory you could convert other BibTeX files to .xml, too using the lib/bib2xml command which is used by the metadata -e command internally.

This is the example (bib2xml.default.xml) for a default MS-Word™ xml specification:

<b:Source>

<b:Tag>@_COUNTER@_@REF@</b:Tag>

<b:SourceType>JournalArticle</b:SourceType>

<b:Guid>@GUID@</b:Guid>

<b:LCID>@_LCID@</b:LCID>

<b:Author>

<b:Author>

<b:NameList>

<b:Person>

<b:Last>@AUTHOR@</b:Last>

<b:First></b:First>

</b:Person>

</b:NameList>

</b:Author>

</b:Author>

<b:Title>@TITLE@</b:Title>

<b:Year>@YEAR@</b:Year>

<b:Month>@MONTH@</b:Month>

<b:City>@CITY@</b:City>

<b:Comments>@NOTE@</b:Comments>

<b:Volume>@VOLUME@</b:Volume>

<b:Edition>@EDITION@</b:Edition>

<b:Publisher>@PUBLISHER@</b:Publisher>

<b:BookTitle>@BOOKTITLE@</b:BookTitle>

<b:ChapterNumber>@CHAPTER@</b:ChapterNumber>

<b:Issue>@ISSUE@</b:Issue>

<b:Department>@SCHOOL@</b:Department>

<b:Institution>@INSTITUTION@</b:Institution>

<b:DOI>@DOI@</b:DOI>

<b:url>@URL@</b:url>

<b:ShortTitle>@SHORTTITLE@</b:ShortTitle>

<b:Pages>@PAGES@</b:Pages>

<b:Editors>@EDITORS@</b:Editors>

<b:NumberVolumes>@VOLUMES@</b:NumberVolumes>

<b:ConferenceName>@BOOKTITLE@</b:ConferenceName>

<b:JournalName>@JOURNAL@</b:JournalName>

<b:issue>@ISSUE@</b:issue>

<b:StandardNumber>@ISBN@@ISSN@@LCCN@@MRNUMBER@</b:StandardNumber>

<b:City>@ADDRESS@</b:City>

</b:Source>

OPTIONS

@NAME@

meta field name as resolved from the .bib file. The NAME has to be specified in upper case always, also when the BibTeX data field contains upper/lower case.

@_COUNTER@

4-digit record counter.

@_LCID@

Microsoft™ language-id derived from the Language field.

FILES

lib/bib2xml.Type.xml

built in default template for document type.

Do not change this file(s), they will be overwritten when upgrading the WA2L/WinTools package, create your own bib2xml.default.xml file in the etc/ directory.

lib/bib2xml.default.xml

built in default template for all document types for which no specific bib2xml.Type.xml template exists.

Do not change this file, it will be overwritten when upgrading the WA2L/WinTools package, create your own bib2xml.default.xml file in the etc/ directory.

etc/bib2xml.Type.xml

customized document type specific template.

etc/bib2xml.default.xml

customized default template for all document types for which no specific bib2xml.Type.xml exists.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), bib2xml(3), metadata(1), metadata.bib(4), metadata.template(4), metadata.cfg(4), https://msdn.microsoft.com/de-ch/library/office/ff838340.aspx, http://help.jabref.org/en/MsOfficeBibFieldMapping, https://en.wikipedia.org/wiki/BibTeX

NOTES

-

BUGS

-

AUTHOR

bib2xml.xml was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LSimpleBackup/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION FILEFORMAT OPTIONS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:31:47 GMT, September 14, 2024

bib2xml

TOC Index

NAME

bib2xml - convert BibTeX files to Microsoft™ Word bibliography XML file

SYNOPSIS

WA2LWinTools/lib/bib2xml [ -h | -V ]

bib2xml [ -d templatedir ] < infile.bib [ > outfile.xml ]

type infile.bib | bib2xml [ -d templatedir ][ > outfile.xml ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

convert one or more BibTeX *.bib file(s) to 'Microsoft™ Word' Source.xml file.

OPTIONS

-h

usage message.

-V

print program version.

-d templatedir

directory of bib2xml.Type.xml files if different from the default location etc/. See bib2xml.xml(4) for more information.

infile.bib

BibTeX input file.

The BiBTex file must be structured as follows, where the field names can be different from this example:

@article{AWKQuickRef,

author        = {Vincent Ledos},

title         = {awk Quick Ref},

journal       = {},

year          = {2010},

volume        = {1.0},

number        = {},

pages         = {1},

month         = {02},

note          = {},

abstract      = {Quick reference of AWK usage, command, operators and variables},

date          = {02.2010},

language      = {en},

guid          = {68e56715-3041-444c-89b5-82d76d1e829f},

}

This is the structure as maintained by JabRef or the *.bib export of metadata(1).

outfile.xml

this is the XML output file to be used as bibliography file (Source.xml) in 'Microsoft™ Word'. To view the XML structure of the bibliography file, see bib2xml.xml(4).

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage message displayed.

5

program version printed.

FILES

lib/bib2xml.Type.xml

built in default template for document type.

Do not change this file(s), they will be overwritten when upgrading the WA2L/WinTools package, create your own bib2xml.default.xml file in the etc/ directory.

lib/bib2xml.default.xml

built in default template for all document types for which no specific bib2xml.Type.xml template exists.

Do not change this file, it will be overwritten when upgrading the WA2L/WinTools package, create your own bib2xml.default.xml file in the etc/ directory.

etc/bib2xml.Type.xml

customized document type specific template.

etc/bib2xml.default.xml

customized default template for all document types for which no specific bib2xml.Type.xml exists.

lib/bib2xml.lang

built in language id map file to translate language names or ISO_639-2 and ISO_639-1 language shortcuts to 'Microsoft™ Word' language ids that can be used thru the @_LCID@ field in the bib2xml.Type.xml templates.

Do not change this file, it will be overwritten when upgrading the WA2L/WinTools package, create your own bib2xml.lang file in the etc/ directory.

etc/bib2xml.lang

additional language id mappings to the lib/bib2xml.lang language mapping file. The mappings in this file have preference over the mappings in the lib/bib2xml.lang file.

Example of an etc/bib2xml.lang file:

;ISO_639-2;ISO_639-1;LANGUAGE;LCID;

;;de-CH;German (Switzerland);2055;

;;en-US;English (U.S.);1033;

EXAMPLES

-

SEE ALSO

wintoolsintro(1), bib2xml.xml(4), metadata(1)

NOTES

-

BUGS

bib2xml is tested against the BibTeX structure as documented in the OPTIONS section only.

AUTHOR

bib2xml was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:31:46 GMT, September 14, 2024

metadata.bib

TOC Index

NAME

metadata.bib - meta data template for BibTeX export

SYNOPSIS

WA2LWinTools/lib/metadata.Type.bib

WA2LWinTools/lib/metadata.default.bib

WA2LWinTools/etc/metadata.Type.bib

WA2LWinTools/etc/metadata.default.bib

AVAILABILITY

WA2L/WinTools

DESCRIPTION

This template file(s) are used to define the format of the BibTex file export written to the var/db/metadata/metadata-<DB-VERSION>.bib file using the metadata -e command.

FILEFORMAT

You are free how to define the contents of the BibTeX templates. However you should comply to the BibTex standard.

The metadata -e command processes the [GENERAL] section of the meta file and all fields present in that section can be used.

This is the example (metadata.book.bib) for a book BibTeX specification:

@book{@_REF@,

author        = {@AUTHOR@},

title         = {@TITLE@@_SUBTITLE@},

publisher     = {@PUBLISHER@},

year          = {@_YEAR@},

volume        = {@VERSION@},

series        = {@SERIES@},

address       = {@ADDRESS@},

edition       = {@EDITION@},

month         = {@_MONTH@},

note          = {@NOTE@},

isbn          = {@ISBN@},

abstract      = {@ABSTRACT@},

date          = {@DATE@},

language      = {@LANGUAGE@},

guid          = {@IDENTIFICATION:GUID@},

}

OPTIONS

@NAME@

meta field name as resolved from the meta files in the meta data repository "database". The NAME has to be specified in upper case always, also when the meta data field contains upper/lower case.

The available field names can be seen in the [GENERAL] section when using the metadata command.

@_REF@

reference number as present in the Ref field, but without the special characters ([]).

@_SUBTITLE@

when the Subtitle field is not empty this placeholder expands to:, Subtitle text

@_YEAR@

release year resolved from the Date field.

@_MONTH@

release month resolved from the Date field.

DOCUMENT-TYPES (ENTRY TYPES)

A BibTeX database can contain the following types of entries.

All other documentation-types are defaulted to the misc documentation-type.

TYPE

DESCRIPTION

REQUIRED

OPTIONAL

ADDITIONAL

article

An article

author

number

abstract

from a journal

title

pages

date

or magazine

journal

month

guid

year

note

language

volume

book

A book with

author

volume

abstract

an explicit

title

series

date

publisher

publisher

address

isbn

year

edition

guid

month

language

note

booklet

A work that is

title

author

abstract

printed and

howpublished

date

bound but

address

guid

without a named

month

language

publisher or

year

sponsoring

note

institution

inbook

A part of a

author

volume

abstract

book, usually

title

series

date

untitled. May

chapter

type

guid

be a chapter

publisher

address

language

(or section,

year

edition

etc.) and/or a

month

range of pages

note

TYPE

DESCRIPTION

REQUIRED

OPTIONAL

ADDITIONAL

incollection

A part of a

author

editor

abstract

book having its

title

volume

date

own title

booktitle

series

guid

publisher

type

language

year

chapter

pages

address

edition

month

note

inproceedings

An article in

author

editor

abstract

a conference

title

volume

date

proceedings

booktitle

series

guid

year

pages

language

address

month

organization

publisher

note

manual

Technical

title

author

abstract

documentation

organization

date

address

guid

edition

language

month

year

note

mastersthesis

A Masters

author

type

abstract

thesis.

title

address

date

school

month

guid

year

note

language

misc

For use when

author

abstract

nothing else

title

date

fits

howpublished

guid

month

language

year

note

phdthesis

A PH.D. thesis

author

type

abstract

title

address

date

school

month

guid

year

note

language

proceedings

The proceedings

title

editor

abstract

of a conference

year

volume

date

series

guid

address

language

month

publisher

organization

note

TYPE

DESCRIPTION

REQUIRED

OPTIONAL

ADDITIONAL

techreport

A report

author

type

abstract

published by a

title

number

date

school or other

institution

address

guid

institution,

year

month

language

usually

note

numbered within

a series

unpublished

A document

author

month

abstract

having an

title

year

date

author an

note

guid

title but not

language

formally

puplished

FILES

lib/metadata.Type.bib

built in default template for document type (=Type field in [GENERAL] section).

Do not change this file(s), they will be overwritten when upgrading the WA2L/WinTools package, create your own metadata.default.bib file in the etc/ directory.

lib/metadata.default.bib

built in default template for all document types (=Type field in [GENERAL] section) for which no specific metadata.Type.bib template exists.

Do not change this file, it will be overwritten when upgrading the WA2L/WinTools package, create your own metadata.default.bib file in the etc/ directory.

etc/metadata.Type.bib

customized document type (=Type field in [GENERAL] section) specific template.

etc/metadata.default.bib

customized default template for all document types (=Type field in [GENERAL] section) for which no specific metadata.Type.bib exists.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), bib2xml.xml(4), metadata(1), metadata.template(4), metadata.cfg(4), https://en.wikipedia.org/wiki/BibTeX, https://de.wikipedia.org/wiki/BibTeX

NOTES

The description in the DOCUMENT-TYPES (ENTRY TYPES) section is based on the wikipedia article: BiBTeX, 16.07.2016, URL: https://en.wikipedia.org/wiki/BibTeX.

BUGS

-

AUTHOR

metadata.bib was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LSimpleBackup/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION FILEFORMAT OPTIONS DOCUMENT-TYPES (ENTRY TYPES) FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:23 GMT, September 14, 2024

DirInfo

TOC Index

NAME

DirInfo - add/edit/view directory information file(s)

SYNOPSIS

WA2LWinTools/bin/dirinfo [ -h | -i | -u | -V ]

dirinfo directory...

AVAILABILITY

WA2L/WinTools

DESCRIPTION

edit a directory information file which can be used to describe the contents of a directory more specific than it is possible by only setting the directory name.

To create or edit a directory info file mark one or more directories, and use the DirInfo menu in the 'SendTo' menu of the Windows™ Explorer. The DirInfo command then provides a template to be filled out or loads an existing info file present in the directory.

By default the directory information file is visible. The default can be changed in the DirInfo.cfg file.

If a specific directory information file should be hidden, press the LEFT CONTROL key on command start.

If a specific directory information file should be visible, press the RIGHT CONTROL key on command start.

When a directory that contains a directory info file is compressed to a *.zip file, the directory information can be viewed as when viewing the information of a directory (mark *.zip file and use DirInfo in the 'SendTo' context menu of Windows™ Explorer) without to decompress the *.zip archive.

OPTIONS

-h

usage message.

-i

install the DirInfo command as menu point 'DirInfo' to the 'Send To' context menu in 'Windows Explorer'.

-u

uninstall the DirInfo shortcut from the 'Send To' context menu in 'Windows Explorer'.

-V

print program version.

directory...

list of directories or (compressed) archives of directories to edit/add/view the directory information file(s).

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage message displayed.

5

program version printed.

FILES

etc/DirInfo.username.cfg

etc/DirInfo.hostname.cfg

etc/DirInfo.domainname.cfg

etc/DirInfo.cfg

optional configuration file for DirInfo.

lib/_DIRINFO.txt

default directory information file template.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), config(1m), dirinfo.cfg(4), metadata(1)

NOTES

-

BUGS

-

AUTHOR

DirInfo was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2021 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:00 GMT, September 14, 2024

dirinfo.cfg

TOC Index

NAME

dirinfo.cfg - configuration file for dirinfo

SYNOPSIS

WA2LWinTools/etc/dirinfo.cfg

AVAILABILITY

WA2L/WinTools

DESCRIPTION

This is the optional configuration file for the dirinfo command.

FILEFORMAT

Rows starting with # are considered as comments.

The file format is OPTION=VALUE

Between the OPTION , the = and the VALUE are no spaces.

You can comment out any OPTION or completely remove the related setting line to use the default settings.

OPTIONS

INFOFILE

name of the directory info file that is/will be saved in the directory to add the information.

When a space separated list of files is provided the first existing file is displayed/edited.

When no file in the list exists the last file will be the one that is saved.

Example: INFOFILE=_PROJECTFILE.txt _DIRINFO.txt

Example: INFOFILE=_PROJECTFILE.txt

Default: INFOFILE=_DIRINFO.txt

TEMPLATE

template to be provided when no directory info file exist in the related directory.

The own TEMPLATE should be saved in the etc/ directory which has preference over the lib/ directory.

As an example or starting point the default file _DIRINFO.txt that is located in the lib/ directory can be used. Do not edit the lib/_DIRINFO.txt file, it will be overwritten on upgrades of the WA2L/WinTools package.

Example: TEMPLATE=DIRINFO-ACME.txt

Default: TEMPLATE=_DIRINFO.txt

HIDDEN

to hide the INFOFILE set this setting to True.

Example: HIDDEN=True

Default: HIDDEN=False

EXAMPLES

1) Simple example configuration file

#

# WA2LWinTools/etc/dirinfo.cfg - Configuration file for dirinfo

#

# [00] 27.09.2018 CWa   Initial Version

#

INFOFILE=_PROJECTFILE.txt

HIDDEN=True

SEE ALSO

wintoolsintro(1), dirinfo(1)

NOTES

-

BUGS

-

AUTHOR

dirinfo.cfg was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION FILEFORMAT OPTIONS EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:00 GMT, September 14, 2024

sqlite

TOC Index

NAME

sqlite3 - command-line access program for SQLite databases

SYNOPSIS

WA2LWinTools/lib/sqlite3 [ -help | -version ]

sqlite3 [ -init filename ] [ -echo ] [ -[no]header ] [ -bail ] [ -interactive ] [ -batch ] [ -column ] [ -csv ] [ -html ] [ -line ] [ -list ] [ -separator aqxaq ] [ -nullvalue aqtextaq ] [ FILENAME [ SQL ] ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

SQLite is a software library that implements a self-contained, server-less, zero-configuration, transactional SQL database engine.

SQLite is the most widely deployed SQL database engine in the world. It is used in countless desktop computer applications as well as consumer electronic devices including cellphones, PDAs, and MP3 players. The source code for SQLite is in the public domain.

The SQLite library includes a simple command-line utility named sqlite3 that allows the user to manually enter and execute SQL commands against an SQLite database.

This man page provides a brief introduction to the options of sqlite3 and provides the link to the HTML documentation.

OPTIONS

-help

usage message.

-echo

print commands before execution.

-[no]header

turn headers on or off.

-bail

stop after hitting an error.

-interactive

force interactive I/O.

-batch

force batch I/O.

-column

set output mode to aqcolumnaq .

-csv

set output mode to aqcsvaq .

-html

set output mode to aqHTMLaq .

-init filename

read/process commands from the filename .

-line

set output mode to aqlineaq .

-list

set output mode to aqlistaq .

-separator aqxaq

set output field separator (|).

-nullvalue aqtextaq

set text string for NULL values.

-version

show SQLite version.

FILENAME

database file name.

SQL

SQL statements.

ENVIRONMENT

See HTML SQLite documentation in http://www.sqlite.org/docs.html .

EXIT STATUS

See HTML SQLite documentation in http://www.sqlite.org/docs.html .

FILES

See HTML SQLite documentation in http://www.sqlite.org/docs.html .

var/db/sqlite/

directory for SQLite databases.

EXAMPLES

See HTML SQLite documentation in http://www.sqlite.org/docs.html .

SEE ALSO

wintoolsintro(1), sqlite-gui(1), http://www.sqlite.org, http://www.sqlite.org/docs.html

NOTES

Parts of this manual page were extracted from the sqlite3 HTML documentation distributed with the SQLite version 3.6.3, written by "The SQLite Development Team" led by D. Richard Hipp, Dan Kennedy and Shane Harrelson.

BUGS

-

AUTHOR

sqlite3 was developed by D. Richard Hipp, Dan Kennedy and Shane Harrelson and integrated into WA2L/WinTools by Christian Walther. Send suggestions and bug reports related to the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2017 Christian Walther

This is free software; see edrc/doc/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:33:02 GMT, September 14, 2024

SQLite-GUI

TOC Index

NAME

SQLite-GUI - SQLite database editor

SYNOPSIS

WA2LWinTools/bin/SQLite-GUI [ -h | -i | -u | -V ]

SQLite-GUI [ options ]

SQLite-GUI D:/databases/bookstore.sqlite

SQLite-GUI D:/databases/bookstore.sqlite import-csv "D:/data/my file.csv" my_table > import-result.txt

SQLite-GUI D:/databases/bookstore.sqlite export-csv D:/export/books.csv "select * from books" > export-result.txt

AVAILABILITY

WA2L/WinTools

DESCRIPTION

SQLite-GUI is a lightweight Windows™ GUI for SQLite powered by C++/mingw and WinAPI.

Small, simple, powerful, fast, free.

For more information about SQLite-GUI see: https://github.com/little-brother/sqlite-gui/wiki

For SQL syntax understood by SQLite, see: https://sqlite.org/lang.html

Key Features:

-

Syntax highlighting and code completion

-

Edit multiple tables at the same time

-

Colorized data grid

-

Store an execution history and user scripts

-

Export/Import data

-

Database diagram

-

Database comparison

-

Search text in the whole database

-

Quick data references

-

Terminal mode

-

Charts

-

Query parameters

-

Query shortcuts

-

Custom functions

-

Jinja scripting (experimental)

-

Data generator

-

Extension pack

-

Built-in REST API web server

-

Demo database "Bookstore" for beginners

OPTIONS

-h

usage message.

-i

install the SQLite-GUI command to the 'SendTo' context menu in 'Windows Explorer'.

-u

uninstall the SQLite-GUI command from the 'SendTo' context menu in 'Windows Explorer'.

-V

print program version.

options

additional options.

See also: https://github.com/little-brother/sqlite-gui/wiki#command-line-arguments

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage message displayed.

5

version message displayed.

FILES

etc/SQLite-GUI.cfg

configuration file copy of the active prefs.sqlite file of SQLite-GUI.

var/db/sqlite/

directory for SQLite databases.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), config(1m), sqlite3(3), https://github.com/little-brother/sqlite-gui/, https://github.com/little-brother/sqlite-gui/wiki, https://sqlite.org/lang.html

NOTES

Parts of this manpage were extracted from the documentation of SQLite-GUI written by Little Brother <https://github.com/little-brother> and modified to fit to the WA2L/WinTools package. See: https://github.com/little-brother/sqlite-gui/ and https://github.com/little-brother/sqlite-gui/wiki for more information.

BUGS

-

AUTHOR

SQLite-GUI was developed by Little Brother <https://github.com/little-brother> and integrated into WA2L/WinTools by Christian Walther. Send suggestions and bug reports related to the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2022 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:33:02 GMT, September 14, 2024

less

TOC Index

NAME

less - opposite of more

SYNOPSIS

less -?

less --help

less -V

less --version

less [-[+]aABcCdeEfFgGiIJKLmMnNqQrRsSuUVwWX~]

[-b space/] [-h lines/] [-j line/] [-k keyfile/]

[-{oO} logfile/] [-p pattern/] [-P prompt/] [-t tag/]

[-T tagsfile/] [-x tab/,...] [-y lines/] [-[z] lines/]

[-# shift/] [+[+]cmd/] [--] [filename/]...

(See the OPTIONS section for alternate option syntax with long option names.)

DESCRIPTION

Less is a program similar to more (1), but it has many more features. Less does not have to read the entire input file before starting, so with large input files it starts up faster than text editors like vi (1). Less uses termcap (or terminfo on some systems), so it can run on a variety of terminals. There is even limited support for hardcopy terminals. (On a hardcopy terminal, lines which should be printed at the top of the screen are prefixed with a caret.)

Commands are based on both more and vi. Commands may be preceded by a decimal number, called N in the descriptions below. The number is used by some commands, as indicated.

COMMANDS

In the following descriptions, ^X means control-X. ESC stands for the ESCAPE key; for example ESC-v means the two character sequence "ESCAPE", then "v".

h or H

Help: display a summary of these commands. If you forget all the other commands, remember this one.

SPACE or ^V or f or ^F

Scroll forward N lines, default one window (see option -z below). If N is more than the screen size, only the final screenful is displayed. Warning: some systems use ^V as a special literalization character.

z

Like SPACE, but if N is specified, it becomes the new window size.

ESC-SPACE

Like SPACE, but scrolls a full screenful, even if it reaches end-of-file in the process.

ENTER or RETURN or ^N or e or ^E or j or ^J

Scroll forward N lines, default 1. The entire N lines are displayed, even if N is more than the screen size.

d or ^D

Scroll forward N lines, default one half of the screen size. If N is specified, it becomes the new default for subsequent d and u commands.

b or ^B or ESC-v

Scroll backward N lines, default one window (see option -z below). If N is more than the screen size, only the final screenful is displayed.

w

Like ESC-v, but if N is specified, it becomes the new window size.

y or ^Y or ^P or k or ^K

Scroll backward N lines, default 1. The entire N lines are displayed, even if N is more than the screen size. Warning: some systems use ^Y as a special job control character.

u or ^U

Scroll backward N lines, default one half of the screen size. If N is specified, it becomes the new default for subsequent d and u commands.

J

Like j, but continues to scroll beyond the end of the file.

K or Y

Like k, but continues to scroll beyond the beginning of the file.

ESC-) or RIGHTARROW

Scroll horizontally right N characters, default half the screen width (see the -# option). If a number N is specified, it becomes the default for future RIGHTARROW and LEFTARROW commands. While the text is scrolled, it acts as though the -S option (chop lines) were in effect.

ESC-( or LEFTARROW

Scroll horizontally left N characters, default half the screen width (see the -# option). If a number N is specified, it becomes the default for future RIGHTARROW and LEFTARROW commands.

r or ^R or ^L

Repaint the screen.

R

Repaint the screen, discarding any buffered input. Useful if the file is changing while it is being viewed.

F

Scroll forward, and keep trying to read when the end of file is reached. Normally this command would be used when already at the end of the file. It is a way to monitor the tail of a file which is growing while it is being viewed. (The behavior is similar to the "tail -f" command.)

ESC-F

Like F, but as soon as a line is found which matches the last search pattern, the terminal bell is rung and forward scrolling stops.

g or < or ESC-<

Go to line N in the file, default 1 (beginning of file). (Warning: this may be slow if N is large.)

G or > or ESC->

Go to line N in the file, default the end of the file. (Warning: this may be slow if N is large, or if N is not specified and standard input, rather than a file, is being read.)

ESC-G

Same as G, except if no number N is specified and the input is standard input, goes to the last line which is currently buffered.

p or %

Go to a position N percent into the file. N should be between 0 and 100, and may contain a decimal point.

P

Go to the line containing byte offset N in the file.

{

If a left curly bracket appears in the top line displayed on the screen, the { command will go to the matching right curly bracket. The matching right curly bracket is positioned on the bottom line of the screen. If there is more than one left curly bracket on the top line, a number N may be used to specify the N-th bracket on the line.

}

If a right curly bracket appears in the bottom line displayed on the screen, the } command will go to the matching left curly bracket. The matching left curly bracket is positioned on the top line of the screen. If there is more than one right curly bracket on the top line, a number N may be used to specify the N-th bracket on the line.

(

Like {, but applies to parentheses rather than curly brackets.

)

Like }, but applies to parentheses rather than curly brackets.

[

Like {, but applies to square brackets rather than curly brackets.

]

Like }, but applies to square brackets rather than curly brackets.

ESC-^F

Followed by two characters, acts like {, but uses the two characters as open and close brackets, respectively. For example, "ESC ^F < >" could be used to go forward to the > which matches the < in the top displayed line.

ESC-^B

Followed by two characters, acts like }, but uses the two characters as open and close brackets, respectively. For example, "ESC ^B < >" could be used to go backward to the < which matches the > in the bottom displayed line.

m

Followed by any lowercase letter, marks the current position with that letter.

'

(Single quote.) Followed by any lowercase letter, returns to the position which was previously marked with that letter. Followed by another single quote, returns to the position at which the last "large" movement command was executed. Followed by a ^ or $, jumps to the beginning or end of the file respectively. Marks are preserved when a new file is examined, so the ' command can be used to switch between input files.

^X^X

Same as single quote.

/pattern

Search forward in the file for the N-th line containing the pattern. N defaults to 1. The pattern is a regular expression, as recognized by the regular expression library supplied by your system. The search starts at the first line displayed (but see the -a and -j options, which change this).

Certain characters are special if entered at the beginning of the pattern; they modify the type of search rather than become part of the pattern:

^N or !

Search for lines which do NOT match the pattern.

^E or *

Search multiple files. That is, if the search reaches the END of the current file without finding a match, the search continues in the next file in the command line list.

^F or @

Begin the search at the first line of the FIRST file in the command line list, regardless of what is currently displayed on the screen or the settings of the -a or -j options.

^K

Highlight any text which matches the pattern on the current screen, but don't move to the first match (KEEP current position).

^R

Don't interpret regular expression metacharacters; that is, do a simple textual comparison.

?pattern

Search backward in the file for the N-th line containing the pattern. The search starts at the last line displayed (but see the -a and -j options, which change this).

Certain characters are special as in the / command:

^N or !

Search for lines which do NOT match the pattern.

^E or *

Search multiple files. That is, if the search reaches the beginning of the current file without finding a match, the search continues in the previous file in the command line list.

^F or @

Begin the search at the last line of the last file in the command line list, regardless of what is currently displayed on the screen or the settings of the -a or -j options.

^K

As in forward searches.

^R

As in forward searches.

ESC-/pattern

Same as "/*".

ESC-?pattern

Same as "?*".

n

Repeat previous search, for N-th line containing the last pattern. If the previous search was modified by ^N, the search is made for the N-th line NOT containing the pattern. If the previous search was modified by ^E, the search continues in the next (or previous) file if not satisfied in the current file. If the previous search was modified by ^R, the search is done without using regular expressions. There is no effect if the previous search was modified by ^F or ^K.

N

Repeat previous search, but in the reverse direction.

ESC-n

Repeat previous search, but crossing file boundaries. The effect is as if the previous search were modified by *.

ESC-N

Repeat previous search, but in the reverse direction and crossing file boundaries.

ESC-u

Undo search highlighting. Turn off highlighting of strings matching the current search pattern. If highlighting is already off because of a previous ESC-u command, turn highlighting back on. Any search command will also turn highlighting back on. (Highlighting can also be disabled by toggling the -G option; in that case search commands do not turn highlighting back on.)

&pattern

Display only lines which match the pattern; lines which do not match the pattern are not displayed. If pattern is empty (if you type & immediately followed by ENTER), any filtering is turned off, and all lines are displayed. While filtering is in effect, an ampersand is displayed at the beginning of the prompt, as a reminder that some lines in the file may be hidden.

Certain characters are special as in the / command:

^N or !

Display only lines which do NOT match the pattern.

^R

Don't interpret regular expression metacharacters; that is, do a simple textual comparison.

:e [filename]

Examine a new file. If the filename is missing, the "current" file (see the :n and :p commands below) from the list of files in the command line is re-examined. A percent sign (%) in the filename is replaced by the name of the current file. A pound sign (#) is replaced by the name of the previously examined file. However, two consecutive percent signs are simply replaced with a single percent sign. This allows you to enter a filename that contains a percent sign in the name. Similarly, two consecutive pound signs are replaced with a single pound sign. The filename is inserted into the command line list of files so that it can be seen by subsequent :n and :p commands. If the filename consists of several files, they are all inserted into the list of files and the first one is examined. If the filename contains one or more spaces, the entire filename should be enclosed in double quotes (also see the -" option).

^X^V or E

Same as :e. Warning: some systems use ^V as a special literalization character. On such systems, you may not be able to use ^V.

:n

Examine the next file (from the list of files given in the command line). If a number N is specified, the N-th next file is examined.

:p

Examine the previous file in the command line list. If a number N is specified, the N-th previous file is examined.

:x

Examine the first file in the command line list. If a number N is specified, the N-th file in the list is examined.

:d

Remove the current file from the list of files.

t

Go to the next tag, if there were more than one matches for the current tag. See the -t option for more details about tags.

T

Go to the previous tag, if there were more than one matches for the current tag.

= or ^G or :f

Prints some information about the file being viewed, including its name and the line number and byte offset of the bottom line being displayed. If possible, it also prints the length of the file, the number of lines in the file and the percent of the file above the last displayed line.

-

Followed by one of the command line option letters (see OPTIONS below), this will change the setting of that option and print a message describing the new setting. If a ^P (CONTROL-P) is entered immediately after the dash, the setting of the option is changed but no message is printed. If the option letter has a numeric value (such as -b or -h), or a string value (such as -P or -t), a new value may be entered after the option letter. If no new value is entered, a message describing the current setting is printed and nothing is changed.

--

Like the - command, but takes a long option name (see OPTIONS below) rather than a single option letter. You must press ENTER or RETURN after typing the option name. A ^P immediately after the second dash suppresses printing of a message describing the new setting, as in the - command.

-+

Followed by one of the command line option letters this will reset the option to its default setting and print a message describing the new setting. (The "-+X" command does the same thing as "-+X" on the command line.) This does not work for string-valued options.

--+

Like the -+ command, but takes a long option name rather than a single option letter.

-!

Followed by one of the command line option letters, this will reset the option to the "opposite" of its default setting and print a message describing the new setting. This does not work for numeric or string-valued options.

--!

Like the -! command, but takes a long option name rather than a single option letter.

_

(Underscore.) Followed by one of the command line option letters, this will print a message describing the current setting of that option. The setting of the option is not changed.

__

(Double underscore.) Like the _ (underscore) command, but takes a long option name rather than a single option letter. You must press ENTER or RETURN after typing the option name.

+cmd

Causes the specified cmd to be executed each time a new file is examined. For example, +G causes less to initially display each file starting at the end rather than the beginning.

V

Prints the version number of less being run.

q or Q or :q or :Q or ZZ

Exits less.

The following four commands may or may not be valid, depending on your particular installation.

v

Invokes an editor to edit the current file being viewed. The editor is taken from the environment variable VISUAL if defined, or EDITOR if VISUAL is not defined, or defaults to "vi" if neither VISUAL nor EDITOR is defined. See also the discussion of LESSEDIT under the section on PROMPTS below.

! shell-command

Invokes a shell to run the shell-command given. A percent sign (%) in the command is replaced by the name of the current file. A pound sign (#) is replaced by the name of the previously examined file. "!!" repeats the last shell command. "!" with no shell command simply invokes a shell. On Unix systems, the shell is taken from the environment variable SHELL, or defaults to "sh". On MS-DOS and OS/2 systems, the shell is the normal command processor.

| <m> shell-command

<m> represents any mark letter. Pipes a section of the input file to the given shell command. The section of the file to be piped is between the first line on the current screen and the position marked by the letter. <m> may also be ^ or $ to indicate beginning or end of file respectively. If <m> is . or newline, the current screen is piped.

s filename

Save the input to a file. This only works if the input is a pipe, not an ordinary file.

OPTIONS

Command line options are described below. Most options may be changed while less is running, via the "-" command.

Most options may be given in one of two forms: either a dash followed by a single letter, or two dashes followed by a long option name. A long option name may be abbreviated as long as the abbreviation is unambiguous. For example, --quit-at-eof may be abbreviated --quit, but not --qui, since both --quit-at-eof and --quiet begin with --qui. Some long option names are in uppercase, such as --QUIT-AT-EOF, as distinct from --quit-at-eof. Such option names need only have their first letter capitalized; the remainder of the name may be in either case. For example, --Quit-at-eof is equivalent to --QUIT-AT-EOF.

Options are also taken from the environment variable "LESS". For example, to avoid typing "less -options ..." each time less is invoked, you might tell csh:

setenv LESS "-options"

or if you use sh:

LESS="-options"; export LESS

On MS-DOS, you don't need the quotes, but you should replace any percent signs in the options string by double percent signs.

The environment variable is parsed before the command line, so command line options override the LESS environment variable. If an option appears in the LESS variable, it can be reset to its default value on the command line by beginning the command line option with "-+".

Some options like -k or -D require a string to follow the option letter. The string for that option is considered to end when a dollar sign ($) is found. For example, you can set two -D options on MS-DOS like this:

LESS="Dn9.1$Ds4.1"

If the --use-backslash option appears earlier in the options, then a dollar sign or backslash may be included literally in an option string by preceding it with a backslash. If the --use-backslash option is not in effect, then backslashes are not treated specially, and there is no way to include a dollar sign in the option string.

-? or --help

This option displays a summary of the commands accepted by less (the same as the h command). (Depending on how your shell interprets the question mark, it may be necessary to quote the question mark, thus: "-\?".)

-a or --search-skip-screen

By default, forward searches start at the top of the displayed screen and backwards searches start at the bottom of the displayed screen (except for repeated searches invoked by the n or N commands, which start after or before the "target" line respectively; see the -j option for more about the target line). The -a option causes forward searches to instead start at the bottom of the screen and backward searches to start at the top of the screen, thus skipping all lines displayed on the screen.

-A or --SEARCH-SKIP-SCREEN

Causes all forward searches (not just non-repeated searches) to start just after the target line, and all backward searches to start just before the target line. Thus, forward searches will skip part of the displayed screen (from the first line up to and including the target line). Similarly backwards searches will skip the displayed screen from the last line up to and including the target line. This was the default behavior in less versions prior to 441.

-bn or --buffers=n

Specifies the amount of buffer space less will use for each file, in units of kilobytes (1024 bytes). By default 64 K of buffer space is used for each file (unless the file is a pipe; see the -B option). The -b option specifies instead that n kilobytes of buffer space should be used for each file. If n is -1, buffer space is unlimited; that is, the entire file can be read into memory.

-B or --auto-buffers

By default, when data is read from a pipe, buffers are allocated automatically as needed. If a large amount of data is read from the pipe, this can cause a large amount of memory to be allocated. The -B option disables this automatic allocation of buffers for pipes, so that only 64 K (or the amount of space specified by the -b option) is used for the pipe. Warning: use of -B can result in erroneous display, since only the most recently viewed part of the piped data is kept in memory; any earlier data is lost.

-c or --clear-screen

Causes full screen repaints to be painted from the top line down. By default, full screen repaints are done by scrolling from the bottom of the screen.

-C or --CLEAR-SCREEN

Same as -c, for compatibility with older versions of less.

-d or --dumb

The -d option suppresses the error message normally displayed if the terminal is dumb; that is, lacks some important capability, such as the ability to clear the screen or scroll backward. The -d option does not otherwise change the behavior of less on a dumb terminal.

-Dxcolor or --color=xcolor

[MS-DOS only] Sets the color of the text displayed. x is a single character which selects the type of text whose color is being set: n=normal, s=standout, d=bold, u=underlined, k=blink. color is a pair of numbers separated by a period. The first number selects the foreground color and the second selects the background color of the text. A single number N is the same as N.M, where M is the normal background color.

-e or --quit-at-eof

Causes less to automatically exit the second time it reaches end-of-file. By default, the only way to exit less is via the "q" command.

-E or --QUIT-AT-EOF

Causes less to automatically exit the first time it reaches end-of-file.

-f or --force

Forces non-regular files to be opened. (A non-regular file is a directory or a device special file.) Also suppresses the warning message when a binary file is opened. By default, less will refuse to open non-regular files. Note that some operating systems will not allow directories to be read, even if -f is set.

-F or --quit-if-one-screen

Causes less to automatically exit if the entire file can be displayed on the first screen.

-g or --hilite-search

Normally, less will highlight ALL strings which match the last search command. The -g option changes this behavior to highlight only the particular string which was found by the last search command. This can cause less to run somewhat faster than the default.

-G or --HILITE-SEARCH

The -G option suppresses all highlighting of strings found by search commands.

-hn or --max-back-scroll=n

Specifies a maximum number of lines to scroll backward. If it is necessary to scroll backward more than n lines, the screen is repainted in a forward direction instead. (If the terminal does not have the ability to scroll backward, -h0 is implied.)

-i or --ignore-case

Causes searches to ignore case; that is, uppercase and lowercase are considered identical. This option is ignored if any uppercase letters appear in the search pattern; in other words, if a pattern contains uppercase letters, then that search does not ignore case.

-I or --IGNORE-CASE

Like -i, but searches ignore case even if the pattern contains uppercase letters.

-jn or --jump-target=n

Specifies a line on the screen where the "target" line is to be positioned. The target line is the line specified by any command to search for a pattern, jump to a line number, jump to a file percentage or jump to a tag. The screen line may be specified by a number: the top line on the screen is 1, the next is 2, and so on. The number may be negative to specify a line relative to the bottom of the screen: the bottom line on the screen is -1, the second to the bottom is -2, and so on. Alternately, the screen line may be specified as a fraction of the height of the screen, starting with a decimal point: .5 is in the middle of the screen, .3 is three tenths down from the first line, and so on. If the line is specified as a fraction, the actual line number is recalculated if the terminal window is resized, so that the target line remains at the specified fraction of the screen height. If any form of the -j option is used, repeated forward searches (invoked with "n" or "N") begin at the line immediately after the target line, and repeated backward searches begin at the target line, unless changed by -a or -A. For example, if "-j4" is used, the target line is the fourth line on the screen, so forward searches begin at the fifth line on the screen. However nonrepeated searches (invoked with "/" or "?") always begin at the start or end of the current screen respectively.

-J or --status-column

Displays a status column at the left edge of the screen. The status column shows the lines that matched the current search. The status column is also used if the -w or -W option is in effect.

-kfilename or --lesskey-file=filename

Causes less to open and interpret the named file as a lesskey (1) file. Multiple -k options may be specified. If the LESSKEY or LESSKEY_SYSTEM environment variable is set, or if a lesskey file is found in a standard place (see KEY BINDINGS), it is also used as a lesskey file.

-K or --quit-on-intr

Causes less to exit immediately (with status 2) when an interrupt character (usually ^C) is typed. Normally, an interrupt character causes less to stop whatever it is doing and return to its command prompt. Note that use of this option makes it impossible to return to the command prompt from the "F" command.

-L or --no-lessopen

Ignore the LESSOPEN environment variable (see the INPUT PREPROCESSOR section below). This option can be set from within less, but it will apply only to files opened subsequently, not to the file which is currently open.

-m or --long-prompt

Causes less to prompt verbosely (like more), with the percent into the file. By default, less prompts with a colon.

-M or --LONG-PROMPT

Causes less to prompt even more verbosely than more.

-n or --line-numbers

Suppresses line numbers. The default (to use line numbers) may cause less to run more slowly in some cases, especially with a very large input file. Suppressing line numbers with the -n option will avoid this problem. Using line numbers means: the line number will be displayed in the verbose prompt and in the = command, and the v command will pass the current line number to the editor (see also the discussion of LESSEDIT in PROMPTS below).

-N or --LINE-NUMBERS

Causes a line number to be displayed at the beginning of each line in the display.

-ofilename or --log-file=filename

Causes less to copy its input to the named file as it is being viewed. This applies only when the input file is a pipe, not an ordinary file. If the file already exists, less will ask for confirmation before overwriting it.

-Ofilename or --LOG-FILE=filename

The -O option is like -o, but it will overwrite an existing file without asking for confirmation.

If no log file has been specified, the -o and -O options can be used from within less to specify a log file. Without a file name, they will simply report the name of the log file. The "s" command is equivalent to specifying -o from within less.

-ppattern or --pattern=pattern

The -p option on the command line is equivalent to specifying +/pattern; that is, it tells less to start at the first occurrence of pattern in the file.

-Pprompt or --prompt=prompt

Provides a way to tailor the three prompt styles to your own preference. This option would normally be put in the LESS environment variable, rather than being typed in with each less command. Such an option must either be the last option in the LESS variable, or be terminated by a dollar sign.

-Ps followed by a string changes the default (short) prompt to that string.

-Pm changes the medium (-m) prompt.

-PM changes the long (-M) prompt.

-Ph changes the prompt for the help screen.

-P= changes the message printed by the = command.

-Pw changes the message printed while waiting for data (in the F command). All prompt strings consist of a sequence of letters and special escape sequences. See the section on PROMPTS for more details.

-q or --quiet or --silent

Causes moderately "quiet" operation: the terminal bell is not rung if an attempt is made to scroll past the end of the file or before the beginning of the file. If the terminal has a "visual bell", it is used instead. The bell will be rung on certain other errors, such as typing an invalid character. The default is to ring the terminal bell in all such cases.

-Q or --QUIET or --SILENT

Causes totally "quiet" operation: the terminal bell is never rung.

-r or --raw-control-chars

Causes "raw" control characters to be displayed. The default is to display control characters using the caret notation; for example, a control-A (octal 001) is displayed as "^A". Warning: when the -r option is used, less cannot keep track of the actual appearance of the screen (since this depends on how the screen responds to each type of control character). Thus, various display problems may result, such as long lines being split in the wrong place.

-R or --RAW-CONTROL-CHARS

Like -r, but only ANSI "color" escape sequences are output in "raw" form. Unlike -r, the screen appearance is maintained correctly in most cases. ANSI "color" escape sequences are sequences of the form:

ESC [ ... m

where the "..." is zero or more color specification characters For the purpose of keeping track of screen appearance, ANSI color escape sequences are assumed to not move the cursor. You can make less think that characters other than "m" can end ANSI color escape sequences by setting the environment variable LESSANSIENDCHARS to the list of characters which can end a color escape sequence. And you can make less think that characters other than the standard ones may appear between the ESC and the m by setting the environment variable LESSANSIMIDCHARS to the list of characters which can appear.

-s or --squeeze-blank-lines

Causes consecutive blank lines to be squeezed into a single blank line. This is useful when viewing nroff output.

-S or --chop-long-lines

Causes lines longer than the screen width to be chopped (truncated) rather than wrapped. That is, the portion of a long line that does not fit in the screen width is not shown. The default is to wrap long lines; that is, display the remainder on the next line.

-ttag or --tag=tag

The -t option, followed immediately by a TAG, will edit the file containing that tag. For this to work, tag information must be available; for example, there may be a file in the current directory called "tags", which was previously built by ctags (1) or an equivalent command. If the environment variable LESSGLOBALTAGS is set, it is taken to be the name of a command compatible with global (1), and that command is executed to find the tag. (See http://www.gnu.org/software/global/global.html). The -t option may also be specified from within less (using the - command) as a way of examining a new file. The command ":t" is equivalent to specifying -t from within less.

-Ttagsfile or --tag-file=tagsfile

Specifies a tags file to be used instead of "tags".

-u or --underline-special

Causes backspaces and carriage returns to be treated as printable characters; that is, they are sent to the terminal when they appear in the input.

-U or --UNDERLINE-SPECIAL

Causes backspaces, tabs and carriage returns to be treated as control characters; that is, they are handled as specified by the -r option.

By default, if neither -u nor -U is given, backspaces which appear adjacent to an underscore character are treated specially: the underlined text is displayed using the terminal's hardware underlining capability. Also, backspaces which appear between two identical characters are treated specially: the overstruck text is printed using the terminal's hardware boldface capability. Other backspaces are deleted, along with the preceding character. Carriage returns immediately followed by a newline are deleted. Other carriage returns are handled as specified by the -r option. Text which is overstruck or underlined can be searched for if neither -u nor -U is in effect.

-V or --version

Displays the version number of less.

-w or --hilite-unread

Temporarily highlights the first "new" line after a forward movement of a full page. The first "new" line is the line immediately following the line previously at the bottom of the screen. Also highlights the target line after a g or p command. The highlight is removed at the next command which causes movement. The entire line is highlighted, unless the -J option is in effect, in which case only the status column is highlighted.

-W or --HILITE-UNREAD

Like -w, but temporarily highlights the first new line after any forward movement command larger than one line.

-xn,... or --tabs=n,...

Sets tab stops. If only one n is specified, tab stops are set at multiples of n. If multiple values separated by commas are specified, tab stops are set at those positions, and then continue with the same spacing as the last two. For example, -x9,17 will set tabs at positions 9, 17, 25, 33, etc. The default for n is 8.

-X or --no-init

Disables sending the termcap initialization and deinitialization strings to the terminal. This is sometimes desirable if the deinitialization string does something unnecessary, like clearing the screen.

-yn or --max-forw-scroll=n

Specifies a maximum number of lines to scroll forward. If it is necessary to scroll forward more than n lines, the screen is repainted instead. The -c or -C option may be used to repaint from the top of the screen if desired. By default, any forward movement causes scrolling.

-[z]n or --window=n

Changes the default scrolling window size to n lines. The default is one screenful. The z and w commands can also be used to change the window size. The "z" may be omitted for compatibility with some versions of more. If the number n is negative, it indicates n lines less than the current screen size. For example, if the screen is 24 lines, -z-4 sets the scrolling window to 20 lines. If the screen is resized to 40 lines, the scrolling window automatically changes to 36 lines.

-dqcc or --quotes=cc

Changes the filename quoting character. This may be necessary if you are trying to name a file which contains both spaces and quote characters. Followed by a single character, this changes the quote character to that character. Filenames containing a space should then be surrounded by that character rather than by double quotes. Followed by two characters, changes the open quote to the first character, and the close quote to the second character. Filenames containing a space should then be preceded by the open quote character and followed by the close quote character. Note that even after the quote characters are changed, this option remains -" (a dash followed by a double quote).

-~ or --tilde

Normally lines after end of file are displayed as a single tilde (~). This option causes lines after end of file to be displayed as blank lines.

-# or --shift

Specifies the default number of positions to scroll horizontally in the RIGHTARROW and LEFTARROW commands. If the number specified is zero, it sets the default number of positions to one half of the screen width. Alternately, the number may be specified as a fraction of the width of the screen, starting with a decimal point: .5 is half of the screen width, .3 is three tenths of the screen width, and so on. If the number is specified as a fraction, the actual number of scroll positions is recalculated if the terminal window is resized, so that the actual scroll remains at the specified fraction of the screen width.

--follow-name

Normally, if the input file is renamed while an F command is executing, less will continue to display the contents of the original file despite its name change. If --follow-name is specified, during an F command less will periodically attempt to reopen the file by name. If the reopen succeeds and the file is a different file from the original (which means that a new file has been created with the same name as the original (now renamed) file), less will display the contents of that new file.

--no-keypad

Disables sending the keypad initialization and deinitialization strings to the terminal. This is sometimes useful if the keypad strings make the numeric keypad behave in an undesirable manner.

--use-backslash

This option changes the interpretations of options which follow this one. After the --use-backslash option, any backslash in an option string is removed and the following character is taken literally. This allows a dollar sign to be included in option strings.

--

A command line argument of "--" marks the end of option arguments. Any arguments following this are interpreted as filenames. This can be useful when viewing a file whose name begins with a "-" or "+".

+

If a command line option begins with +, the remainder of that option is taken to be an initial command to less. For example, +G tells less to start at the end of the file rather than the beginning, and +/xyz tells it to start at the first occurrence of "xyz" in the file. As a special case, +<number> acts like +<number>g; that is, it starts the display at the specified line number (however, see the caveat under the "g" command above). If the option starts with ++, the initial command applies to every file being viewed, not just the first one. The + command described previously may also be used to set (or change) an initial command for every file.

LINE EDITING

When entering command line at the bottom of the screen (for example, a filename for the :e command, or the pattern for a search command), certain keys can be used to manipulate the command line. Most commands have an alternate form in [ brackets ] which can be used if a key does not exist on a particular keyboard. (Note that the forms beginning with ESC do not work in some MS-DOS and Windows systems because ESC is the line erase character.) Any of these special keys may be entered literally by preceding it with the "literal" character, either ^V or ^A. A backslash itself may also be entered literally by entering two backslashes.

LEFTARROW [ ESC-h ]

Move the cursor one space to the left.

RIGHTARROW [ ESC-l ]

Move the cursor one space to the right.

^LEFTARROW [ ESC-b or ESC-LEFTARROW ]

(That is, CONTROL and LEFTARROW simultaneously.) Move the cursor one word to the left.

^RIGHTARROW [ ESC-w or ESC-RIGHTARROW ]

(That is, CONTROL and RIGHTARROW simultaneously.) Move the cursor one word to the right.

HOME [ ESC-0 ]

Move the cursor to the beginning of the line.

END [ ESC-$ ]

Move the cursor to the end of the line.

BACKSPACE

Delete the character to the left of the cursor, or cancel the command if the command line is empty.

DELETE or [ ESC-x ]

Delete the character under the cursor.

^BACKSPACE [ ESC-BACKSPACE ]

(That is, CONTROL and BACKSPACE simultaneously.) Delete the word to the left of the cursor.

^DELETE [ ESC-X or ESC-DELETE ]

(That is, CONTROL and DELETE simultaneously.) Delete the word under the cursor.

UPARROW [ ESC-k ]

Retrieve the previous command line. If you first enter some text and then press UPARROW, it will retrieve the previous command which begins with that text.

DOWNARROW [ ESC-j ]

Retrieve the next command line. If you first enter some text and then press DOWNARROW, it will retrieve the next command which begins with that text.

TAB

Complete the partial filename to the left of the cursor. If it matches more than one filename, the first match is entered into the command line. Repeated TABs will cycle thru the other matching filenames. If the completed filename is a directory, a "/" is appended to the filename. (On MS-DOS systems, a "\" is appended.) The environment variable LESSSEPARATOR can be used to specify a different character to append to a directory name.

BACKTAB [ ESC-TAB ]

Like, TAB, but cycles in the reverse direction thru the matching filenames.

^L

Complete the partial filename to the left of the cursor. If it matches more than one filename, all matches are entered into the command line (if they fit).

^U (Unix and OS/2) or ESC (MS-DOS)

Delete the entire command line, or cancel the command if the command line is empty. If you have changed your line-kill character in Unix to something other than ^U, that character is used instead of ^U.

^G

Delete the entire command line and return to the main prompt.

KEY BINDINGS

You may define your own less commands by using the program lesskey (1) to create a lesskey file. This file specifies a set of command keys and an action associated with each key. You may also use lesskey to change the line-editing keys (see LINE EDITING), and to set environment variables. If the environment variable LESSKEY is set, less uses that as the name of the lesskey file. Otherwise, less looks in a standard place for the lesskey file: On Unix systems, less looks for a lesskey file called "$HOME/.less". On MS-DOS and Windows systems, less looks for a lesskey file called "$HOME/_less", and if it is not found there, then looks for a lesskey file called "_less" in any directory specified in the PATH environment variable. On OS/2 systems, less looks for a lesskey file called "$HOME/less.ini", and if it is not found, then looks for a lesskey file called "less.ini" in any directory specified in the INIT environment variable, and if it not found there, then looks for a lesskey file called "less.ini" in any directory specified in the PATH environment variable. See the lesskey manual page for more details. A system-wide lesskey file may also be set up to provide key bindings. If a key is defined in both a local lesskey file and in the system-wide file, key bindings in the local file take precedence over those in the system-wide file. If the environment variable LESSKEY_SYSTEM is set, less uses that as the name of the system-wide lesskey file. Otherwise, less looks in a standard place for the system-wide lesskey file: On Unix systems, the system-wide lesskey file is /usr/local/etc/sysless. (However, if less was built with a different sysconf directory than /usr/local/etc, that directory is where the sysless file is found.) On MS-DOS and Windows systems, the system-wide lesskey file is c:\_sysless. On OS/2 systems, the system-wide lesskey file is c:\sysless.ini.

INPUT PREPROCESSOR

You may define an "input preprocessor" for less. Before less opens a file, it first gives your input preprocessor a chance to modify the way the contents of the file are displayed. An input preprocessor is simply an executable program (or shell script), which writes the contents of the file to a different file, called the replacement file. The contents of the replacement file are then displayed in place of the contents of the original file. However, it will appear to the user as if the original file is opened; that is, less will display the original filename as the name of the current file.

An input preprocessor receives one command line argument, the original filename, as entered by the user. It should create the replacement file, and when finished, print the name of the replacement file to its standard output. If the input preprocessor does not output a replacement filename, less uses the original file, as normal. The input preprocessor is not called when viewing standard input. To set up an input preprocessor, set the LESSOPEN environment variable to a command line which will invoke your input preprocessor. This command line should include one occurrence of the string "%s", which will be replaced by the filename when the input preprocessor command is invoked.

When less closes a file opened in such a way, it will call another program, called the input postprocessor, which may perform any desired clean-up action (such as deleting the replacement file created by LESSOPEN). This program receives two command line arguments, the original filename as entered by the user, and the name of the replacement file. To set up an input postprocessor, set the LESSCLOSE environment variable to a command line which will invoke your input postprocessor. It may include two occurrences of the string "%s"; the first is replaced with the original name of the file and the second with the name of the replacement file, which was output by LESSOPEN.

For example, on many Unix systems, these two scripts will allow you to keep files in compressed format, but still let less view them directly:

lessopen.sh:

#! /bin/sh

case "$1" in

*.Z)    uncompress -c $1 >/tmp/less.$$ 2>/dev/null

if [ -s /tmp/less.$$ ]; then

echo /tmp/less.$$

else

rm -f /tmp/less.$$

fi

;;

esac

lessclose.sh:

#! /bin/sh

rm $2

To use these scripts, put them both where they can be executed and set LESSOPEN="lessopen.sh %s", and LESSCLOSE="lessclose.sh %s %s". More complex LESSOPEN and LESSCLOSE scripts may be written to accept other types of compressed files, and so on.

It is also possible to set up an input preprocessor to pipe the file data directly to less, rather than putting the data into a replacement file. This avoids the need to decompress the entire file before starting to view it. An input preprocessor that works this way is called an input pipe. An input pipe, instead of writing the name of a replacement file on its standard output, writes the entire contents of the replacement file on its standard output. If the input pipe does not write any characters on its standard output, then there is no replacement file and less uses the original file, as normal. To use an input pipe, make the first character in the LESSOPEN environment variable a vertical bar (|) to signify that the input preprocessor is an input pipe.

For example, on many Unix systems, this script will work like the previous example scripts:

lesspipe.sh:

#! /bin/sh

case "$1" in

*.Z)    uncompress -c $1 2>/dev/null

*)      exit 1

;;

esac

exit $?

To use this script, put it where it can be executed and set LESSOPEN="|lesspipe.sh %s".

Note that a preprocessor cannot output an empty file, since that is interpreted as meaning there is no replacement, and the original file is used. To avoid this, if LESSOPEN starts with two vertical bars, the exit status of the script becomes meaningful. If the exit status is zero, the output is considered to be replacement text, even if it empty. If the exit status is nonzero, any output is ignored and the original file is used. For compatibility with previous versions of less, if LESSOPEN starts with only one vertical bar, the exit status of the preprocessor is ignored.

When an input pipe is used, a LESSCLOSE postprocessor can be used, but it is usually not necessary since there is no replacement file to clean up. In this case, the replacement file name passed to the LESSCLOSE postprocessor is "-".

For compatibility with previous versions of less, the input preprocessor or pipe is not used if less is viewing standard input. However, if the first character of LESSOPEN is a dash (-), the input preprocessor is used on standard input as well as other files. In this case, the dash is not considered to be part of the preprocessor command. If standard input is being viewed, the input preprocessor is passed a file name consisting of a single dash. Similarly, if the first two characters of LESSOPEN are vertical bar and dash (|-) or two vertical bars and a dash (||-), the input pipe is used on standard input as well as other files. Again, in this case the dash is not considered to be part of the input pipe command.

NATIONAL CHARACTER SETS

There are three types of characters in the input file:

normal characters

can be displayed directly to the screen.

control characters

should not be displayed directly, but are expected to be found in ordinary text files (such as backspace and tab).

binary characters

should not be displayed directly and are not expected to be found in text files.

A "character set" is simply a description of which characters are to be considered normal, control, and binary. The LESSCHARSET environment variable may be used to select a character set. Possible values for LESSCHARSET are:

ascii

BS, TAB, NL, CR, and formfeed are control characters, all chars with values between 32 and 126 are normal, and all others are binary.

iso8859

Selects an ISO 8859 character set. This is the same as ASCII, except characters between 160 and 255 are treated as normal characters.

latin1

Same as iso8859.

latin9

Same as iso8859.

dos

Selects a character set appropriate for MS-DOS.

ebcdic

Selects an EBCDIC character set.

IBM-1047

Selects an EBCDIC character set used by OS/390 Unix Services. This is the EBCDIC analogue of latin1. You get similar results by setting either LESSCHARSET=IBM-1047 or LC_CTYPE=en_US in your environment.

koi8-r

Selects a Russian character set.

next

Selects a character set appropriate for NeXT computers.

utf-8

Selects the UTF-8 encoding of the ISO 10646 character set. UTF-8 is special in that it supports multi-byte characters in the input file. It is the only character set that supports multi-byte characters.

windows

Selects a character set appropriate for Microsoft Windows (cp 1251).

In rare cases, it may be desired to tailor less to use a character set other than the ones definable by LESSCHARSET. In this case, the environment variable LESSCHARDEF can be used to define a character set. It should be set to a string where each character in the string represents one character in the character set. The character "." is used for a normal character, "c" for control, and "b" for binary. A decimal number may be used for repetition. For example, "bccc4b." would mean character 0 is binary, 1, 2 and 3 are control, 4, 5, 6 and 7 are binary, and 8 is normal. All characters after the last are taken to be the same as the last, so characters 9 through 255 would be normal. (This is an example, and does not necessarily represent any real character set.)

This table shows the value of LESSCHARDEF which is equivalent to each of the possible values for LESSCHARSET:

ascii   8bcccbcc18b95.b

dos     8bcccbcc12bc5b95.b.

ebcdic  5bc6bcc7bcc41b.9b7.9b5.b..8b6.10b6.b9.7b

9.8b8.17b3.3b9.7b9.8b8.6b10.b.b.b.

IBM-1047        4cbcbc3b9cbccbccbb4c6bcc5b3cbbc4bc4bccbc

191.b

iso8859 8bcccbcc18b95.33b.

koi8-r  8bcccbcc18b95.b128.

latin1  8bcccbcc18b95.33b.

next    8bcccbcc18b95.bb125.bb

If neither LESSCHARSET nor LESSCHARDEF is set, but any of the strings "UTF-8", "UTF8", "utf-8" or "utf8" is found in the LC_ALL, LC_CTYPE or LANG environment variables, then the default character set is utf-8.

If that string is not found, but your system supports the setlocale interface, less will use setlocale to determine the character set. setlocale is controlled by setting the LANG or LC_CTYPE environment variables.

Finally, if the setlocale interface is also not available, the default character set is latin1.

Control and binary characters are displayed in standout (reverse video). Each such character is displayed in caret notation if possible (e.g. ^A for control-A). Caret notation is used only if inverting the 0100 bit results in a normal printable character. Otherwise, the character is displayed as a hex number in angle brackets. This format can be changed by setting the LESSBINFMT environment variable. LESSBINFMT may begin with a "*" and one character to select the display attribute: "*k" is blinking, "*d" is bold, "*u" is underlined, "*s" is standout, and "*n" is normal. If LESSBINFMT does not begin with a "*", normal attribute is assumed. The remainder of LESSBINFMT is a string which may include one printf-style escape sequence (a % followed by x, X, o, d, etc.). For example, if LESSBINFMT is "*u[%x]", binary characters are displayed in underlined hexadecimal surrounded by brackets. The default if no LESSBINFMT is specified is "*s<%02X>". Warning: the result of expanding the character via LESSBINFMT must be less than 31 characters.

When the character set is utf-8, the LESSUTFBINFMT environment variable acts similarly to LESSBINFMT but it applies to Unicode code points that were successfully decoded but are unsuitable for display (e.g., unassigned code points). Its default value is "<U+%04lX>". Note that LESSUTFBINFMT and LESSBINFMT share their display attribute setting ("*x") so specifying one will affect both; LESSUTFBINFMT is read after LESSBINFMT so its setting, if any, will have priority. Problematic octets in a UTF-8 file (octets of a truncated sequence, octets of a complete but non-shortest form sequence, illegal octets, and stray trailing octets) are displayed individually using LESSBINFMT so as to facilitate diagnostic of how the UTF-8 file is ill-formed.

PROMPTS

The -P option allows you to tailor the prompt to your preference. The string given to the -P option replaces the specified prompt string. Certain characters in the string are interpreted specially. The prompt mechanism is rather complicated to provide flexibility, but the ordinary user need not understand the details of constructing personalized prompt strings.

A percent sign followed by a single character is expanded according to what the following character is:

%bX

Replaced by the byte offset into the current input file. The b is followed by a single character (shown as X above) which specifies the line whose byte offset is to be used. If the character is a "t", the byte offset of the top line in the display is used, an "m" means use the middle line, a "b" means use the bottom line, a "B" means use the line just after the bottom line, and a "j" means use the "target" line, as specified by the -j option.

%B

Replaced by the size of the current input file.

%c

Replaced by the column number of the text appearing in the first column of the screen.

%dX

Replaced by the page number of a line in the input file. The line to be used is determined by the X, as with the %b option.

%D

Replaced by the number of pages in the input file, or equivalently, the page number of the last line in the input file.

%E

Replaced by the name of the editor (from the VISUAL environment variable, or the EDITOR environment variable if VISUAL is not defined). See the discussion of the LESSEDIT feature below.

%f

Replaced by the name of the current input file.

%F

Replaced by the last component of the name of the current input file.

%i

Replaced by the index of the current file in the list of input files.

%lX

Replaced by the line number of a line in the input file. The line to be used is determined by the X, as with the %b option.

%L

Replaced by the line number of the last line in the input file.

%m

Replaced by the total number of input files.

%pX

Replaced by the percent into the current input file, based on byte offsets. The line used is determined by the X as with the %b option.

%PX

Replaced by the percent into the current input file, based on line numbers. The line used is determined by the X as with the %b option.

%s

Same as %B.

%t

Causes any trailing spaces to be removed. Usually used at the end of the string, but may appear anywhere.

%T

Normally expands to the word "file". However if viewing files via a tags list using the -t option, it expands to the word "tag".

%x

Replaced by the name of the next input file in the list.

If any item is unknown (for example, the file size if input is a pipe), a question mark is printed instead.

The format of the prompt string can be changed depending on certain conditions. A question mark followed by a single character acts like an "IF": depending on the following character, a condition is evaluated. If the condition is true, any characters following the question mark and condition character, up to a period, are included in the prompt. If the condition is false, such characters are not included. A colon appearing between the question mark and the period can be used to establish an "ELSE": any characters between the colon and the period are included in the string if and only if the IF condition is false. Condition characters (which follow a question mark) may be:

?a

True if any characters have been included in the prompt so far.

?bX

True if the byte offset of the specified line is known.

?B

True if the size of current input file is known.

?c

True if the text is horizontally shifted (%c is not zero).

?dX

True if the page number of the specified line is known.

?e

True if at end-of-file.

?f

True if there is an input filename (that is, if input is not a pipe).

?lX

True if the line number of the specified line is known.

?L

True if the line number of the last line in the file is known.

?m

True if there is more than one input file.

?n

True if this is the first prompt in a new input file.

?pX

True if the percent into the current input file, based on byte offsets, of the specified line is known.

?PX

True if the percent into the current input file, based on line numbers, of the specified line is known.

?s

Same as "?B".

?x

True if there is a next input file (that is, if the current input file is not the last one).

Any characters other than the special ones (question mark, colon, period, percent, and backslash) become literally part of the prompt. Any of the special characters may be included in the prompt literally by preceding it with a backslash.

Some examples:

?f%f:Standard input.

This prompt prints the filename, if known; otherwise the string "Standard input".

?f%f .?ltLine %lt:?pt%pt\%:?btByte %bt:-...

This prompt would print the filename, if known. The filename is followed by the line number, if known, otherwise the percent if known, otherwise the byte offset if known. Otherwise, a dash is printed. Notice how each question mark has a matching period, and how the % after the %pt is included literally by escaping it with a backslash.

?n?f%f .?m(%T %i of %m) ..?e(END) ?x- Next\: %x..%t";

This prints the filename if this is the first prompt in a file, followed by the "file N of N" message if there is more than one input file. Then, if we are at end-of-file, the string "(END)" is printed followed by the name of the next file, if there is one. Finally, any trailing spaces are truncated. This is the default prompt. For reference, here are the defaults for the other two prompts (-m and -M respectively). Each is broken into two lines here for readability only.

?n?f%f .?m(%T %i of %m) ..?e(END) ?x- Next\: %x.:

?pB%pB\%:byte %bB?s/%s...%t

?f%f .?n?m(%T %i of %m) ..?ltlines %lt-%lb?L/%L. :

byte %bB?s/%s. .?e(END) ?x- Next\: %x.:?pB%pB\%..%t

And here is the default message produced by the = command:

?f%f .?m(%T %i of %m) .?ltlines %lt-%lb?L/%L. .

byte %bB?s/%s. ?e(END) :?pB%pB\%..%t

The prompt expansion features are also used for another purpose: if an environment variable LESSEDIT is defined, it is used as the command to be executed when the v command is invoked. The LESSEDIT string is expanded in the same way as the prompt strings. The default value for LESSEDIT is:

%E ?lm+%lm. %f

Note that this expands to the editor name, followed by a + and the line number, followed by the file name. If your editor does not accept the "+linenumber" syntax, or has other differences in invocation syntax, the LESSEDIT variable can be changed to modify this default.

SECURITY

When the environment variable LESSSECURE is set to 1, less runs in a "secure" mode. This means these features are disabled:

!

the shell command

|

the pipe command

:e

the examine command.

v

the editing command

s -o

log files

-k

use of lesskey files

-t

use of tags files

metacharacters in filenames, such as *

filename completion (TAB, ^L)

Less can also be compiled to be permanently in "secure" mode.

COMPATIBILITY WITH MORE

If the environment variable LESS_IS_MORE is set to 1, or if the program is invoked via a file link named "more", less behaves (mostly) in conformance with the POSIX "more" command specification. In this mode, less behaves differently in these ways:

The -e option works differently. If the -e option is not set, less behaves as if the -e option were set. If the -e option is set, less behaves as if the -E option were set.

The -m option works differently. If the -m option is not set, the medium prompt is used, and it is prefixed with the string "--More--". If the -m option is set, the short prompt is used.

The -n option acts like the -z option. The normal behavior of the -n option is unavailable in this mode.

The parameter to the -p option is taken to be a less command rather than a search pattern.

The LESS environment variable is ignored, and the MORE environment variable is used in its place.

ENVIRONMENT VARIABLES

Environment variables may be specified either in the system environment as usual, or in a lesskey (1) file. If environment variables are defined in more than one place, variables defined in a local lesskey file take precedence over variables defined in the system environment, which take precedence over variables defined in the system-wide lesskey file.

COLUMNS

Sets the number of columns on the screen. Takes precedence over the number of columns specified by the TERM variable. (But if you have a windowing system which supports TIOCGWINSZ or WIOCGETD, the window system's idea of the screen size takes precedence over the LINES and COLUMNS environment variables.)

EDITOR

The name of the editor (used for the v command).

HOME

Name of the user's home directory (used to find a lesskey file on Unix and OS/2 systems).

HOMEDRIVE, HOMEPATH

Concatenation of the HOMEDRIVE and HOMEPATH environment variables is the name of the user's home directory if the HOME variable is not set (only in the Windows version).

INIT

Name of the user's init directory (used to find a lesskey file on OS/2 systems).

LANG

Language for determining the character set.

LC_CTYPE

Language for determining the character set.

LESS

Options which are passed to less automatically.

LESSANSIENDCHARS

Characters which may end an ANSI color escape sequence (default "m").

LESSANSIMIDCHARS

Characters which may appear between the ESC character and the end character in an ANSI color escape sequence (default "0123456789:;[?!"'#%()*+ ".

LESSBINFMT

Format for displaying non-printable, non-control characters.

LESSCHARDEF

Defines a character set.

LESSCHARSET

Selects a predefined character set.

LESSCLOSE

Command line to invoke the (optional) input-postprocessor.

LESSECHO

Name of the lessecho program (default "lessecho"). The lessecho program is needed to expand metacharacters, such as * and ?, in filenames on Unix systems.

LESSEDIT

Editor prototype string (used for the v command). See discussion under PROMPTS.

LESSGLOBALTAGS

Name of the command used by the -t option to find global tags. Normally should be set to "global" if your system has the global (1) command. If not set, global tags are not used.

LESSHISTFILE

Name of the history file used to remember search commands and shell commands between invocations of less. If set to "-" or "/dev/null", a history file is not used. The default is "$HOME/.lesshst" on Unix systems, "$HOME/_lesshst" on DOS and Windows systems, or "$HOME/lesshst.ini" or "$INIT/lesshst.ini" on OS/2 systems.

LESSHISTSIZE

The maximum number of commands to save in the history file. The default is 100.

LESSKEY

Name of the default lesskey(1) file.

LESSKEY_SYSTEM

Name of the default system-wide lesskey(1) file.

LESSMETACHARS

List of characters which are considered "metacharacters" by the shell.

LESSMETAESCAPE

Prefix which less will add before each metacharacter in a command sent to the shell. If LESSMETAESCAPE is an empty string, commands containing metacharacters will not be passed to the shell.

LESSOPEN

Command line to invoke the (optional) input-preprocessor.

LESSSECURE

Runs less in "secure" mode. See discussion under SECURITY.

LESSSEPARATOR

String to be appended to a directory name in filename completion.

LESSUTFBINFMT

Format for displaying non-printable Unicode code points.

LESS_IS_MORE

Emulate the more (1) command.

LINES

Sets the number of lines on the screen. Takes precedence over the number of lines specified by the TERM variable. (But if you have a windowing system which supports TIOCGWINSZ or WIOCGETD, the window system's idea of the screen size takes precedence over the LINES and COLUMNS environment variables.)

MORE

Options which are passed to less automatically when running in more compatible mode.

PATH

User's search path (used to find a lesskey file on MS-DOS and OS/2 systems).

SHELL

The shell used to execute the ! command, as well as to expand filenames.

TERM

The type of terminal on which less is being run.

VISUAL

The name of the editor (used for the v command).

SEE ALSO

lesskey(1)

COPYRIGHT

Copyright (C) 1984-2015 Mark Nudelman

less is part of the GNU project and is free software. You can redistribute it and/or modify it under the terms of either (1) the GNU General Public License as published by the Free Software Foundation; or (2) the Less License. See the file README in the less distribution for more details regarding redistribution. You should have received a copy of the GNU General Public License along with the source for less; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. You should also have received a copy of the Less License; see the file LICENSE.

less is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

AUTHOR

Mark Nudelman

Send bug reports or comments to <bug-less@gnu.org>

See http://www.greenwoodsoftware.com/less/bugs.html for the latest list of known bugs in less.

For more information, see the less homepage at

http://www.greenwoodsoftware.com/less.

NAME SYNOPSIS DESCRIPTION COMMANDS OPTIONS LINE EDITING KEY BINDINGS INPUT PREPROCESSOR NATIONAL CHARACTER SETS PROMPTS SECURITY COMPATIBILITY WITH MORE ENVIRONMENT VARIABLES SEE ALSO COPYRIGHT AUTHOR

This document was created by man2html using the manual pages.

Time: 16:33:37 GMT, September 14, 2024

man.map

TOC Index

NAME

man.map - manual page mappings

SYNOPSIS

man/man.map

AVAILABILITY

WA2L/WinTools

DESCRIPTION

This is the manual page map file for the man command.

The mappings defined here take into effect, when the manual page is not found in other locations of the %MANPATH%.

FILEFORMAT

Rows starting with a # are considered as comments.

ENTERED;MAPPED;

Where:

ENTERED

manual page one entered on the command line: man manual-page .

The ENTERED field entry is not case sensitive.

MAPPED

this entry specified the manual page that is displayed in place of the one entered on the command line.

The MAPPED field entry is not case sensitive.

EXAMPLES

#

# man.map - map manual pages

#

# [00] 10.02.2019 CWa   Initial Version

#

FROM;TO;

a;wtshell;

abc;wtshell;

history;wtshell;

intro;wintoolsintro;

ll;ls;

llcomp;wtshell;

lscomp;wtshell;

month;wtshell;

name;wtshell;

path;wtshell;

pathlist;wtshell;

pid;ps;

pskill;kill;

pslist;ps;

revision;wtshell;

SEE ALSO

wintoolsintro(1), man(1), man.cfg(4)

NOTES

-

BUGS

-

AUTHOR

man.map was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/doc/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION FILEFORMAT EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:20 GMT, September 14, 2024

WebBrowser

TOC Index

NAME

WebBrowser - start a WebBrowser using run WebBrowser

SYNOPSIS

WA2LWinTools/bin/WebBrowser [ -h | -i | -u | -V ]

WebBrowser [ options ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

start a web browser as defined in run(1) respectively run.cfg(4) thru a single command.

This enables to start a self-defined web browser using your special options thru an icon on the 'Desktop' (as when you invoked run -i WebBrowser).

In addition it is possible to define the bin/WebBrowser.exe program as system wide default to be used when clicking on HTML files, as *.html or *.htm using the Windows™ dialog in 'File Explorer' where default applications can be specified.

To configure the WebBrowser to be started, add an application with the name WebBrowser to the etc/run.cfg file.

Example etc/run.cfg entry:

:

WebBrowser;Opera\OperaPortable.exe;--user-data-dir="%INSTALLDRIVE%:\data\Opera\%USERNAME%";;

:

This definition would start the Opera web browser saving the user profile data to the %INSTALLDRIVE%:\data\Opera\%USERNAME% directory.

Of course the WebBrowser application name can also be added as an alias to an already existing entry in the run.cfg file:

:

Opera,WebBrowser;OperaPortable\OperaPortable.exe; ....

:

The positive "side effect" is, that the web browser (Opera in this example) also can be started using run WebBrowser from the command line, a shortcut or an other program starter, as pstart(1), qsel(1) and hotkeyp(1).

OPTIONS

-h

usage help.

-V

print program version.

-i

install the WebBrowser command as 'Web Browser' to the Windows™ 'Desktop'.

-u

uninstall the 'Web Browser' shortcut from the 'Desktop'.

options

additional options for the started web browser. This will normally be the URL of a web site or a local file.

EXIT STATUS

0

no error.

4

usage printed.

5

version printed.

FILES

etc/run.cfg

configuration file of run(1). See run.cfg(4) for a description of all configuration possibilities.

var/scripts/WebBrowser.PREEXEC.cmd

optional script that is called prior to starting the web browser.

This allows to apply certain adjustments or cleanups ahead of the browser start.

The template lib/WebBrowser.PREEXEC.cmd can be copied to var/scripts/WebBrowser.PREEXEC.cmd and used as a starting point.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), config(1m), hotkeyp(1), pstart(1), qsel(1), run(1), run.cfg(4),

BUGS

-

AUTHOR

WebBrowser was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2021 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS EXIT STATUS FILES EXAMPLES SEE ALSO BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:33:19 GMT, September 14, 2024

Qsel

TOC Index

NAME

Qsel - Application Launcher

SYNOPSIS

WA2LWinTools/bin/Qsel [ -h | -i | -u | -V | -l ]

Qsel [ datadir ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

Qsel is a "launcher" for frequently used programs, documents and web links.

The items to be launched are presented in a flat window without sub-menus that can be organized into categories which result in a separate page.

Features:

-

Create any number of categories with individual launcher window settings

-

Easy configuration of launcher windows using drag&drop

-

Switch categories: click on category title opens popup menu; back to previous (stacked)

-

Access to options and configuration through context menu (right mouse click)

-

SystemTray mode with tray menu for quick access to all windows and functions

-

Auto-hide mode in docking position at desktop edge (right mouse click to bring window back)

-

Windows optionally without title bar (see image)

-

Optional at Qsel startup: auto launching items from special "startup" category

-

Special launcher items: pop-up file lists to pick from

-

Automatic drive letter handling on USB Flash Drives

-

Unicode support

Window Options (context menu):

-

Large or small Icons

-

Window with/without title bar

-

Font and background color

General Settings (extra window):

-

Load at Windows startup

-

Initial category (or last used)

-

System Tray mode, Hotkey

-

Tool window style with auto-hide functionality

-

Single or double click launching

-

Auto align category windows at top left or right corner

-

Allow drag&drop into launcher window

-

...

For a description of the full functionality, see: qsel.Help(1).

OPTIONS

-h

usage message.

-i

install the Qsel command to the 'Desktop'.

-u

uninstall the Qsel shortcut from the 'Desktop'.

-V

print Qsel version.

-l

list existing datadirs located in var/db/qsel/.

datadir

data directory to be used to save the launcher definition.

The datadir is created in var/db/qsel/<datadir>/ as long no absolute path name (labels are also possible, see lpath(3) for more information) is given.

Therefore multiple launcher configurations are possible when specifying different datadirectories.

ENVIRONMENT

The Qsel application understands environment variables in the configuration.

Additionally to the standard Windows™ environment variables, the following ones are available:

%WA2L_INSTALLDIR%

installation base directory of the WA2L/WinTools package.

When adding commands from within the WA2L/WinTools package installation, those absolute path names are automatically replaced with the environment variable %WA2L_INSTALLDIR% on next start of Qsel (if started from the same path as when the command was added).

This means that you can save you the time of defining the paths using %WA2L_INSTALLDIR%, simply stop/start the related Qsel instance and you are set (you will then see the %WA2L_INSTALLDIR%, appearing in the Qsel dialog).

%WA2L_INSTALLDRIVE%

installation drive letter (without :) of the WA2L/WinTools package.

Example: D

EXIT STATUS

0

no error.

4

usage message displayed.

5

version message displayed.

FILES

var/db/qsel/default/

default data directory to save the launcher configuration if no datadir is specified.

var/db/qsel/<datadir>/

data directory to save the launcher configuration if a datadir is specified.

var/icons/ and var/icons/qsel/

suggested location of additional icons to be used from within Qsel.

If additional icons are copied to that location and selected from there from within the Qsel Configuration dialog, the icons will also be portable and seen when started from another drive name for example.

etc/Qsel.cfg

optional configuration file to define additional environment variables visible in Qsel.

The environment variables have to be defined, as:

PROJECTS=D:\dat\projects

var/cache/qsel/

compressed copies of the <datadir> configuration files.

This files can be used when Qsel has a problem loading a configuration or when a configuration was unintentionally deleted.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), appstart(1), config(1m), envarlist(3), lpath(3), pstart(1), qsel.cfg(4), qsel.chm(1), qsel.Help(1), run(1), https://www.horstmuc.de/wqsel.htm

NOTES

Qsel has been developed by Horst Schaeffer <horst.schaeffer@gmx.net>.

Parts of the documentation has been extracted from https://www.horstmuc.de/wqsel.htm.

See also: https://www.horstmuc.de/wqsel.htm for more information.

BUGS

-

AUTHOR

Qsel was developed by Horst Schaeffer <horst.schaeffer@gmx.net> and integrated into WA2L/WinTools by Christian Walther. Send suggestions and bug reports related to the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:48 GMT, September 14, 2024

Qsel.cfg

TOC Index

NAME

qsel.cfg - application launcher config file

SYNOPSIS

etc/Qsel.cfg

AVAILABILITY

WA2L/WinTools

DESCRIPTION

This is the configuration file to define additional environment variables to be usable in the Qsel command configuration dialog.

FILEFORMAT

Rows starting with a # are considered as comments.

The file format is OPTION=VALUE

Between the OPTION , the = and the VALUE are no spaces.

OPTIONS

The definition of the additional environment variables can make use of all available system environment variables (as: %COMPUTERNAME%, %USERNAME%, %ProgramFiles%, %ProgramFiles(x86)% etc.) plus some additional variables as explained below.

The following time and date related variables can also be used in the VALUES specification (be aware, that the contents of this variables represents the point in time when the Qsel command was started):

(The date used in the examples is February 26th, 1986 14:59:31)

%YEAR%

four digit year of today (e.g.: 1986).

%MONTH%

two digit month of today (e.g.: 02).

%DAY%

two digit day of month of today (e.g.: 26).

%YDAY%

three digit day number of the year (e.g.: 057).

%WDAY%

one digit day of week number, 0 represents Sunday (e.g.: 3).

The following environment variables are also available:

%WA2L_INSTALLDIR%

installation directory of the WA2L/WinTools package.

Example: D:\programs\WA2LWinTools

%WA2L_INSTALLDRIVE%

installation drive letter (without :) of the WA2L/WinTools package.

Example: D

EXAMPLES

#

# Qsel.cfg - configuration file for Qsel.exe

#

# [00] 07.06.2020 CWa Initial Version

#

PROJECTS=D:\data\projects\%USERNAME%

REPORTS=D:\data\reports\%YEAR%

APPS=D:\bin

RUN=%WA2L_INSTALLDIR%\bin\run.exe

SEE ALSO

wintoolsintro(1), appstart(1), envarlist(3), pstart(1), qsel(1), run(1), http://environmentvariables.org/Category:Microsoft_Windows

NOTES

When using (environment) variables you can check your definitions starting the EnvarList command from within Qsel:

Command: %WA2L_INSTALLDIR%\lib\EnvarList.exe

BUGS

-

AUTHOR

Qsel.cfg was developed by by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/doc/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION FILEFORMAT OPTIONS EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:49 GMT, September 14, 2024

HotkeyP

TOC Index

NAME

HotkeyP - hotkey manager made portable

SYNOPSIS

WA2LWinTools/bin/HotkeyP [ -h | -i | -u | -V ]

HotkeyP [ hotkeyp_options ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

Keyboard/mouse/WinLIRC/joystick shortcuts for exe files, documents, folders, www pages and commands: shutdown, hibernate, desktop resolution, volume, process priority, eject CD, wallpaper, always on top, hide active window, kill process, paste text.

OPTIONS

-h

usage message.

Start HotkeyP.

-i

install the HotkeyP command to 'Startup' in the Windows Start Menu.

-u

uninstall the HotkeyP shortcut from 'Startup' in the Windows Start Menu.

-V

print program version.

hotkeyp_options

additional options for HotkeyP, see hotkeyp.Help(1) for more information.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage message displayed.

5

version message displayed.

FILES

etc/HotkeyP.htk

configuration file that contains the hotkey definitions you define (and save) in HotkeyP.htk.

etc/HotkeyP.cfg

saved registry of the HotkeyP command. This file is managed by HotkeyP.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), activehotkeys(1m), config(1m), hotkeyp.chm(1), hotkeyp.Help(1), pstart(1)

NOTES

Parts of this manpages were extracted from the documentation of HotkeyP from https://sourceforge.net/projects/hotkeyp/ and the provided application help hotkeyp.Help(1). See: https://sourceforge.net/projects/hotkeyp/ and http://petr.lastovicka.sweb.cz/ for more information about HotkeyP.

BUGS

-

AUTHOR

HotkeyP was developed by 'Petr Lastovicka' <http://petr.lastovicka.sweb.cz/> (see: https://sourceforge.net/projects/hotkeyp/ and http://petr.lastovicka.sweb.cz/) and integrated into WA2L/WinTools by Christian Walther. Send suggestions and bug reports regarding to the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:09 GMT, September 14, 2024

JSONedit

TOC Index

NAME

XMLEdit - edit XML text files

SYNOPSIS

WA2LWinTools/bin/XMLEdit [ -h | -i | -u | -V ]

XMLEdit [ file ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

XMLEdit (STDU XML Editor) is a lightweight editor of XML documents. This editor is very simple to use. The XML document is represent as tree, and you don't need to know anything about markups language, for edit documents in our editor.

Features include:

-

Modern tabbed document interface.

-

Good performance on large XML documents.

-

Cut/copy/paste with full namespace support.

-

Drag/drop support for easy manipulation of the tree.

-

Infinite undo/redo for all edit operations.

-

Validate xml-document by scheme.

-

Transform xml-document by XSL.

See also: http://www.stdutility.com/stdu-xml-editor.html

OPTIONS

-h

usage message.

-i

install the XMLEdit command as menu point 'XMLEdit' to the 'Send To' context menu in 'Windows Explorer'.

-u

uninstall the XMLEdit shortcut from the 'Send To' context menu in 'Windows Explorer'.

-V

print program version.

file

XML file to load.

ENVIRONMENT

-

EXIT STATUS

0

always.

FILES

etc/XMLEdit.cfg

configuration file of XMLEdit.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), config(1m), Notepad2(1), jsonedit(1), http://www.stdutility.com/stdu-xml-editor.html

NOTES

This man page is a partial extract of http://www.stdutility.com/stdu-xml-editor.html.

BUGS

-

AUTHOR

STDUXMLEditor was developed by http://www.stdutility.com and integrated as XMLEdit into WA2L/WinTools by Christian Walther. Send suggestions and bug reports regarding the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2022 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:33:24 GMT, September 14, 2024

Beeftext

TOC Index

NAME

Beeftext - text snippet management tool

SYNOPSIS

WA2LWinTools/bin/Beeftext

Beeftext [ -h | -i | -u | -V ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

Beeftext is a text snippet management tool for Windows™.

See: https://github.com/xmichelo/Beeftext/wiki/Getting-started for more information about Beeftext.

OPTIONS

-h

usage message.

-i

install the Beeftext command to 'Startup' in the Windows Start Menu to enable a start of the Beeftext command on Windows™ start.

-u

uninstall the Beeftext shortcut from 'Startup' in the Windows Start Menu.

-V

print Beeftext version.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage message displayed.

5

version message displayed.

FILES

etc/Beeftext.cfg

configuration file of Beeftext.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), config(1m), beeftext.cfg(4), https://github.com/xmichelo/Beeftext/wiki/Getting-started

NOTES

Parts of the documentation has been extracted from https://beeftext.org and https://github.com/xmichelo/Beeftext.

BUGS

-

AUTHOR

Beeftext has been developed by by Xavier Michelon and integrated into WA2L/WinTools by Christian Walther. Send suggestions and bug reports related to the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2023 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:31:45 GMT, September 14, 2024

BES

TOC Index

NAME

BES - Limit CPU usage of defined processes

SYNOPSIS

WA2LWinTools/bin/BES

BES [ -h | -i | -u | -V ]

BES [ -e ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

Limit CPU usage of defined processes.

BES is a small tool that throttles the CPU usage of the process you "target": for instance, you can limit the CPU usage of a process which would use CPU 100%, down to 50% (or any percentage you'd like).

With this, you can use other programs comfortably while doing something CPU-intensive in the background.

By limiting the CPU load, you can also cool down your CPU immediately when it happens to get too hot. It's an "active" software CPU cooler.

Conventional soft-coolers save CPU energy by making CPU sleep when it is idle. They passively wait until CPU gets idle. BES is more aggressive: it cools CPU by making the "heating" process slow down, i.e. periodically forcing CPU to be idle for a short time. (But you should install a better hardware cooler if you often need to use BES for this purpose.

Active soft-cooling might be an interesting hack, but it's just a workaround after all.

On the other hand, if your application uses CPU 100% meaninglessly, let BES do the job!

Furthermore, BES can hide a window you don't want to be seen for some reason, without killing the process, and restore the hidden windows again anytime you like.

When starting BES it will always sit hidden in the task bar. To display the BES graphical user interface, right click the icon in the task bar and choose the 'Restore BES' menu point.

The description in this manual page covers only a reduced set of all possibilities of the BES command.

For a description of the full functionality, see: http://mion.faireal.net/BES/.

OPTIONS

-h

usage message.

-i

install the BES command to 'Startup' in the Windows Start Menu to enable a start of the BES command on Windows™ start.

-u

uninstall the BES shortcut from 'Startup' in the Windows Start Menu.

-e

stop all running BES instances.

-V

print BES version.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage message displayed.

5

version message displayed.

FILES

etc/BES.cfg

configuration file of BES.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), config(1m), bes.cfg(4), http://mion.faireal.net/BES/

NOTES

BES has been developed by http://mion.faireal.net/BES/.

Parts of the documentation has been extracted from http://mion.faireal.net/BES/.

See also: http://mion.faireal.net/BES/ for more information.

BUGS

-

AUTHOR

BES was developed by http://mion.faireal.net/BES/ and integrated into WA2L/WinTools by Christian Walther. Send suggestions and bug reports related to the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:31:46 GMT, September 14, 2024

BES.cfg

TOC Index

NAME

BES.cfg - configuration file for BES

SYNOPSIS

WA2LWinTools/etc/BES.cfg

AVAILABILITY

WA2L/WinTools

DESCRIPTION

This is the optional configuration file for the BES command.

FILEFORMAT

Rows starting with # are considered as comments.

The file format is OPTION=VALUE

Between the OPTION , the = and the VALUE are no spaces.

You can comment out any OPTION or completely remove the related setting line to use the default settings.

OPTIONS

BES_OPTIONS

set the command line options for the BES(1) command.

BES_OPTIONS="target" percentage

where target is the full path and filename to the executable (e.g. "c:\path_to\application.exe" ) you want to limit.

With percentage you throttle its CPU usage so that "target" will be only allowed to use CPU (100 - percentage) % at most.

You can use an integer between 1 and 99 as percentage. If percentage is omitted or invalid, the last known valid percentage for "target" is automatically used (if this is the first time to target a "target" , the default reduction 33% will be applied, unless percentage is specified).

You can specify multiple BES_OPTIONS lines, each BES_OPTIONS will result in a separate BES instance.

Example: BES_OPTIONS="C:\Program Files\AppXY\XY.exe" 90

Default: BES_OPTIONS=

EXAMPLES

1) Example configuration file

#

# WA2LWinTools/etc/BES.cfg - Configuration file for BES

#

# [00] 13.06.2017 CWa   Initial Version

#

# limit the CPU usage of XY.exe to 10%

#

BES_OPTIONS="C:\Program Files\AppXY\XY.exe" 90

# limit the CPU usage of AB.exe to 20%

#

BES_OPTIONS="C:\Program Files\AppAB\AB.exe" 20

SEE ALSO

wintoolsintro(1), bes(1), http://mion.faireal.net/BES/#commandline

NOTES

-

BUGS

-

AUTHOR

BES.cfg was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION FILEFORMAT OPTIONS EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:31:46 GMT, September 14, 2024

BlueTooth

TOC Index

NAME

BlueTooth - Open the System Bluetooth Settings Dialog

SYNOPSIS

WA2LWinTools/bin/BlueTooth [ -h | -i | -u | -V ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

Open the BlueTooth settings dialog of Microsoft Windows™.

OPTIONS

-h

usage message.

-i

install the BlueTooth command as shortcut to the user's 'Desktop'.

-u

uninstall the BlueTooth shortcut from the user's 'Desktop'.

-V

print program version.

ENVIRONMENT

-

EXIT STATUS

0

always.

4

usage message displayed.

5

version message displayed.

FILES

-

EXAMPLES

-

SEE ALSO

wintoolsintro(1)

NOTES

-

BUGS

-

AUTHOR

BlueTooth was developed by into WA2L/WinTools by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2023 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:31:48 GMT, September 14, 2024

Caffeine

TOC Index

NAME

Caffeine - prevent system from hibernating, sleeping or locking

SYNOPSIS

WA2LWinTools/bin/caffeine

caffeine [ -h | -i | -u | -a | -V ]

caffeine [ options ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

If you have problems with your PC locking or going to sleep, caffeine will keep it awake. It works by simulating a keypress once every 59 seconds, so your machine thinks you're still working at the keyboard, so won't lock the screen or activate the screensaver.

The icon of Caffeine is a coffee pot in the task tray. Double-clicking the icon empties the coffee pot (that's what the icon is) and temporarily disables the program. Double-clicking it again refills the pot, and will keep your machine awake.

By default the app starts enabled, and works every 59 seconds.

caffeine works by simulating an F15 key up event every 59 seconds. Of all the key presses available, F15 is probably the least intrusive (I've never seen a PC keyboard with that key!), and least likely to interfere with your work.

When caffeine is started without options, it loads the settings defined in the CAFFEINE_OPTIONS from the configuration file etc/caffeine.cfg if present.

OPTIONS

-h

usage message.

-i

install the caffeine command to 'Startup' in the Windows Start Menu.

-u

uninstall the caffeine shortcut from 'Startup' in the Windows Start Menu.

-V

print program version.

-a

start caffeine and load the options defined in the CAFFEINE_AUTOSTART setting in the etc/caffeine.cfg file.

xx

where xx is a number which sets the number of seconds between simulated keypresses. This must be the first text on the commandline

-startoff

application starts disabled.

-exitafter:xx

application will terminate after xx minutes

-activefor:xx

application will become inactive after xx minutes

-inactivefor:xx

application will become active after xx minutes

-appexit

terminates current running instance of application

-appon

makes the current running instance of the application active

-appoff

makes the current running instance of the application inactive

-apptoggle

toggles the running state of the current running instance of the application

-apptoggleshowdlg

toggles the running state, and shows dialog

-replace

closes the current running instance, replacing it

-noicon

does not show a task tray icon

-useshift

simulate the shift key instead of F15

-showdlg

shows a dialog indicating whether caffeine is active

-stes

tell Windows to stay awake, don't use F15

-ontaskbar

show a task bar button (use with -showdlg)

-allowss

prevent sleep, but allow the screensaver to start

-key:xx

simulate using virtual key code xx Note: the codes on the linked page are in Hex, convert them to decimal for use with this parameter.

See: https://docs.microsoft.com/de-ch/windows/win32/inputdev/virtual-key-codes?redirectedfrom=MSDN for virtual key codes.

-keypress

simulate a full key press, not just a key up event

-oldicons

use more colourful tray icons

-lighticons

always use the light icons

-darkicons

always use the dark icons

-watchwindow:xx

active only when a window with xx in the title is found

-activehours:........xxxxxxxx........

put 24 . or x characters, which indicate from hour 0 to hour 23 of the day. caffeine will be active only in hours with an x.

-onac

active only when the computer is on AC power (plugged in)

ENVIRONMENT

-

EXIT STATUS

0

always.

4

usage message displayed.

5

version message displayed.

FILES

etc/caffeine.cfg

optional configuration file for caffeine.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), caffeine.cfg(4), config(1m), nosleep(1), http://www.zhornsoftware.co.uk/caffeine/, https://docs.microsoft.com/de-ch/windows/win32/inputdev/virtual-key-codes?redirectedfrom=MSDN

NOTES

Parts of this manpage were extracted from the documentation of caffeine written by Tom Revell and modified to fit to the WA2L/WinTools package. See: http://www.zhornsoftware.co.uk/caffeine/ for more information.

BUGS

While using putty(1) you should deactivate caffeine or use the -stes or -useshift option to start caffeine to avoid receiving control characters within the putty session.

On some systems you might receive the following error message:

WA2LWinTools\lib\caffeine.exe

The application has failed to start because its side-by-side configuration is incorrect. Please see the application event log or use the command-line sxstrace.exe tool for more detail.

Fix:

Download and install the 'Microsoft Visual C++ 2008 Redistributable Package (x86)' from:

https://www.microsoft.com/en-us/download/details.aspx?id=29

For more information see: http://www.zhornsoftware.co.uk/support/kb.pl?q=00085.

AUTHOR

caffeine was developed by Tom Revell and integrated into WA2L/WinTools by Christian Walther. Send suggestions and bug reports related to the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2021 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:31:48 GMT, September 14, 2024

caffeine.cfg

TOC Index

NAME

caffeine.cfg - configuration file for caffeine

SYNOPSIS

WA2LWinTools/etc/caffeine.cfg

AVAILABILITY

WA2L/WinTools

DESCRIPTION

This is the optional configuration file for the caffeine command.

FILEFORMAT

Rows starting with a # are considered as comments.

The file format is OPTION=VALUE

Between the OPTION , the = and the VALUE are no spaces.

You can comment out any OPTION or completely remove the related setting line to use the default settings.

OPTIONS

CAFFEINE_AUTOSTART

command line options loaded when caffeine -a is started.

Example: CAFFEINE_AUTOSTART=-allowss

Default: CAFFEINE_AUTOSTART=

CAFFEINE_OPTIONS

command line options loaded when caffeine is started without command line options.

Example: CAFFEINE_OPTIONS=-startoff

Default: CAFFEINE_OPTIONS=

EXAMPLES

1) Simple example configuration file

#

# WA2LWinTools/etc/caffeine.cfg - Configuration file for caffeine

#

# [00] 14.02.2015 CWa   Initial Version

#

CAFFEINE_AUTOSTART=-allowss

CAFFEINE_OPTIONS=-startoff

SEE ALSO

wintoolsintro(1), caffeine(1)

NOTES

-

BUGS

-

AUTHOR

caffeine.cfg was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION FILEFORMAT OPTIONS EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:31:49 GMT, September 14, 2024

NoSleep

TOC Index

NAME

NoSleep - prevent system from hibernating, sleeping or locking

SYNOPSIS

WA2LWinTools/bin/NoSleep

NoSleep [ -h | -i | -u | -V ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

Prevents screensaver and PC locking. I runs in th system tray and prevents the computer from locking or going into screensaver mode as it normally would when idle.

All it does is move the mouse one pixel to the left, and then one pixel to the right every 30 seconds. This tiny bit of movement is invisible to the user, but is enough to make Windows™ think that someone is using the PC.

OPTIONS

-h

usage message.

-i

install the NoSleep command to 'Startup' in the Windows Start Menu.

-u

uninstall the NoSleep shortcut from 'Startup' in the Windows Start Menu.

-V

print program version.

ENVIRONMENT

-

EXIT STATUS

0

always.

4

usage message displayed.

5

version message displayed.

FILES

-

EXAMPLES

-

SEE ALSO

wintoolsintro(1), caffeine(1), config(1m)

NOTES

Parts of this manpage were extracted from the blog of NoSleep written by Mike Langford and modified to fit to the WA2L/WinTools package. See: https://community.broadcom.com/symantecenterprise/communities/community-home/librarydocuments/viewdocument?DocumentKey=a1a96424-84fb-4b0c-b841-5d501d46528d&CommunityKey=841f40c9-372f-44f3-8203-f4ce567fafec&tab=librarydocuments for more information.

BUGS

-

AUTHOR

NoSleep was developed by Mike Langford and integrated into WA2L/WinTools by Christian Walther. Send suggestions and bug reports related to the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:31 GMT, September 14, 2024

PuTTY

TOC Index

NAME

PuTTY - GUI SSH, Telnet and Rlogin client GUI

SYNOPSIS

WA2LWinTools/bin/PuTTY [ -h | -i | -u | -V ]

PuTTY [ options ] [ host ]

DESCRIPTION

PuTTY is a graphical SSH, Telnet and Rlogin client.

Please note:

This manual page describes the Unix/Linux port of the PuTTY command, therefore expect slight Unix/Linux specific differences to the Windows™ version.

See also putty.Help(1) and https://the.earth.li/~sgtatham/putty/latest/htmldoc/ for more information.

OPTIONS

-h

usage message.

-i

install the PuTTY command as 'PuTTY' to the Windows™ 'Desktop'.

-u

uninstall the PuTTY shortcut from the

-V

print program version.

The command-line options supported by PuTTY are:

-pgpfp

Display the fingerprints of the PuTTY PGP Master Keys, to aid in verifying new files released by the PuTTY team.

-load session

Load a saved session by name. This allows you to run a saved session straight from the command line without having to go through the configuration box first.

-ssh, -telnet, -rlogin, -raw, -serial

Select the protocol putty will use to make the connection.

-proxycmd command

Instead of making a TCP connection, use command as a proxy; network traffic will be redirected to the standard input and output of command. command must be a single word, so is likely to need quoting by the shell.

The special strings %host and %port in command will be replaced by the hostname and port number you want to connect to; to get a literal % sign, enter %%.

Backslash escapes are also supported, such as sequences like \n being replaced by a literal newline; to get a literal backslash, enter \\. (Further escaping may be required by the shell.)

(See the main PuTTY manual for full details of the supported %- and backslash-delimited tokens, although most of them are probably not very useful in this context.)

-l username

Specify the username to use when logging in to the server.

-L [srcaddr:]srcport:desthost:destport

Set up a local port forwarding: listen on srcport (or srcaddr:srcport if specified), and forward any connections over the SSH connection to the destination address desthost:destport. Only works in SSH.

-R [srcaddr:]srcport:desthost:destport

Set up a remote port forwarding: ask the SSH server to listen on srcport (or srcaddr:srcport if specified), and to forward any connections back over the SSH connection where the client will pass them on to the destination address desthost:destport. Only works in SSH.

-D [srcaddr:]srcport

Set up dynamic port forwarding. The client listens on srcport (or srcaddr:srcport if specified), and implements a SOCKS server. So you can point SOCKS-aware applications at this port and they will automatically use the SSH connection to tunnel all their connections. Only works in SSH.

-P port

Specify the port to connect to the server on.

-A, -a

Enable (-A) or disable (-a) SSH agent forwarding. Currently this only works with OpenSSH and SSH-1.

-X, -x

Enable (-X) or disable (-x) X11 forwarding.

-T, -t

Enable (-t) or disable (-T) the allocation of a pseudo-terminal at the server end.

-C

Enable zlib-style compression on the connection.

-1, -2

Select SSH protocol version 1 or 2.

-4, -6

Force use of IPv4 or IPv6 for network connections.

-i keyfile

Private key file for user authentication. For SSH-2 keys, this key file must be in PuTTY's PPK format, not OpenSSH's format or anyone else's.

If you are using an authentication agent, you can also specify a public key here (in RFC 4716 or OpenSSH format), to identify which of the agent's keys to use.

-noagent

Don't try to use an authentication agent for local authentication. (This doesn't affect agent forwarding.)

-agent

Allow use of an authentication agent. (This option is only necessary to override a setting in a saved session.)

-hostkey key

Specify an acceptable host public key. This option may be specified multiple times; each key can be either a fingerprint (99:aa:bb:...) or a base64-encoded blob in OpenSSH's one-line format.

Specifying this option overrides automated host key management; only the key(s) specified on the command-line will be accepted (unless a saved session also overrides host keys, in which case those will be added to), and the host key cache will not be written.

-sercfg configuration-string

Specify the configuration parameters for the serial port, in -serial mode. configuration-string should be a comma-separated list of configuration parameters as follows:

*

Any single digit from 5 to 9 sets the number of data bits.

*

`1', `1.5' or `2' sets the number of stop bits.

*

Any other numeric string is interpreted as a baud rate.

*

A single lower-case letter specifies the parity: `n' for none, `o' for odd, `e' for even, `m' for mark and `s' for space.

*

A single upper-case letter specifies the flow control: `N' for none, `X' for XON/XOFF, `R' for RTS/CTS and `D' for DSR/DTR.

SAVED SESSIONS

Saved sessions are stored in etc/PuTTY.cfg and a history of the last 31 changed configurations is saved in var/cache/putty/.

SEE ALSO

wintoolsintro(1), config(1m), mtputty(1), pageant(1), plink(1), psftp(1), putty.chm(1), putty.Help(1), puttyclean(1), puttygen(1), puttysm(1), tunnel(1), https://the.earth.li/~sgtatham/putty/latest/htmldoc/

MORE INFORMATION

For more information on PuTTY, it's probably best to go and look at the manual on the web page:

https://www.chiark.greenend.org.uk/~sgtatham/putty/

BUGS

This man page isn't terribly complete.

While using putty(1) and the caffeine(1) command is running without the -stes option the PuTTY session will receive disturbing control characters.

This is why PuTTY is asking to restart Caffeine with compatible options (-stes) if this condition is detected.

NAME SYNOPSIS DESCRIPTION OPTIONS SAVED SESSIONS SEE ALSO MORE INFORMATION BUGS

This document was created by man2html using the manual pages.

Time: 16:32:46 GMT, September 14, 2024

MTPuTTY

TOC Index

NAME

MTPuTTY - Multi tabbed PuTTY

SYNOPSIS

WA2LWinTools/bin/MTPuTTY [ -h | -i | -u | -V ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

MTPuTTY is a multi tabbed putty(1) GUI.

The MTPuTTY uses the PuTTY command internally, therefore it makes no difference if standalone PuTTY or MTPuTTY is used.

For a description of the full functionality, see: https://ttyplus.com/.

OPTIONS

-h

usage message.

-i

install the MTPuTTY command to the 'Desktop'.

-u

uninstall the MTPuTTY shortcut from the 'Desktop'.

-V

print MTPuTTY version.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage message displayed.

5

version message displayed.

FILES

etc/MTPuTTY.cfg

configuration file of MTPuTTY containing all settings.

etc/MTPuTTY.sessions.cfg

session settings file.

etc/MTPuTTY.dock.cfg

gui settings file.

var/db/mtputty/

location of the Scripts files of MTPuTTY.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), config(1m), putty(1), puttyclean(1), puttysm(1), https://ttyplus.com/

NOTES

MTPuTTY has been developed by TTY Plus (https://ttyplus.com/).

Parts of the documentation has been extracted from (https://ttyplus.com/).

BUGS

-

AUTHOR

MTPuTTY was developed by by TTY Plus and integrated into WA2L/WinTools by Christian Walther. Send suggestions and bug reports related to the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2022 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:29 GMT, September 14, 2024

PuTTYclean

TOC Index

NAME

PuTTYclean - clean PuTTY configuration and sessions from registry

SYNOPSIS

WA2LWinTools/bin/PuTTYclean [ -h | -i | -u | -V ]

PuTTYclean [ -n ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

The PuTTYclean command cleans PuTTY configuration and sessions from the Windows™ registry.

Prior to the deletion the configuration and the defined sessions are saved to the etc/PuTTYclean.cfg file.

See also: FILES section.

To restore a saved/cleaned PuTTY configuration and the related sessions, use the

reg import PuTTYclean.cfg

Windows™ command from the command line in the console(1m).

OPTIONS

-h

usage message.

-i

install the PuTTYclean command on the Windows™ 'Desktop'.

-u

uninstall the PuTTYclean shortcut from the Windows™ 'Desktop'.

-V

print program version.

-n

non-interactive start.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage message displayed.

5

program version printed.

FILES

etc/PuTTYclean.cfg

saved PuTTY configuration that was cleaned from the registry.

var/cache/putty/

old versions of the etc/PuTTYclean.cfg file.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), config(1m), console(1m), pageant(1), putty(1), puttygen(1) https://ss64.com/nt/reg.html

NOTES

-

BUGS

-

AUTHOR

PuTTYclean was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2022 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:47 GMT, September 14, 2024

puttygen

TOC Index

NAME

puttygen - public-key generator for the PuTTY tools

SYNOPSIS

puttygen ( keyfile | -t keytype [ -b bits ] )

[ -C new-comment ] [ -P ] [ -q ]

[ -O output-type | -l | -L | -p ]

[ -o output-file ]

DESCRIPTION

puttygen is a tool to generate and manipulate SSH public and private key pairs. It is part of the PuTTY suite, although it can also interoperate with the key formats used by some other SSH clients.

When you run puttygen, it does three things. Firstly, it either loads an existing key file (if you specified keyfile), or generates a new key (if you specified keytype). Then, it optionally makes modifications to the key (changing the comment and/or the passphrase); finally, it outputs the key, or some information about the key, to a file.

All three of these phases are controlled by the options described in the following section.

OPTIONS

In the first phase, puttygen either loads or generates a key. Note that generating a key requires random data, which can cause puttygen to pause, possibly for some time if your system does not have much randomness available.

The options to control this phase are:

keyfile

Specify a key file to be loaded.

Usually this will be a private key, which can be in the (de facto standard) SSH-1 key format, or in PuTTY's SSH-2 key format, or in either of the SSH-2 private key formats used by OpenSSH and ssh.com's implementation.

You can also specify a file containing only a public key here. The operations you can do are limited to outputting another public key format or a fingerprint. Public keys can be in RFC 4716 or OpenSSH format, or the standard SSH-1 format.

-t keytype

Specify a type of key to generate. The acceptable values here are rsa, dsa, ecdsa, and ed25519 (to generate SSH-2 keys), and rsa1 (to generate SSH-1 keys).

-b bits

Specify the size of the key to generate, in bits. Default is 2048.

-q

Suppress the progress display when generating a new key.

--old-passphrase file

Specify a file name; the first line will be read from this file (removing any trailing newline) and used as the old passphrase. CAUTION: If the passphrase is important, the file should be stored on a temporary filesystem or else securely erased after use.

--random-device device

Specify device to read entropy from (default /dev/random).

In the second phase, puttygen optionally alters properties of the key it has loaded or generated. The options to control this are:

-C new-comment

Specify a comment string to describe the key. This comment string will be used by PuTTY to identify the key to you (when asking you to enter the passphrase, for example, so that you know which passphrase to type).

-P

Indicate that you want to change the key's passphrase. This is automatic when you are generating a new key, but not when you are modifying an existing key.

In the third phase, puttygen saves the key or information about it. The options to control this are:

-O output-type

Specify the type of output you want puttygen to produce. Acceptable options are:

private

Save the private key in a format usable by PuTTY. This will either be the standard SSH-1 key format, or PuTTY's own SSH-2 key format.

public

Save the public key only. For SSH-1 keys, the standard public key format will be used (`1024 37 5698745...'). For SSH-2 keys, the public key will be output in the format specified by RFC 4716, which is a multi-line text file beginning with the line `---- BEGIN SSH2 PUBLIC KEY ----'.

public-openssh

Save the public key only, in a format usable by OpenSSH. For SSH-1 keys, this output format behaves identically to public. For SSH-2 keys, the public key will be output in the OpenSSH format, which is a single line (`ssh-rsa AAAAB3NzaC1yc2...').

fingerprint

Print the fingerprint of the public key. All fingerprinting algorithms are believed compatible with OpenSSH.

private-openssh

Save an SSH-2 private key in OpenSSH's format, using the oldest format available to maximise backward compatibility. This option is not permitted for SSH-1 keys.

private-openssh-new

As private-openssh, except that it forces the use of OpenSSH's newer format even for RSA, DSA, and ECDSA keys.

private-sshcom

Save an SSH-2 private key in ssh.com's format. This option is not permitted for SSH-1 keys.

If no output type is specified, the default is private.

-o output-file

Specify the file where puttygen should write its output. If this option is not specified, puttygen will assume you want to overwrite the original file if the input and output file types are the same (changing a comment or passphrase), and will assume you want to output to stdout if you are asking for a public key or fingerprint. Otherwise, the -o option is required.

-l

Synonym for `-O fingerprint'.

-L

Synonym for `-O public-openssh'.

-p

Synonym for `-O public'.

--new-passphrase file

Specify a file name; the first line will be read from this file (removing any trailing newline) and used as the new passphrase. If the file is empty then the saved key will be unencrypted. CAUTION: If the passphrase is important, the file should be stored on a temporary filesystem or else securely erased after use.

The following options do not run PuTTYgen as normal, but print informational messages and then quit:

-h, --help

Display a message summarizing the available options.

-V, --version

Display the version of PuTTYgen.

--pgpfp

Display the fingerprints of the PuTTY PGP Master Keys, to aid in verifying new files released by the PuTTY team.

EXAMPLES

To generate an SSH-2 RSA key pair and save it in PuTTY's own format (you will be prompted for the passphrase):

puttygen -t rsa -C "my home key" -o mykey.ppk

To generate a larger (4096-bit) key:

puttygen -t rsa -b 4096 -C "my home key" -o mykey.ppk

To change the passphrase on a key (you will be prompted for the old and new passphrases):

puttygen -P mykey.ppk

To change the comment on a key:

puttygen -C "new comment" mykey.ppk

To convert a key into OpenSSH's private key format:

puttygen mykey.ppk -O private-openssh -o my-openssh-key

To convert a key from another format (puttygen will automatically detect the input key type):

puttygen my-ssh.com-key -o mykey.ppk

To display the fingerprint of a key (some key types require a passphrase to extract even this much information):

puttygen -l mykey.ppk

To add the OpenSSH-format public half of a key to your authorised keys file:

puttygen -L mykey.ppk >> $HOME/.ssh/authorized_keys

SEE ALSO

wintoolsintro(1), config(1m), pageant(1), putty(1), puttyclean(1)

NAME SYNOPSIS DESCRIPTION OPTIONS EXAMPLES SEE ALSO

This document was created by man2html using the manual pages.

Time: 16:32:47 GMT, September 14, 2024

PuTTYsm

TOC Index

NAME

PuTTYsm - Session Manager (PSM) to organise PuTTY sessions

SYNOPSIS

WA2LWinTools/bin/PuTTYsm [ -h | -i | -u | -V ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

PuTTY Session Manager (PSM) is a tool that allows system administrators to organise their PuTTY sessions into folders and assign hotkeys to their favourite sessions.

This is designed for Microsoft Windows™ and requires the .NET 2.0 Runtime.

Features:

-

Organise your sessions into folders

-

Launch folders of sessions simultaneously

-

Assign Windows hotkeys to your ten favourite sessions

-

Browse session folders from the system tray

-

Display sessions in a list

-

Semi-transparency of sessions window

-

Does not require any alterations to the existing PuTTY executable

-

Session Management - available from the tree view or a separate session management window

-

Export Sessions to registry file, or CSV file

-

Save New Session using existing session as template

-

Delete Sessions

-

Copy Session Attributes - copy all or part of your session settings from one session to many others

-

Rename Session

-

Support for launching WinSCP session from the tree

For a description of the full functionality, see: https://puttysm.sourceforge.io/.

OPTIONS

-h

usage message.

-i

install the PuTTYsm command to the 'Desktop'.

-u

uninstall the PuTTYsm shortcut from the 'Desktop'.

-V

print PuTTYsm version.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage message displayed.

5

version message displayed.

FILES

See: putty(1).

EXAMPLES

-

SEE ALSO

wintoolsintro(1), config(1m), putty(1), puttyclean(1), mtputty(1), https://puttysm.sourceforge.io/

NOTES

PuTTYsm has been developed by David Riseley (https://puttysm.sourceforge.net/).

Parts of the documentation has been extracted from https://puttysm.sourceforge.io/.

BUGS

-

AUTHOR

MTPuTTY was developed by by David Riseley and integrated into WA2L/WinTools by Christian Walther. Send suggestions and bug reports related to the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2022 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:47 GMT, September 14, 2024

plink

TOC Index

NAME

plink - PuTTY link, command line network connection tool

SYNOPSIS

plink [options] [user@]host [command]

DESCRIPTION

plink is a network connection tool supporting several protocols.

OPTIONS

The command-line options supported by plink are:

-V

Show version information and exit.

-pgpfp

Display the fingerprints of the PuTTY PGP Master Keys and exit, to aid in verifying new files released by the PuTTY team.

-v

Show verbose messages.

-load session

Load settings from saved session.

-ssh

Force use of SSH protocol (default).

-telnet

Force use of Telnet protocol.

-rlogin

Force use of rlogin protocol.

-raw

Force raw mode.

-serial

Force serial mode.

-proxycmd command

Instead of making a TCP connection, use command as a proxy; network traffic will be redirected to the standard input and output of command. command must be a single word, so is likely to need quoting by the shell.

The special strings %host and %port in command will be replaced by the hostname and port number you want to connect to; to get a literal % sign, enter %%.

Backslash escapes are also supported, such as sequences like \n being replaced by a literal newline; to get a literal backslash, enter \\. (Further escaping may be required by the shell.)

(See the main PuTTY manual for full details of the supported %- and backslash-delimited tokens, although most of them are probably not very useful in this context.)

-P port

Connect to port port.

-l user

Set remote username to user.

-m path

Read remote command(s) from local file path.

-batch

Disable interactive prompts.

-pw password

Set remote password to password. CAUTION: this will likely make the password visible to other users of the local machine (via commands such as `w').

-L [srcaddr:]srcport:desthost:destport

Set up a local port forwarding: listen on srcport (or srcaddr:srcport if specified), and forward any connections over the SSH connection to the destination address desthost:destport. Only works in SSH.

-R [srcaddr:]srcport:desthost:destport

Set up a remote port forwarding: ask the SSH server to listen on srcport (or srcaddr:srcport if specified), and to forward any connections back over the SSH connection where the client will pass them on to the destination address desthost:destport. Only works in SSH.

-D [srcaddr:]srcport

Set up dynamic port forwarding. The client listens on srcport (or srcaddr:srcport if specified), and implements a SOCKS server. So you can point SOCKS-aware applications at this port and they will automatically use the SSH connection to tunnel all their connections. Only works in SSH.

-X

Enable X11 forwarding.

-x

Disable X11 forwarding (default).

-A

Enable agent forwarding.

-a

Disable agent forwarding (default).

-t

Enable pty allocation (default if a command is NOT specified).

-T

Disable pty allocation (default if a command is specified).

-1

Force use of SSH protocol version 1.

-2

Force use of SSH protocol version 2.

-4, -6

Force use of IPv4 or IPv6 for network connections.

-C

Enable SSH compression.

-i keyfile

Private key file for user authentication. For SSH-2 keys, this key file must be in PuTTY's PPK format, not OpenSSH's format or anyone else's.

If you are using an authentication agent, you can also specify a public key here (in RFC 4716 or OpenSSH format), to identify which of the agent's keys to use.

-noagent

Don't try to use an authentication agent for local authentication. (This doesn't affect agent forwarding.)

-agent

Allow use of an authentication agent. (This option is only necessary to override a setting in a saved session.)

-hostkey key

Specify an acceptable host public key. This option may be specified multiple times; each key can be either a fingerprint (99:aa:bb:...) or a base64-encoded blob in OpenSSH's one-line format.

Specifying this option overrides automated host key management; only the key(s) specified on the command-line will be accepted (unless a saved session also overrides host keys, in which case those will be added to), and the host key cache will not be written.

-s

Remote command is SSH subsystem (SSH-2 only).

-N

Don't start a remote command or shell at all (SSH-2 only).

-nc host:port

Make a remote network connection from the server instead of starting a shell or command.

-sercfg configuration-string

Specify the configuration parameters for the serial port, in -serial mode. configuration-string should be a comma-separated list of configuration parameters as follows:

*

Any single digit from 5 to 9 sets the number of data bits.

*

`1', `1.5' or `2' sets the number of stop bits.

*

Any other numeric string is interpreted as a baud rate.

*

A single lower-case letter specifies the parity: `n' for none, `o' for odd, `e' for even, `m' for mark and `s' for space.

*

A single upper-case letter specifies the flow control: `N' for none, `X' for XON/XOFF, `R' for RTS/CTS and `D' for DSR/DTR.

-sshlog logfile

-sshrawlog logfile

For SSH connections, these options make plink log protocol details to a file. (Some of these may be sensitive, although by default an effort is made to suppress obvious passwords.)

-sshlog logs decoded SSH packets and other events (those that -v would print). -sshrawlog additionally logs the raw encrypted packet data.

-shareexists

Instead of making a new connection, test for the presence of an existing connection that can be shared. The desired session can be specified in any of the usual ways.

Returns immediately with a zero exit status if a suitable `upstream' exists, nonzero otherwise.

MORE INFORMATION

For more information on plink, it's probably best to go and look at the manual on the PuTTY web page:

https://www.chiark.greenend.org.uk/~sgtatham/putty/

BUGS

This man page isn't terribly complete. See the above web link for better documentation.

NAME SYNOPSIS DESCRIPTION OPTIONS MORE INFORMATION BUGS

This document was created by man2html using the manual pages.

Time: 16:33:41 GMT, September 14, 2024

psftp

TOC Index

NAME

psftp - interactive SFTP (secure file transfer protocol) client

SYNOPSIS

psftp [options] [user@]host

DESCRIPTION

psftp is an interactive text-based client for the SSH-based SFTP (secure file transfer) protocol.

OPTIONS

The command-line options supported by psftp are:

-V

Show version information and exit.

-pgpfp

Display the fingerprints of the PuTTY PGP Master Keys and exit, to aid in verifying new files released by the PuTTY team.

-b batchfile

Use specified batchfile.

-bc

Output batchfile commands.

-be

Don't stop batchfile processing on errors.

-v

Show verbose messages.

-load session

Load settings from saved session.

-P port

Connect to port port.

-proxycmd command

Instead of making a TCP connection, use command as a proxy; network traffic will be redirected to the standard input and output of command. command must be a single word, so is likely to need quoting by the shell.

The special strings %host and %port in command will be replaced by the hostname and port number you want to connect to; to get a literal % sign, enter %%.

Backslash escapes are also supported, such as sequences like \n being replaced by a literal newline; to get a literal backslash, enter \\. (Further escaping may be required by the shell.)

(See the main PuTTY manual for full details of the supported %- and backslash-delimited tokens, although most of them are probably not very useful in this context.)

-l user

Set remote username to user.

-batch

Disable interactive prompts.

-pw password

Set remote password to password. CAUTION: this will likely make the password visible to other users of the local machine (via commands such as `w').

-1

Force use of SSH protocol version 1.

-2

Force use of SSH protocol version 2.

-4, -6

Force use of IPv4 or IPv6 for network connections.

-C

Enable SSH compression.

-i keyfile

Private key file for user authentication. For SSH-2 keys, this key file must be in PuTTY's PPK format, not OpenSSH's format or anyone else's.

If you are using an authentication agent, you can also specify a public key here (in RFC 4716 or OpenSSH format), to identify which of the agent's keys to use.

-noagent

Don't try to use an authentication agent.

-agent

Allow use of an authentication agent. (This option is only necessary to override a setting in a saved session.)

-hostkey key

Specify an acceptable host public key. This option may be specified multiple times; each key can be either a fingerprint (99:aa:bb:...) or a base64-encoded blob in OpenSSH's one-line format.

Specifying this option overrides automated host key management; only the key(s) specified on the command-line will be accepted (unless a saved session also overrides host keys, in which case those will be added to), and the host key cache will not be written.

-sshlog logfile

-sshrawlog logfile

These options make psftp log protocol details to a file. (Some of these may be sensitive, although by default an effort is made to suppress obvious passwords.)

-sshlog logs decoded SSH packets and other events (those that -v would print). -sshrawlog additionally logs the raw encrypted packet data.

COMMANDS

For a list of commands available inside psftp, type help at the psftp> prompt.

MORE INFORMATION

For more information on psftp it's probably best to go and look at the manual on the PuTTY web page:

https://www.chiark.greenend.org.uk/~sgtatham/putty/

BUGS

This man page isn't terribly complete. See the above web link for better documentation.

NAME SYNOPSIS DESCRIPTION OPTIONS COMMANDS MORE INFORMATION BUGS

This document was created by man2html using the manual pages.

Time: 16:33:41 GMT, September 14, 2024

tunnel

TOC Index

NAME

tunnel - permanently run PuTTY tunnel session

SYNOPSIS

WA2LWinTools/bin/tunnel [ -h | -V | -l | -m | -p | -a ]

tunnel "putty session"

tunnel -s ( "putty session" | all )

AVAILABILITY

WA2L/WinTools

DESCRIPTION

a command line tool to permanently run PuTTY tunnel session.

With the tunnel command a PuTTY session is started in the background. As soon as the started session terminates it is restarted to ensure that a tunnel session is as reliable as possible.

The default timeout and restart settings can be changed in the optional etc/tunnel.cfg configuration file.

To use a PuTTY session in tunnel the session needs to be defined first in PuTTY in a way that no user interaction is needed on start of the session (using private/public keys to connect and no passphrase or using the pageant(1) prior to start tunnel ).

OPTIONS

-h

usage message.

-V

print program version.

-l

list log file entries of today.

-m

monitor log file.

-p

print all PuTTY sessions handled by tunnel.

-a

list all available (defined) PuTTY sessions. Not all sessions might be suitable tunnels.

"putty session"

a PuTTY session to be handled (restarted on connection loss) by tunnel.

-s "putty session"

stop a PuTTY session handled by tunnel.

-s all

stop all PuTTY session handled by tunnel.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage message displayed.

5

version message displayed.

FILES

etc/tunnel.cfg

optional configuration file for tunnel.

The settings MINUPTIME=seconds, FASTRESTART=seconds, SLOWRESTART=seconds and MAXRETRIES=number can be used to change the default connection and restart behavior.

var/log/tunnel.log

log file of tunnel.

HKEY_CURRENT_USER\SOFTWARE\SimonTatham\PuTTY\Sessions\session

Windows™ registry key of a PuTTY session.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), pageant(1), putty(1), tunnel.cfg(4)

NOTES

-

BUGS

-

AUTHOR

tunnel was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2022 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:33:10 GMT, September 14, 2024

Calculator

TOC Index

NAME

Calculator - RPN calculator

SYNOPSIS

WA2LWinTools/bin/Calculator [ -h | -i | -u | -V ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

Calculator using the reverse Polish notation (RPN).

To see how the reverse Polish notation works, see: https://de.wikipedia.org/wiki/Umgekehrte_polnische_Notation or https://en.wikipedia.org/wiki/Reverse_Polish_notation,

The WA2L/WinTools provides two RPM calculator variants, one using the .NET environment and a native one. You can set the started calculator by creating the optional etc/Calculator.cfg file.

OPTIONS

-h

usage message.

-i

install the Calculator command as shortcut to the user's 'Desktop'.

-u

uninstall the Calculator shortcut from the user's 'Desktop'.

-V

print program version.

ENVIRONMENT

-

EXIT STATUS

0

always.

4

usage message displayed.

5

version message displayed.

FILES

var/db/calculator/calc.dat

state information of the Calculator command.

etc/calculator.cfg

optional configuration file for Calculator. In the configuration setting CALCULATOR=calculator-binary the desired calculator can be defined. Currently the settings CALCULATOR=Calculator (=default, .NET) and CALCULATOR=RPN_Calculator are accepted.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), http://www.speech.kth.se/calculator/, https://sourceforge.net/projects/rpncalcnet/, https://de.wikipedia.org/wiki/Umgekehrte_polnische_Notation, https://en.wikipedia.org/wiki/Reverse_Polish_notation, https://de.wikipedia.org/wiki/HP_48, https://en.wikipedia.org/wiki/HP_48_series

NOTES

calculator (CALCULATOR=Calculator) has been developed by Alec Seward <alec@speech.kth.se>, see also http://www.speech.kth.se/calculator/ for more information.

calculator (CALCULATOR=RPN_Calculator) has been developed Mario Cerniar <RPNCalculator@live.com>, see also https://sourceforge.net/projects/rpncalcnet/ for more information.

BUGS

-

AUTHOR

calculator was developed on the one hand by Alec Seward <alec@speech.kth.se> and on the other hand by Mario Cerniar <RPNCalculator@live.com> and integrated into WA2L/WinTools by Christian Walther. Send suggestions and bug reports regarding the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:31:49 GMT, September 14, 2024

CatchChar

TOC Index

NAME

CatchChar - Context Menu in any Application with Special Characters

SYNOPSIS

WA2LWinTools/bin/CatchChar

CatchChar [ -h | -i | -u | -V ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

provide a context menu of special characters in any application when pressing a hotkey (default: Alt+Shift+C).

OPTIONS

-h

usage message.

-i

install the CatchChar command to 'Startup' in the Windows Start Menu.

-u

uninstall the CatchChar shortcut from 'Startup' in the Windows Start Menu.

-V

print program version.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage message displayed.

5

version message displayed.

FILES

etc/CatchChar.cfg

configuration files of CatchChar.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), activehotkeys(1m), config(1m)

NOTES

-

BUGS

It has been observed (24.11.2023), that CatchChar has problems starting on some Windows™ 11 installations.

AUTHOR

CatchChar was developed by by AvniTech Solutions <https://www.softpedia.com/get/Office-tools/Other-Office-Tools/CatchChar.shtml> and integrated into WA2L/WinTools by Christian Walther. Send suggestions and bug reports related to the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2022 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:31:50 GMT, September 14, 2024

Hasher

TOC Index

NAME

Hasher - Calculate and compare file checksum

SYNOPSIS

WA2LWinTools/bin/Hasher [ -h | -i | -u | -V ]

Hasher [ -c[cms]sx ][ file ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

You can use IgorWare Hasher to generate checksum for text or single file and verify its integrity by using verification files (.sha, .md5 and .sfv).

The Hasher command can be installed to the 'Send To' context menu in 'Microsoft™ Windows Explorer' for most convenient usage. To do so, invoke Hasher -i once.

OPTIONS

-h

usage message.

-i

install the Hasher command as menu point 'Hasher' to the 'Send To' context menu in 'Windows Explorer'.

-u

uninstall the Hasher shortcut from the 'Send To' context menu in 'Windows Explorer'.

-V

print program version.

-c[cms]sx

calculate hash. You can optionally define which algorithm to calculate with switches inside brackets ([]):

[c]

CRC32 checksum

[m]

MD5 checksum

[s]

SHA-1 checksum

s

save files after calculation

x

exit after calculation

Examples:

To calculate only SHA-1 algorithm:

Hasher.exe -c[s] "c:\file.txt"

To calculate all three algorithms, save hash values in files and exit:

Hasher.exe -c[cms]sx "c:\file.txt"

file

file to calculate the checksum for.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage message displayed.

5

program version printed.

6

program variant not known. This error occurs when the Hasher command is renamed.

FILES

Hasher.cfg

configuration file of Hasher.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), config(1m), https://www.igorware.com/hasher/help

NOTES

Hasher was developed by Igor <support@igorware.com>. See (https://www.igorware.com/hasher) for more information.

Parts of this manual page are extracted from the web page: https://www.igorware.com/hasher/help.

BUGS

-

AUTHOR

Hasher was developed by Igor <support@igorware.com>. and integrated into WA2L/WinTools by Christian Walther. Send suggestions and bug reports regarding the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:08 GMT, September 14, 2024

CinemaDrape

TOC Index

NAME

CinemaDrape - black out screen areas

SYNOPSIS

WA2LWinTools/bin/CinemaDrape [ -h | -i | -u | -V ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

Minimize distractions and focus on your task by blacking out other screen areas.

See: https://www.aurelitec.com/cinemadrape/help/ for more information.

Introduction

CinemaDrape helps you focus on your current task on screen, by instantly blanking or dimming the other less important areas in a web page or in the background windows. CinemaDrape works anywhere and can help you write an important document, watch an online video, compose an email, or play a browser game.

Use CinemaDrape to stop getting distracted by all those side elements, ads, or social network and instant messaging notifications. With CinemaDrape you no longer have to manually clean up your working screen area, close windows, or watch lower resolution videos in full screen mode just to get rid of the disturbing elements.

CinemaDrape is very easy to use: adding a new transparent focus area is like drawing a rectangle. You can add as many focus areas as you need. And you can easily move or resize the focus areas using the mouse or arrow keys, save them for future reuse, pause or resume the drape, or change its color and opacity.

The Menu

Click the right mouse button, long tap, or press Escape to open the main CinemaDrape menu.

Drape Menu Items

Hide (Pause)

Use this menu item to pause CinemaDrape. When CinemaDrape is paused, the drape is hidden, and your entire screen is revealed as usual. To restore CinemaDrape, click the CinemaDrape icon from the Windows taskbar notification area.

Background Color

Use this menu item and its sub-items to change the drape color. You can select a color from a Color Picker dialog box, enter its name or code, or try a random color.

Opacity

Use this menu item to change the opacity of the drape.

Reset to Black

Use this menu item to reset the drape color to Black, and its opacity to 100% (fully opaque).

Focus Areas Menu Items

Area Under Cursor

Use this menu item to try to automatically detect the area under the mouse cursor. This is an experimental feature. For example, you can use this feature to automatically detect a YouTube video area in Microsoft Internet Explorer or Mozilla Firefox.

Window Under Cursor

Use this menu item to try to automatically detect the window under the mouse cursor. This is an experimental feature. For example, you can use this feature to automatically detect an entire, non-maximized browser window.

New Random Area

Use this menu item to create a new, random focus area.

Delete All

Use this menu item to delete all focus areas. (To delete a single focus area, press the Delete key while its border is visible.)

Extras Menu Items

Load Layout

Use this menu item to load the focus areas, the drape color and opacity and other settings from a previously saved CinemaDrape layout file.

Save Layout

Use this menu item to save the location and size of all focus areas, the drape color and opacity and other settings to a CinemaDrape layout file. This option allows you to save separate CinemaDrape layouts for each of your activities that require a distraction free environment.

Settings

Use this menu item to open the Settings dialog box and change the keyboard shortcut for pausing and resuming CinemaDrape, and other various app settings.

About

Use the sub-items of this menu item to open the Online Help, find out the current version of the app, and visit the app pages on the Internet.

Exit

Use this menu item to close CinemaDrape. The focus areas, the drape color and opacity, and other settings will be automatically restored the next time you run CinemaDrape.

OPTIONS

-h

usage message.

-i

install the CinemaDrape command on the Windows™ 'Desktop'.

-u

uninstall the CinemaDrape command from the Windows™ 'Desktop'.

-V

print program version.

ENVIRONMENT

-

EXIT STATUS

0

always.

FILES

etc/CinemaDrape.cfg

configuration file of CinemaDrape. This file is updated when settings in the CinemaDrape application are changed and saved.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), https://www.aurelitec.com/cinemadrape/

NOTES

This manpage is a partial extract of the home page https://www.aurelitec.com/cinemadrape/ which has been written by Aurelitec <https://www.aurelitec.com/about/>. See the mentioned web page to view the complete CinemaDrape description.

BUGS

-

AUTHOR

CinemaDrape was developed by Aurelitec (https://www.aurelitec.com/cinemadrape/) and integrated into WA2L/WinTools by Christian Walther. Send suggestions and bug reports regarding the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2023 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION Introduction The Menu Drape Menu Items Focus Areas Menu Items Extras Menu Items OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:31:51 GMT, September 14, 2024

ClassicStartMenu

TOC Index

NAME

ClassicStartMenu - replace the Windows™ Start menu with a classic menu

SYNOPSIS

WA2LWinTools/bin/ClassicStartMenu [ -h | -i | -u | -V ]

ClassicStartMenu

AVAILABILITY

WA2L/WinTools

DESCRIPTION

ClassicStartMenu provides a classic version of the Windows™ 'Start' menu on Windows™ 7, 8, 8.1 and 10.

This is particular interesting on Windows™ 10 where the menu gets very long and sub-menus are no longer shown even when the installed software would provide some.

The original Windows™ 'Start' menu is still available thru an extra menu point.

Furthermore the original Windows™ 'Start' menu is not deleted by the ClassicStartMenu command, "only" the presentation changes. If you want to return to the original menu, simply do not start the ClassicStartMenu command any more.

OPTIONS

-h

usage message.

-i

install the ClassicStartMenu command to 'Startup' in the Windows Start Menu to enable a start of the ClassicStartMenu command on Windows™ start.

-u

uninstall the ClassicStartMenu shortcut from 'Startup' in the Windows Start Menu.

-V

print program version.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage displayed.

5

version message displayed.

FILES

etc/ClassicStartMenu.cfg

configuration file for the command maintained by ClassicStartMenu.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), classicstartmenu.chm(1m), classicstartmenu.Help(1m), config(1m), https://github.com/Open-Shell/Open-Shell-Menu, pstart(1), svcinit(1m)

NOTES

The original Open-Shell-Menu (formerly ClassicShell) package provides the modules Classic Start Menu, Classic Explorer and Classic IE, but only the Classic Start Menu module is integrated into the WA2L/WinTools package.

For more information about the Open-Shell-Menu package, see: https://github.com/Open-Shell/Open-Shell-Menu.

BUGS

-

AUTHOR

ClassicStartMenu was developed by Ivo Beltchev and integrated into WA2L/WinTools by Christian Walther. Send suggestions and bug reports regarding the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:31:52 GMT, September 14, 2024

svcinit

TOC Index

NAME

svcinit - manually start/stop AutoStart WA2L/WinTools programs

SYNOPSIS

WA2LWinTools/bin/svcinit [ -h | -V ]

svcinit [ list | start | stop | restart ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

The svcinit command provides a simple and fast method to manually start/stop/list all WA2L/WinTools commands that are defined thru config(1m) to be started automatically during login to Windows™.

Normally the programs are started when you log in and stopped when you log out or shut down the system. But sometimes it might me needed to quickly stop all running programs; as when the package is installed on a removable device and the device should be removed.

Be aware, that any work using WA2L/WinTools programs has to be saved ahead of executing the svcinit command.

OPTIONS

-h

usage message.

-V

print program version.

list

list WA2L/WinTools commands defined to be automatically started during login to Windows™ and programs started from the WA2L/WinTools package.

start

manually start all WA2L/WinTools commands that are defined to be automatically started during login to Windows™.

stop

manually stop all running WA2L/WinTools commands that are defined to be automatically started during login to Windows™.

restart

manually restart all running WA2L/WinTools commands that are defined to be automatically started during login to Windows™.

ENVIRONMENT

-

EXIT STATUS

0

always.

4

usage displayed.

5

version message displayed.

FILES

%APPDATA%/Microsoft/Windows/Start Menu/Programs/Startup/WA2LWinTools.*.lnk

shortcuts to WA2L/WinTools commands that are started during login to Windows. This shortcuts are created by the config(1m) command.

lib/svcinit.cfg

optional configuration file for svcinit.

lib/svcinit.ProcessName.cfg

optional configuration file for a service process.

lib/svcinit.ProcessName.cmd

optional stop script file for a service process.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), config(1m), svcinit.cfg(4), svcinit.pn.cfg(4), svcinit.pn.cmd(4), wtshell(1m)

NOTES

the commands config(1m), wintoolsdownload(1m) and the self extracting zip file WA2LWinTools-m.u.pp-YYYYMMDDhhmm.exe use svcinit to stop and start the services.

BUGS

-

AUTHOR

svcinit was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2022 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:33:05 GMT, September 14, 2024

WinToolsDownload

TOC Index

NAME

WinToolsDownload - download/install current version of WA2L/WinTools package

SYNOPSIS

WA2LWinTools/bin/WinToolsDownload [ -h | -V ]

WinToolsDownload

AVAILABILITY

WA2L/WinTools

DESCRIPTION

Download the most recent version of the WA2L/WinTools package from sourceforge.net.

The package *.exe file is downloaded to the var/sw/ directory if it does not already exist.

After downloading the package file you have the option to install it directly and upgrade the current installation by uncompressing the downloaded file to the installation directory.

OPTIONS

-h

usage message.

-V

print program version.

ENVIRONMENT

-

EXIT STATUS

0

always.

FILES

etc/setup.cfg

optional configuration file for WinToolsDownload and setup. See also setup.cfg(4) for more information.

lib/WinToolsDownload-postexec.cmd

commands that are executed after the upgrading of the package.

var/log/WinToolsDownload.log

log file of WinToolsDownload.

var/sw/

target directory of the WA2L/WinTools package download.

WA2LWinTools/

installation directory of the WA2L/WinTools package.

https://sourceforge.net/projects/wa2l-wintools/best_release.json

JSON file containing the information for the most recent application file upload to sourceforge.net.

etc/proxy.hostname.cfg

etc/proxy.domainname.cfg

etc/proxy.cfg

optional configuration file to define proxy settings. See proxy.cfg(4) for more information.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), config(1m), proxy.cfg(4), setup.cfg(4)

NOTES

-

BUGS

-

AUTHOR

WinToolsDownload was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:33:17 GMT, September 14, 2024

setup.cfg

TOC Index

NAME

setup.cfg - configuration file for setup and WinToolsDownload

SYNOPSIS

WA2LWinTools/etc/setup.cfg

WA2LWinTools/etc/setup.domainname.cfg

WA2LWinTools/etc/setup.hostname.cfg

AVAILABILITY

WA2L/WinTools

DESCRIPTION

This is the optional configuration file for the setup (WA2LWinTools-<version>-<build>.exe) and WinToolsDownload command.

The configuration file setup.hostname.cfg has preference over setup.domainname.cfg and this file has preference over setup.cfg.

FILEFORMAT

Rows starting with a # are considered as comments.

The file format is OPTION=VALUE

Between the OPTION, the = and the VALUE are no spaces.

OPTIONS

REMOVESWFILES

to remove the downloaded/installed software file saved in the WA2LWinTools/var/sw/ directory after installing/upgrading the WA2L/WinTools package set this setting to True

This to save disk space (on USB drives, for example).

Example: REMOVESWFILES=True

Default: REMOVESWFILES=False

EXCLUDEFILES

A space separated list of files to exclude from installation. Files containing spaces need to be enclosed by double quotes.

NOTICE: This option should be used in *very* special occasions because it might compromise the correct operation of the WA2L/WinTools package.

Example: EXCLUDEFILES=WA2LWinTools/lib/KeyFreeze_x64.exe

Default: EXCLUDEFILES=

SWDIRECTORY

directory where to save the downloaded/installed software archive.

If the directory defined here does not exist, the software archive will be saved in the default location WA2LWinTools/var/sw/.

Example: SWDIRECTORY=h:\data\software\tools

Default: SWDIRECTORY=WA2LWinTools\var\sw

SERVICERESTART

Stop the services that are defined to be started On Login (see: config.cfg(4)) prior to the installation/upgrading of the WA2L/WinTools package.

Example: SERVICERESTART=False

Default: SERVICERESTART=True

STARTCONFIG

setting to define whether the config(1m) command is started at the end of the setup/upgrade process.

Example: STARTCONFIG=False

Default: STARTCONFIG=True

REAPPLYCONFIG

to avoid to flag the [ (!) Install / Apply ] button of config(1m) set this option to False.

This setting would only be used if you want to update the WA2L/WinTools installed on a external device, but you don't want to apply the settings (as defined in the WA2LWinTools/etc/config.cfg file) to the system where you run the setup/upgrade.

When setting this option to False the config(1m) command is not started at the end of the setup/upgrade process.

Probably you might want to set this setting in the WA2LWinTools/etc/setup.hostname.cfg file, where the hostname equals to the computer where you setup/update the package rather than in the WA2LWinTools/etc/setup.cfg file.

After package setup/upgrade on the external device with this option set to False, you should start the config(1m) command once on the computer where you are using the updated package (the first time) and press the [ Re-Apply ] button to be sure that the new/changed features are correctly set/adjusted.

Example: REAPPLYCONFIG=False

Default: REAPPLYCONFIG=True

NTLM_AUTH

Enable/disable NTLM proxy authentication.

If a proxy is defined in proxy.cfg(4) NTLM authentication is used, else NTLM is not used.

With NTLM_AUTH=setting this behaviour can be superseded.

Example: NTLM_AUTH=True

Default: NTLM_AUTH=False

EXAMPLES

-

SEE ALSO

wintools(1), wintoolsdownload(1m), config(1m), config.cfg(4), proxy.cfg(4)

NOTES

-

BUGS

-

AUTHOR

setup.cfg was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION FILEFORMAT OPTIONS EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:58 GMT, September 14, 2024

proxy.cfg

TOC Index

NAME

proxy.cfg - proxy configuration file

SYNOPSIS

WA2LWinTools/etc/proxy.hostname.cfg

WA2LWinTools/etc/proxy.domainname.cfg

WA2LWinTools/etc/proxy.cfg

AVAILABILITY

WA2L/WinTools

DESCRIPTION

This is the optional configuration file for the lib/proxy and proxy shell command.

The configuration file containing the hostname has preference over the proxy.domainname.cfg file, if it exists on the related host. Where the hostname is resolved by the %COMPUTERNAME% environment variable.

The configuration file containing the domainname has preference over the proxy.cfg file, if it exists on the related host. Where the domainname is resolved by the %USERDOMAIN% environment variable.

FILEFORMAT

Rows starting with a # are considered as comments.

The file format is OPTION=VALUE

Between the OPTION, the = and the VALUE are no spaces.

OPTIONS

HTTP_PROXY

URL of the HTTP proxy. Replace user with your username and password with your password.

Example: HTTP_PROXY=http://proxy.acme.org:8080

Example: HTTP_PROXY=http://user:password@proxy.acme.org:8080

Default: HTTP_PROXY=

HTTPS_PROXY

URL of the HTTPS proxy. Often the server name is the same as the proxy specified in HTTP_PROXY. Replace user with your username and password with your password.

Example: HTTPS_PROXY=https://proxy.acme.org:8080

Example: HTTPS_PROXY=https://user:password@proxy.acme.org:8080

Default: HTTPS_PROXY=

EXAMPLES

1) Simple example configuration file when sitting behind a proxy

#

# etc/proxy.cfg - proxy Configuration file

#

# [00] 11.11.2016 CWa Initial Version

#

HTTP_PROXY=http://fred:Secr3t@proxy.acme.org:8080

HTTPS_PROXY=https://fred:Secr3t@proxy.acme.org:8080

If you are allowed to access the internet directly (as when you are browsing from home) you don't need to specify proxy settings.

SEE ALSO

wintoolsintro(1), curl(1), proxy(3), wintoolsdownload(1m), wget(3)

NOTES

-

BUGS

-

AUTHOR

proxy.cfg was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION FILEFORMAT OPTIONS EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:45 GMT, September 14, 2024

curl

TOC Index

NAME

curl - transfer a URL

SYNOPSIS

curl [options] [URL...]

DESCRIPTION

curl is a tool to transfer data from or to a server, using one of the supported protocols (DICT, FILE, FTP, FTPS, GOPHER, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNET and TFTP). The command is designed to work without user interaction.

curl offers a busload of useful tricks like proxy support, user authentication, FTP upload, HTTP post, SSL connections, cookies, file transfer resume, Metalink, and more. As you will see below, the number of features will make your head spin!

curl is powered by libcurl for all transfer-related features. See libcurl(3) for details.

URL

The URL syntax is protocol-dependent. You'll find a detailed description in RFC 3986.

You can specify multiple URLs or parts of URLs by writing part sets within braces as in:

http://site.{one,two,three}.com

or you can get sequences of alphanumeric series by using [] as in:

ftp://ftp.numericals.com/file[1-100].txt

ftp://ftp.numericals.com/file[001-100].txt    (with leading zeros)

ftp://ftp.letters.com/file[a-z].txt

Nested sequences are not supported, but you can use several ones next to each other:

http://any.org/archive[1996-1999]/vol[1-4]/part{a,b,c}.html

You can specify any amount of URLs on the command line. They will be fetched in a sequential manner in the specified order.

You can specify a step counter for the ranges to get every Nth number or letter:

http://www.numericals.com/file[1-100:10].txt

http://www.letters.com/file[a-z:2].txt

When using [] or {} sequences when invoked from a command line prompt, you probably have to put the full URL within double quotes to avoid the shell from interfering with it. This also goes for other characters treated special, like for example '&', '?' and '*'.

Provide the IPv6 zone index in the URL with an escaped percentage sign and the interface name. Like in

http://[fe80::3%25eth0]/

If you specify URL without protocol:// prefix, curl will attempt to guess what protocol you might want. It will then default to HTTP but try other protocols based on often-used host name prefixes. For example, for host names starting with "ftp." curl will assume you want to speak FTP.

curl will do its best to use what you pass to it as a URL. It is not trying to validate it as a syntactically correct URL by any means but is instead very liberal with what it accepts.

curl will attempt to re-use connections for multiple file transfers, so that getting many files from the same server will not do multiple connects / handshakes. This improves speed. Of course this is only done on files specified on a single command line and cannot be used between separate curl invokes.

PROGRESS METER

curl normally displays a progress meter during operations, indicating the amount of transferred data, transfer speeds and estimated time left, etc.

curl displays this data to the terminal by default, so if you invoke curl to do an operation and it is about to write data to the terminal, it disables the progress meter as otherwise it would mess up the output mixing progress meter and response data.

If you want a progress meter for HTTP POST or PUT requests, you need to redirect the response output to a file, using shell redirect (>), -o [file] or similar.

It is not the same case for FTP upload as that operation does not spit out any response data to the terminal.

If you prefer a progress "bar" instead of the regular meter, -# is your friend.

OPTIONS

Options start with one or two dashes. Many of the options require an additional value next to them.

The short "single-dash" form of the options, -d for example, may be used with or without a space between it and its value, although a space is a recommended separator. The long "double-dash" form, --data for example, requires a space between it and its value.

Short version options that don't need any additional values can be used immediately next to each other, like for example you can specify all the options -O, -L and -v at once as -OLv.

In general, all boolean options are enabled with --option and yet again disabled with --no-option. That is, you use the exact same option name but prefix it with "no-". However, in this list we mostly only list and show the --option version of them. (This concept with --no options was added in 7.19.0. Previously most options were toggled on/off on repeated use of the same command line option.)

-#, --progress-bar

Make curl display progress as a simple progress bar instead of the standard, more informational, meter.

-:, --next

Tells curl to use a separate operation for the following URL and associated options. This allows you to send several URL requests, each with their own specific options, for example, such as different user names or custom requests for each. (Added in 7.36.0)

-0, --http1.0

(HTTP) Tells curl to use HTTP version 1.0 instead of using its internally preferred: HTTP 1.1.

--http1.1

(HTTP) Tells curl to use HTTP version 1.1. This is the internal default version. (Added in 7.33.0)

--http2

(HTTP) Tells curl to issue its requests using HTTP 2. This requires that the underlying libcurl was built to support it. (Added in 7.33.0)

--no-npn

Disable the NPN TLS extension. NPN is enabled by default if libcurl was built with an SSL library that supports NPN. NPN is used by a libcurl that supports HTTP 2 to negotiate HTTP 2 support with the server during https sessions.

(Added in 7.36.0)

--no-alpn

Disable the ALPN TLS extension. ALPN is enabled by default if libcurl was built with an SSL library that supports ALPN. ALPN is used by a libcurl that supports HTTP 2 to negotiate HTTP 2 support with the server during https sessions.

(Added in 7.36.0)

-1, --tlsv1

(SSL) Forces curl to use TLS version 1.x when negotiating with a remote TLS server. You can use options --tlsv1.0, --tlsv1.1, and --tlsv1.2 to control the TLS version more precisely (if the SSL backend in use supports such a level of control).

-2, --sslv2

(SSL) Forces curl to use SSL version 2 when negotiating with a remote SSL server. Sometimes curl is built without SSLv2 support. SSLv2 is widely considered insecure (see RFC 6176).

-3, --sslv3

(SSL) Forces curl to use SSL version 3 when negotiating with a remote SSL server. Sometimes curl is built without SSLv3 support. SSLv3 is widely considered insecure (see RFC 7568).

-4, --ipv4

This option tells curl to resolve names to IPv4 addresses only, and not for example try IPv6.

-6, --ipv6

This option tells curl to resolve names to IPv6 addresses only, and not for example try IPv4.

-a, --append

(FTP/SFTP) When used in an upload, this makes curl append to the target file instead of overwriting it. If the remote file doesn't exist, it will be created. Note that this flag is ignored by some SFTP servers (including OpenSSH).

-A, --user-agent <agent string>

(HTTP) Specify the User-Agent string to send to the HTTP server. Some badly done CGIs fail if this field isn't set to "Mozilla/4.0". To encode blanks in the string, surround the string with single quote marks. This can also be set with the -H, --header option of course.

If this option is used several times, the last one will be used.

--anyauth

(HTTP) Tells curl to figure out authentication method by itself, and use the most secure one the remote site claims to support. This is done by first doing a request and checking the response-headers, thus possibly inducing an extra network round-trip. This is used instead of setting a specific authentication method, which you can do with --basic, --digest, --ntlm, and --negotiate.

Note that using --anyauth is not recommended if you do uploads from stdin, since it may require data to be sent twice and then the client must be able to rewind. If the need should arise when uploading from stdin, the upload operation will fail.

-b, --cookie <name=data>

(HTTP) Pass the data to the HTTP server as a cookie. It is supposedly the data previously received from the server in a "Set-Cookie:" line. The data should be in the format "NAME1=VALUE1; NAME2=VALUE2".

If no '=' symbol is used in the line, it is treated as a filename to use to read previously stored cookie lines from, which should be used in this session if they match. Using this method also activates the cookie engine which will make curl record incoming cookies too, which may be handy if you're using this in combination with the -L, --location option. The file format of the file to read cookies from should be plain HTTP headers or the Netscape/Mozilla cookie file format.

The file specified with -b, --cookie is only used as input. No cookies will be written to the file. To store cookies, use the -c, --cookie-jar option.

Exercise caution if you are using this option and multiple transfers may occur. If you use the NAME1=VALUE1; format, or in a file use the Set-Cookie format and don't specify a domain, then the cookie is sent for any domain (even after redirects are followed) and cannot be modified by a server-set cookie. If the cookie engine is enabled and a server sets a cookie of the same name then both will be sent on a future transfer to that server, likely not what you intended. To address these issues set a domain in Set-Cookie (doing that will include sub-domains) or use the Netscape format.

If this option is used several times, the last one will be used.

-B, --use-ascii

(FTP/LDAP) Enable ASCII transfer. For FTP, this can also be enforced by using an URL that ends with ";type=A". This option causes data sent to stdout to be in text mode for win32 systems.

--basic

(HTTP) Tells curl to use HTTP Basic authentication with the remote host. This is the default and this option is usually pointless, unless you use it to override a previously set option that sets a different authentication method (such as --ntlm, --digest, or --negotiate).

Used together with -u, --user and -x, --proxy.

See also --proxy-basic.

-c, --cookie-jar <file name>

(HTTP) Specify to which file you want curl to write all cookies after a completed operation. Curl writes all cookies previously read from a specified file as well as all cookies received from remote server(s). If no cookies are known, no data will be written. The file will be written using the Netscape cookie file format. If you set the file name to a single dash, "-", the cookies will be written to stdout.

This command line option will activate the cookie engine that makes curl record and use cookies. Another way to activate it is to use the -b, --cookie option.

If the cookie jar can't be created or written to, the whole curl operation won't fail or even report an error clearly. Using -v will get a warning displayed, but that is the only visible feedback you get about this possibly lethal situation.

Since 7.43.0 cookies that were imported in the Set-Cookie format without a domain name are not exported by this option.

If this option is used several times, the last specified file name will be used.

-C, --continue-at <offset>

Continue/Resume a previous file transfer at the given offset. The given offset is the exact number of bytes that will be skipped, counting from the beginning of the source file before it is transferred to the destination. If used with uploads, the FTP server command SIZE will not be used by curl.

Use "-C -" to tell curl to automatically find out where/how to resume the transfer. It then uses the given output/input files to figure that out.

If this option is used several times, the last one will be used.

--ciphers <list of ciphers>

(SSL) Specifies which ciphers to use in the connection. The list of ciphers must specify valid ciphers. Read up on SSL cipher list details on this URL: https://www.openssl.org/docs/apps/ciphers.html

NSS ciphers are done differently than OpenSSL and GnuTLS. The full list of NSS ciphers is in the NSSCipherSuite entry at this URL: https://git.fedorahosted.org/cgit/mod_nss.git/plain/docs/mod_nss.html#Directives

If this option is used several times, the last one will be used.

--compressed

(HTTP) Request a compressed response using one of the algorithms curl supports, and save the uncompressed document. If this option is used and the server sends an unsupported encoding, curl will report an error.

--connect-timeout <seconds>

Maximum time in seconds that you allow curl's connection to take. This only limits the connection phase, so if curl connects within the given period it will continue - if not it will exit. Since version 7.32.0, this option accepts decimal values.

See also the -m, --max-time option.

If this option is used several times, the last one will be used.

--create-dirs

When used in conjunction with the -o option, curl will create the necessary local directory hierarchy as needed. This option creates the dirs mentioned with the -o option, nothing else. If the -o file name uses no dir or if the dirs it mentions already exist, no dir will be created.

To create remote directories when using FTP or SFTP, try --ftp-create-dirs.

--crlf

Convert LF to CRLF in upload. Useful for MVS (OS/390).

(SMTP added in 7.40.0)

--crlfile <file>

(HTTPS/FTPS) Provide a file using PEM format with a Certificate Revocation List that may specify peer certificates that are to be considered revoked.

If this option is used several times, the last one will be used.

(Added in 7.19.7)

-d, --data <data>

(HTTP) Sends the specified data in a POST request to the HTTP server, in the same way that a browser does when a user has filled in an HTML form and presses the submit button. This will cause curl to pass the data to the server using the content-type application/x-www-form-urlencoded. Compare to -F, --form.

-d, --data is the same as --data-ascii. --data-raw is almost the same but does not have a special interpretation of the @ character. To post data purely binary, you should instead use the --data-binary option. To URL-encode the value of a form field you may use --data-urlencode.

If any of these options is used more than once on the same command line, the data pieces specified will be merged together with a separating &-symbol. Thus, using '-d name=daniel -d skill=lousy' would generate a post chunk that looks like 'name=daniel&skill=lousy'.

If you start the data with the letter @, the rest should be a file name to read the data from, or - if you want curl to read the data from stdin. Multiple files can also be specified. Posting data from a file named 'foobar' would thus be done with --data @foobar. When --data is told to read from a file like that, carriage returns and newlines will be stripped out. If you don't want the @ character to have a special interpretation use --data-raw instead.

-D, --dump-header <file>

Write the protocol headers to the specified file.

This option is handy to use when you want to store the headers that an HTTP site sends to you. Cookies from the headers could then be read in a second curl invocation by using the -b, --cookie option! The -c, --cookie-jar option is a better way to store cookies.

When used in FTP, the FTP server response lines are considered being "headers" and thus are saved there.

If this option is used several times, the last one will be used.

--data-ascii <data>

See -d, --data.

--data-binary <data>

(HTTP) This posts data exactly as specified with no extra processing whatsoever.

If you start the data with the letter @, the rest should be a filename. Data is posted in a similar manner as --data-ascii does, except that newlines and carriage returns are preserved and conversions are never done.

If this option is used several times, the ones following the first will append data as described in -d, --data.

--data-raw <data>

(HTTP) This posts data similarly to --data but without the special interpretation of the @ character. See -d, --data. (Added in 7.43.0)

--data-urlencode <data>

(HTTP) This posts data, similar to the other --data options with the exception that this performs URL-encoding. (Added in 7.18.0)

To be CGI-compliant, the <data> part should begin with a name followed by a separator and a content specification. The <data> part can be passed to curl using one of the following syntaxes:

content

This will make curl URL-encode the content and pass that on. Just be careful so that the content doesn't contain any = or @ symbols, as that will then make the syntax match one of the other cases below!

=content

This will make curl URL-encode the content and pass that on. The preceding = symbol is not included in the data.

name=content

This will make curl URL-encode the content part and pass that on. Note that the name part is expected to be URL-encoded already.

@filename

This will make curl load data from the given file (including any newlines), URL-encode that data and pass it on in the POST.

name@filename

This will make curl load data from the given file (including any newlines), URL-encode that data and pass it on in the POST. The name part gets an equal sign appended, resulting in name=urlencoded-file-content. Note that the name is expected to be URL-encoded already.

--delegation LEVEL

Set LEVEL to tell the server what it is allowed to delegate when it comes to user credentials. Used with GSS/kerberos.

none

Don't allow any delegation.

policy

Delegates if and only if the OK-AS-DELEGATE flag is set in the Kerberos service ticket, which is a matter of realm policy.

always

Unconditionally allow the server to delegate.

--digest

(HTTP) Enables HTTP Digest authentication. This is an authentication scheme that prevents the password from being sent over the wire in clear text. Use this in combination with the normal -u, --user option to set user name and password. See also --ntlm, --negotiate and --anyauth for related options.

If this option is used several times, only the first one is used.

--disable-eprt

(FTP) Tell curl to disable the use of the EPRT and LPRT commands when doing active FTP transfers. Curl will normally always first attempt to use EPRT, then LPRT before using PORT, but with this option, it will use PORT right away. EPRT and LPRT are extensions to the original FTP protocol, and may not work on all servers, but they enable more functionality in a better way than the traditional PORT command.

--eprt can be used to explicitly enable EPRT again and --no-eprt is an alias for --disable-eprt.

Disabling EPRT only changes the active behavior. If you want to switch to passive mode you need to not use -P, --ftp-port or force it with --ftp-pasv.

--disable-epsv

(FTP) Tell curl to disable the use of the EPSV command when doing passive FTP transfers. Curl will normally always first attempt to use EPSV before PASV, but with this option, it will not try using EPSV.

--epsv can be used to explicitly enable EPSV again and --no-epsv is an alias for --disable-epsv.

Disabling EPSV only changes the passive behavior. If you want to switch to active mode you need to use -P, --ftp-port.

--dns-interface <interface>

Tell curl to send outgoing DNS requests through <interface>. This option is a counterpart to --interface (which does not affect DNS). The supplied string must be an interface name (not an address).

This option requires that libcurl was built with a resolver backend that supports this operation. The c-ares backend is the only such one. (Added in 7.33.0)

--dns-ipv4-addr <ip-address>

Tell curl to bind to <ip-address> when making IPv4 DNS requests, so that the DNS requests originate from this address. The argument should be a single IPv4 address.

This option requires that libcurl was built with a resolver backend that supports this operation. The c-ares backend is the only such one. (Added in 7.33.0)

--dns-ipv6-addr <ip-address>

Tell curl to bind to <ip-address> when making IPv6 DNS requests, so that the DNS requests originate from this address. The argument should be a single IPv6 address.

This option requires that libcurl was built with a resolver backend that supports this operation. The c-ares backend is the only such one. (Added in 7.33.0)

--dns-servers <ip-address,ip-address>

Set the list of DNS servers to be used instead of the system default. The list of IP addresses should be separated with commas. Port numbers may also optionally be given as :<port-number> after each IP address.

This option requires that libcurl was built with a resolver backend that supports this operation. The c-ares backend is the only such one. (Added in 7.33.0)

-e, --referer <URL>

(HTTP) Sends the "Referrer Page" information to the HTTP server. This can also be set with the -H, --header flag of course. When used with -L, --location you can append ";auto" to the --referer URL to make curl automatically set the previous URL when it follows a Location: header. The ";auto" string can be used alone, even if you don't set an initial --referer.

If this option is used several times, the last one will be used.

-E, --cert <certificate[:password]>

(SSL) Tells curl to use the specified client certificate file when getting a file with HTTPS, FTPS or another SSL-based protocol. The certificate must be in PKCS#12 format if using Secure Transport, or PEM format if using any other engine. If the optional password isn't specified, it will be queried for on the terminal. Note that this option assumes a "certificate" file that is the private key and the client certificate concatenated! See --cert and --key to specify them independently.

If curl is built against the NSS SSL library then this option can tell curl the nickname of the certificate to use within the NSS database defined by the environment variable SSL_DIR (or by default /etc/pki/nssdb). If the NSS PEM PKCS#11 module (libnsspem.so) is available then PEM files may be loaded. If you want to use a file from the current directory, please precede it with "./" prefix, in order to avoid confusion with a nickname. If the nickname contains ":", it needs to be preceded by "\" so that it is not recognized as password delimiter. If the nickname contains "\", it needs to be escaped as "\\" so that it is not recognized as an escape character.

(iOS and Mac OS X only) If curl is built against Secure Transport, then the certificate string can either be the name of a certificate/private key in the system or user keychain, or the path to a PKCS#12-encoded certificate and private key. If you want to use a file from the current directory, please precede it with "./" prefix, in order to avoid confusion with a nickname.

If this option is used several times, the last one will be used.

--engine <name>

Select the OpenSSL crypto engine to use for cipher operations. Use --engine list to print a list of build-time supported engines. Note that not all (or none) of the engines may be available at run-time.

--environment

(RISC OS ONLY) Sets a range of environment variables, using the names the -w option supports, to allow easier extraction of useful information after having run curl.

--egd-file <file>

(SSL) Specify the path name to the Entropy Gathering Daemon socket. The socket is used to seed the random engine for SSL connections. See also the --random-file option.

--expect100-timeout <seconds>

(HTTP) Maximum time in seconds that you allow curl to wait for a 100-continue response when curl emits an Expects: 100-continue header in its request. By default curl will wait one second. This option accepts decimal values! When curl stops waiting, it will continue as if the response has been received.

(Added in 7.47.0)

--cert-type <type>

(SSL) Tells curl what certificate type the provided certificate is in. PEM, DER and ENG are recognized types. If not specified, PEM is assumed.

If this option is used several times, the last one will be used.

--cacert <CA certificate>

(SSL) Tells curl to use the specified certificate file to verify the peer. The file may contain multiple CA certificates. The certificate(s) must be in PEM format. Normally curl is built to use a default file for this, so this option is typically used to alter that default file.

curl recognizes the environment variable named 'CURL_CA_BUNDLE' if it is set, and uses the given path as a path to a CA cert bundle. This option overrides that variable.

The windows version of curl will automatically look for a CA certs file named 'curl-ca-bundle.crt', either in the same directory as curl.exe, or in the Current Working Directory, or in any folder along your PATH.

If curl is built against the NSS SSL library, the NSS PEM PKCS#11 module (libnsspem.so) needs to be available for this option to work properly.

If this option is used several times, the last one will be used.

--capath <CA certificate directory>

(SSL) Tells curl to use the specified certificate directory to verify the peer. Multiple paths can be provided by separating them with ":" (e.g. "path1:path2:path3"). The certificates must be in PEM format, and if curl is built against OpenSSL, the directory must have been processed using the c_rehash utility supplied with OpenSSL. Using --capath can allow OpenSSL-powered curl to make SSL-connections much more efficiently than using --cacert if the --cacert file contains many CA certificates.

If this option is set, the default capath value will be ignored, and if it is used several times, the last one will be used.

--pinnedpubkey <pinned public key (hashes)>

(SSL) Tells curl to use the specified public key file (or hashes) to verify the peer. This can be a path to a file which contains a single public key in PEM or DER format, or any number of base64 encoded sha256 hashes preceded by 'sha256//' and separated by ';'

When negotiating a TLS or SSL connection, the server sends a certificate indicating its identity. A public key is extracted from this certificate and if it does not exactly match the public key provided to this option, curl will abort the connection before sending or receiving any data.

Added in 7.39.0 for OpenSSL, GnuTLS and GSKit. Added in 7.43.0 for NSS and wolfSSL/CyaSSL. sha256 support added in 7.44.0 for OpenSSL, GnuTLS, NSS and wolfSSL/CyaSSL. Other SSL backends not supported.

If this option is used several times, the last one will be used.

--cert-status

(SSL) Tells curl to verify the status of the server certificate by using the Certificate Status Request (aka. OCSP stapling) TLS extension.

If this option is enabled and the server sends an invalid (e.g. expired) response, if the response suggests that the server certificate has been revoked, or no response at all is received, the verification fails.

This is currently only implemented in the OpenSSL, GnuTLS and NSS backends. (Added in 7.41.0)

--false-start

(SSL) Tells curl to use false start during the TLS handshake. False start is a mode where a TLS client will start sending application data before verifying the server's Finished message, thus saving a round trip when performing a full handshake.

This is currently only implemented in the NSS and Secure Transport (on iOS 7.0 or later, or OS X 10.9 or later) backends. (Added in 7.42.0)

-f, --fail

(HTTP) Fail silently (no output at all) on server errors. This is mostly done to better enable scripts etc to better deal with failed attempts. In normal cases when an HTTP server fails to deliver a document, it returns an HTML document stating so (which often also describes why and more). This flag will prevent curl from outputting that and return error 22.

This method is not fail-safe and there are occasions where non-successful response codes will slip through, especially when authentication is involved (response codes 401 and 407).

-F, --form <name=content>

(HTTP) This lets curl emulate a filled-in form in which a user has pressed the submit button. This causes curl to POST data using the Content-Type multipart/form-data according to RFC 2388. This enables uploading of binary files etc. To force the 'content' part to be a file, prefix the file name with an @ sign. To just get the content part from a file, prefix the file name with the symbol <. The difference between @ and < is then that @ makes a file get attached in the post as a file upload, while the < makes a text field and just get the contents for that text field from a file.

Example, to send your password file to the server, where 'password' is the name of the form-field to which /etc/passwd will be the input:

curl -F password=@/etc/passwd www.mypasswords.com

To read content from stdin instead of a file, use - as the filename. This goes for both @ and < constructs. Unfortunately it does not support reading the file from a named pipe or similar, as it needs the full size before the transfer starts.

You can also tell curl what Content-Type to use by using 'type=', in a manner similar to:

curl -F "web=@index.html;type=text/html" url.com

or

curl -F "name=daniel;type=text/foo" url.com

You can also explicitly change the name field of a file upload part by setting filename=, like this:

curl -F "file=@localfile;filename=nameinpost" url.com

If filename/path contains ',' or ';', it must be quoted by double-quotes like:

curl -F "file=@\"localfile\";filename=\"nameinpost\"" url.com

or

curl -F 'file=@"localfile";filename="nameinpost"' url.com

Note that if a filename/path is quoted by double-quotes, any double-quote or backslash within the filename must be escaped by backslash.

See further examples and details in the MANUAL.

This option can be used multiple times.

--ftp-account [data]

(FTP) When an FTP server asks for "account data" after user name and password has been provided, this data is sent off using the ACCT command. (Added in 7.13.0)

If this option is used several times, the last one will be used.

--ftp-alternative-to-user <command>

(FTP) If authenticating with the USER and PASS commands fails, send this command. When connecting to Tumbleweed's Secure Transport server over FTPS using a client certificate, using "SITE AUTH" will tell the server to retrieve the username from the certificate. (Added in 7.15.5)

--ftp-create-dirs

(FTP/SFTP) When an FTP or SFTP URL/operation uses a path that doesn't currently exist on the server, the standard behavior of curl is to fail. Using this option, curl will instead attempt to create missing directories.

--ftp-method [method]

(FTP) Control what method curl should use to reach a file on an FTP(S) server. The method argument should be one of the following alternatives:

multicwd

curl does a single CWD operation for each path part in the given URL. For deep hierarchies this means very many commands. This is how RFC 1738 says it should be done. This is the default but the slowest behavior.

nocwd

curl does no CWD at all. curl will do SIZE, RETR, STOR etc and give a full path to the server for all these commands. This is the fastest behavior.

singlecwd

curl does one CWD with the full target directory and then operates on the file "normally" (like in the multicwd case). This is somewhat more standards compliant than 'nocwd' but without the full penalty of 'multicwd'.

(Added in 7.15.1)

--ftp-pasv

(FTP) Use passive mode for the data connection. Passive is the internal default behavior, but using this option can be used to override a previous -P/-ftp-port option. (Added in 7.11.0)

If this option is used several times, only the first one is used. Undoing an enforced passive really isn't doable but you must then instead enforce the correct -P, --ftp-port again.

Passive mode means that curl will try the EPSV command first and then PASV, unless --disable-epsv is used.

--ftp-skip-pasv-ip

(FTP) Tell curl to not use the IP address the server suggests in its response to curl's PASV command when curl connects the data connection. Instead curl will re-use the same IP address it already uses for the control connection. (Added in 7.14.2)

This option has no effect if PORT, EPRT or EPSV is used instead of PASV.

--ftp-pret

(FTP) Tell curl to send a PRET command before PASV (and EPSV). Certain FTP servers, mainly drftpd, require this non-standard command for directory listings as well as up and downloads in PASV mode. (Added in 7.20.x)

--ftp-ssl-ccc

(FTP) Use CCC (Clear Command Channel) Shuts down the SSL/TLS layer after authenticating. The rest of the control channel communication will be unencrypted. This allows NAT routers to follow the FTP transaction. The default mode is passive. See --ftp-ssl-ccc-mode for other modes. (Added in 7.16.1)

--ftp-ssl-ccc-mode [active/passive]

(FTP) Use CCC (Clear Command Channel) Sets the CCC mode. The passive mode will not initiate the shutdown, but instead wait for the server to do it, and will not reply to the shutdown from the server. The active mode initiates the shutdown and waits for a reply from the server. (Added in 7.16.2)

--ftp-ssl-control

(FTP) Require SSL/TLS for the FTP login, clear for transfer. Allows secure authentication, but non-encrypted data transfers for efficiency. Fails the transfer if the server doesn't support SSL/TLS. (Added in 7.16.0) that can still be used but will be removed in a future version.

--form-string <name=string>

(HTTP) Similar to --form except that the value string for the named parameter is used literally. Leading '@' and '<' characters, and the ';type=' string in the value have no special meaning. Use this in preference to --form if there's any possibility that the string value may accidentally trigger the '@' or '<' features of --form.

-g, --globoff

This option switches off the "URL globbing parser". When you set this option, you can specify URLs that contain the letters {}[] without having them being interpreted by curl itself. Note that these letters are not normal legal URL contents but they should be encoded according to the URI standard.

-G, --get

When used, this option will make all data specified with -d, --data, --data-binary or --data-urlencode to be used in an HTTP GET request instead of the POST request that otherwise would be used. The data will be appended to the URL with a '?' separator.

If used in combination with -I, the POST data will instead be appended to the URL with a HEAD request.

If this option is used several times, only the first one is used. This is because undoing a GET doesn't make sense, but you should then instead enforce the alternative method you prefer.

-H, --header <header>

(HTTP) Extra header to include in the request when sending HTTP to a server. You may specify any number of extra headers. Note that if you should add a custom header that has the same name as one of the internal ones curl would use, your externally set header will be used instead of the internal one. This allows you to make even trickier stuff than curl would normally do. You should not replace internally set headers without knowing perfectly well what you're doing. Remove an internal header by giving a replacement without content on the right side of the colon, as in: -H "Host:". If you send the custom header with no-value then its header must be terminated with a semicolon, such as -H "X-Custom-Header;" to send "X-Custom-Header:".

curl will make sure that each header you add/replace is sent with the proper end-of-line marker, you should thus not add that as a part of the header content: do not add newlines or carriage returns, they will only mess things up for you.

See also the -A, --user-agent and -e, --referer options.

Starting in 7.37.0, you need --proxy-header to send custom headers intended for a proxy.

Example:

# curl -H "X-First-Name: Joe" http://192.168.0.1/

WARNING: headers set with this option will be set in all requests - even after redirects are followed, like when told with -L, --location. This can lead to the header being sent to other hosts than the original host, so sensitive headers should be used with caution combined with following redirects.

This option can be used multiple times to add/replace/remove multiple headers.

--hostpubmd5 <md5>

(SCP/SFTP) Pass a string containing 32 hexadecimal digits. The string should be the 128 bit MD5 checksum of the remote host's public key, curl will refuse the connection with the host unless the md5sums match. (Added in 7.17.1)

--ignore-content-length

For HTTP, Ignore the Content-Length header. This is particularly useful for servers running Apache 1.x, which will report incorrect Content-Length for files larger than 2 gigabytes.

For FTP (since 7.46.0), skip the RETR command to figure out the size before downloading a file.

-i, --include

(HTTP) Include the HTTP-header in the output. The HTTP-header includes things like server-name, date of the document, HTTP-version and more...

-I, --head

(HTTP/FTP/FILE) Fetch the HTTP-header only! HTTP-servers feature the command HEAD which this uses to get nothing but the header of a document. When used on an FTP or FILE file, curl displays the file size and last modification time only.

--interface <name>

Perform an operation using a specified interface. You can enter interface name, IP address or host name. An example could look like:

curl --interface eth0:1 http://www.netscape.com/

If this option is used several times, the last one will be used.

-j, --junk-session-cookies

(HTTP) When curl is told to read cookies from a given file, this option will make it discard all "session cookies". This will basically have the same effect as if a new session is started. Typical browsers always discard session cookies when they're closed down.

-J, --remote-header-name

(HTTP) This option tells the -O, --remote-name option to use the server-specified Content-Disposition filename instead of extracting a filename from the URL.

There's no attempt to decode %-sequences (yet) in the provided file name, so this option may provide you with rather unexpected file names.

-k, --insecure

(SSL) This option explicitly allows curl to perform "insecure" SSL connections and transfers. All SSL connections are attempted to be made secure by using the CA certificate bundle installed by default. This makes all connections considered "insecure" fail unless -k, --insecure is used.

See this online resource for further details: http://curl.haxx.se/docs/sslcerts.html

-K, --config <config file>

Specify which config file to read curl arguments from. The config file is a text file in which command line arguments can be written which then will be used as if they were written on the actual command line.

Options and their parameters must be specified on the same config file line, separated by whitespace, colon, or the equals sign. Long option names can optionally be given in the config file without the initial double dashes and if so, the colon or equals characters can be used as separators. If the option is specified with one or two dashes, there can be no colon or equals character between the option and its parameter.

If the parameter is to contain whitespace, the parameter must be enclosed within quotes. Within double quotes, the following escape sequences are available: \\, \", \t, \n, \r and \v. A backslash preceding any other letter is ignored. If the first column of a config line is a '#' character, the rest of the line will be treated as a comment. Only write one option per physical line in the config file.

Specify the filename to -K, --config as '-' to make curl read the file from stdin.

Note that to be able to specify a URL in the config file, you need to specify it using the --url option, and not by simply writing the URL on its own line. So, it could look similar to this:

url = "http://curl.haxx.se/docs/"

When curl is invoked, it always (unless -q is used) checks for a default config file and uses it if found. The default config file is checked for in the following places in this order:

1) curl tries to find the "home dir": It first checks for the CURL_HOME and then the HOME environment variables. Failing that, it uses getpwuid() on Unix-like systems (which returns the home dir given the current user in your system). On Windows, it then checks for the APPDATA variable, or as a last resort the '%USERPROFILE%\Application Data'.

2) On windows, if there is no _curlrc file in the home dir, it checks for one in the same dir the curl executable is placed. On Unix-like systems, it will simply try to load .curlrc from the determined home dir.

# --- Example file ---

# this is a comment

url = "curl.haxx.se"

output = "curlhere.html"

user-agent = "superagent/1.0"

# and fetch another URL too

url = "curl.haxx.se/docs/manpage.html"

-O

referer = "http://nowhereatall.com/"

# --- End of example file ---

This option can be used multiple times to load multiple config files.

--keepalive-time <seconds>

This option sets the time a connection needs to remain idle before sending keepalive probes and the time between individual keepalive probes. It is currently effective on operating systems offering the TCP_KEEPIDLE and TCP_KEEPINTVL socket options (meaning Linux, recent AIX, HP-UX and more). This option has no effect if --no-keepalive is used. (Added in 7.18.0)

If this option is used several times, the last one will be used. If unspecified, the option defaults to 60 seconds.

--key <key>

(SSL/SSH) Private key file name. Allows you to provide your private key in this separate file. For SSH, if not specified, curl tries the following candidates in order: '~/.ssh/id_rsa', '~/.ssh/id_dsa', './id_rsa', './id_dsa'.

If this option is used several times, the last one will be used.

--key-type <type>

(SSL) Private key file type. Specify which type your --key provided private key is. DER, PEM, and ENG are supported. If not specified, PEM is assumed.

If this option is used several times, the last one will be used.

--krb <level>

(FTP) Enable Kerberos authentication and use. The level must be entered and should be one of 'clear', 'safe', 'confidential', or 'private'. Should you use a level that is not one of these, 'private' will instead be used.

This option requires a library built with kerberos4 support. This is not very common. Use -V, --version to see if your curl supports it.

If this option is used several times, the last one will be used.

-l, --list-only

(FTP) When listing an FTP directory, this switch forces a name-only view. This is especially useful if the user wants to machine-parse the contents of an FTP directory since the normal directory view doesn't use a standard look or format. When used like this, the option causes a NLST command to be sent to the server instead of LIST.

Note: Some FTP servers list only files in their response to NLST; they do not include sub-directories and symbolic links.

(POP3) When retrieving a specific email from POP3, this switch forces a LIST command to be performed instead of RETR. This is particularly useful if the user wants to see if a specific message id exists on the server and what size it is.

Note: When combined with -X, --request <command>, this option can be used to send an UIDL command instead, so the user may use the email's unique identifier rather than it's message id to make the request. (Added in 7.21.5)

-L, --location

(HTTP/HTTPS) If the server reports that the requested page has moved to a different location (indicated with a Location: header and a 3XX response code), this option will make curl redo the request on the new place. If used together with -i, --include or -I, --head, headers from all requested pages will be shown. When authentication is used, curl only sends its credentials to the initial host. If a redirect takes curl to a different host, it won't be able to intercept the user+password. See also --location-trusted on how to change this. You can limit the amount of redirects to follow by using the --max-redirs option.

When curl follows a redirect and the request is not a plain GET (for example POST or PUT), it will do the following request with a GET if the HTTP response was 301, 302, or 303. If the response code was any other 3xx code, curl will re-send the following request using the same unmodified method.

You can tell curl to not change the non-GET request method to GET after a 30x response by using the dedicated options for that: --post301, --post302 and -post303.

--libcurl <file>

Append this option to any ordinary curl command line, and you will get a libcurl-using C source code written to the file that does the equivalent of what your command-line operation does!

If this option is used several times, the last given file name will be used. (Added in 7.16.1)

--limit-rate <speed>

Specify the maximum transfer rate you want curl to use - for both downloads and uploads. This feature is useful if you have a limited pipe and you'd like your transfer not to use your entire bandwidth. To make it slower than it otherwise would be.

The given speed is measured in bytes/second, unless a suffix is appended. Appending 'k' or 'K' will count the number as kilobytes, 'm' or M' makes it megabytes, while 'g' or 'G' makes it gigabytes. Examples: 200K, 3m and 1G.

The given rate is the average speed counted during the entire transfer. It means that curl might use higher transfer speeds in short bursts, but over time it uses no more than the given rate.

If you also use the -Y, --speed-limit option, that option will take precedence and might cripple the rate-limiting slightly, to help keeping the speed-limit logic working.

If this option is used several times, the last one will be used.

--local-port <num>[-num]

Set a preferred number or range of local port numbers to use for the connection(s). Note that port numbers by nature are a scarce resource that will be busy at times so setting this range to something too narrow might cause unnecessary connection setup failures. (Added in 7.15.2)

--location-trusted

(HTTP/HTTPS) Like -L, --location, but will allow sending the name + password to all hosts that the site may redirect to. This may or may not introduce a security breach if the site redirects you to a site to which you'll send your authentication info (which is plaintext in the case of HTTP Basic authentication).

-m, --max-time <seconds>

Maximum time in seconds that you allow the whole operation to take. This is useful for preventing your batch jobs from hanging for hours due to slow networks or links going down. Since 7.32.0, this option accepts decimal values, but the actual timeout will decrease in accuracy as the specified timeout increases in decimal precision. See also the --connect-timeout option.

If this option is used several times, the last one will be used.

--login-options <options>

Specify the login options to use during server authentication.

You can use the login options to specify protocol specific options that may be used during authentication. At present only IMAP, POP3 and SMTP support login options. For more information about the login options please see RFC 2384, RFC 5092 and IETF draft draft-earhart-url-smtp-00.txt (Added in 7.34.0).

If this option is used several times, the last one will be used.

--mail-auth <address>

(SMTP) Specify a single address. This will be used to specify the authentication address (identity) of a submitted message that is being relayed to another server.

(Added in 7.25.0)

--mail-from <address>

(SMTP) Specify a single address that the given mail should get sent from.

(Added in 7.20.0)

--max-filesize <bytes>

Specify the maximum size (in bytes) of a file to download. If the file requested is larger than this value, the transfer will not start and curl will return with exit code 63.

NOTE: The file size is not always known prior to download, and for such files this option has no effect even if the file transfer ends up being larger than this given limit. This concerns both FTP and HTTP transfers.

--mail-rcpt <address>

(SMTP) Specify a single address, user name or mailing list name.

When performing a mail transfer, the recipient should specify a valid email address to send the mail to. (Added in 7.20.0)

When performing an address verification (VRFY command), the recipient should be specified as the user name or user name and domain (as per Section 3.5 of RFC5321). (Added in 7.34.0)

When performing a mailing list expand (EXPN command), the recipient should be specified using the mailing list name, such as "Friends" or "London-Office". (Added in 7.34.0)

--max-redirs <num>

Set maximum number of redirection-followings allowed. If -L, --location is used, this option can be used to prevent curl from following redirections "in absurdum". By default, the limit is set to 50 redirections. Set this option to -1 to make it limitless.

If this option is used several times, the last one will be used.

--metalink

This option can tell curl to parse and process a given URI as Metalink file (both version 3 and 4 (RFC 5854) are supported) and make use of the mirrors listed within for failover if there are errors (such as the file or server not being available). It will also verify the hash of the file after the download completes. The Metalink file itself is downloaded and processed in memory and not stored in the local file system.

Example to use a remote Metalink file:

curl --metalink http://www.example.com/example.metalink

To use a Metalink file in the local file system, use FILE protocol (file://):

curl --metalink file://example.metalink

Please note that if FILE protocol is disabled, there is no way to use a local Metalink file at the time of this writing. Also note that if --metalink and --include are used together, --include will be ignored. This is because including headers in the response will break Metalink parser and if the headers are included in the file described in Metalink file, hash check will fail.

(Added in 7.27.0, if built against the libmetalink library.)

-n, --netrc

Makes curl scan the .netrc (_netrc on Windows) file in the user's home directory for login name and password. This is typically used for FTP on Unix. If used with HTTP, curl will enable user authentication. See netrc(5) ftp(1) for details on the file format. Curl will not complain if that file doesn't have the right permissions (it should not be either world- or group-readable). The environment variable "HOME" is used to find the home directory.

A quick and very simple example of how to setup a .netrc to allow curl to FTP to the machine host.domain.com with user name 'myself' and password 'secret' should look similar to:

machine host.domain.com login myself password secret

-N, --no-buffer

Disables the buffering of the output stream. In normal work situations, curl will use a standard buffered output stream that will have the effect that it will output the data in chunks, not necessarily exactly when the data arrives. Using this option will disable that buffering.

Note that this is the negated option name documented. You can thus use --buffer to enforce the buffering.

--netrc-file

This option is similar to --netrc, except that you provide the path (absolute or relative) to the netrc file that Curl should use. You can only specify one netrc file per invocation. If several --netrc-file options are provided, only the last one will be used. (Added in 7.21.5)

This option overrides any use of --netrc as they are mutually exclusive. It will also abide by --netrc-optional if specified.

--netrc-optional

Very similar to --netrc, but this option makes the .netrc usage optional and not mandatory as the --netrc option does.

--negotiate

(HTTP) Enables Negotiate (SPNEGO) authentication.

If you want to enable Negotiate (SPNEGO) for proxy authentication, then use --proxy-negotiate.

This option requires a library built with GSS-API or SSPI support. Use -V, --version to see if your curl supports GSS-API/SSPI and SPNEGO.

When using this option, you must also provide a fake -u, --user option to activate the authentication code properly. Sending a '-u :' is enough as the user name and password from the -u option aren't actually used.

If this option is used several times, only the first one is used.

--no-keepalive

Disables the use of keepalive messages on the TCP connection, as by default curl enables them.

Note that this is the negated option name documented. You can thus use --keepalive to enforce keepalive.

--no-sessionid

(SSL) Disable curl's use of SSL session-ID caching. By default all transfers are done using the cache. Note that while nothing should ever get hurt by attempting to reuse SSL session-IDs, there seem to be broken SSL implementations in the wild that may require you to disable this in order for you to succeed. (Added in 7.16.0)

Note that this is the negated option name documented. You can thus use --sessionid to enforce session-ID caching.

--noproxy <no-proxy-list>

Comma-separated list of hosts which do not use a proxy, if one is specified. The only wildcard is a single * character, which matches all hosts, and effectively disables the proxy. Each name in this list is matched as either a domain which contains the hostname, or the hostname itself. For example, local.com would match local.com, local.com:80, and www.local.com, but not www.notlocal.com. (Added in 7.19.4).

--ntlm

(HTTP) Enables NTLM authentication. The NTLM authentication method was designed by Microsoft and is used by IIS web servers. It is a proprietary protocol, reverse-engineered by clever people and implemented in curl based on their efforts. This kind of behavior should not be endorsed, you should encourage everyone who uses NTLM to switch to a public and documented authentication method instead, such as Digest.

If you want to enable NTLM for your proxy authentication, then use --proxy-ntlm.

This option requires a library built with SSL support. Use -V, --version to see if your curl supports NTLM.

If this option is used several times, only the first one is used.

-o, --output <file>

Write output to <file> instead of stdout. If you are using {} or [] to fetch multiple documents, you can use '#' followed by a number in the <file> specifier. That variable will be replaced with the current string for the URL being fetched. Like in:

curl http://{one,two}.site.com -o "file_#1.txt"

or use several variables like:

curl http://{site,host}.host[1-5].com -o "#1_#2"

You may use this option as many times as the number of URLs you have.

See also the --create-dirs option to create the local directories dynamically. Specifying the output as '-' (a single dash) will force the output to be done to stdout.

-O, --remote-name

Write output to a local file named like the remote file we get. (Only the file part of the remote file is used, the path is cut off.)

The remote file name to use for saving is extracted from the given URL, nothing else.

Consequentially, the file will be saved in the current working directory. If you want the file saved in a different directory, make sure you change current working directory before you invoke curl with the -O, --remote-name flag!

There is no URL decoding done on the file name. If it has %20 or other URL encoded parts of the name, they will end up as-is as file name.

You may use this option as many times as the number of URLs you have.

--oauth2-bearer

(IMAP, POP3, SMTP) Specify the Bearer Token for OAUTH 2.0 server authentication. The Bearer Token is used in conjunction with the user name which can be specified as part of the --url or -u, --user options.

The Bearer Token and user name are formatted according to RFC 6750.

If this option is used several times, the last one will be used.

--proxy-header <header>

(HTTP) Extra header to include in the request when sending HTTP to a proxy. You may specify any number of extra headers. This is the equivalent option to -H, --header but is for proxy communication only like in CONNECT requests when you want a separate header sent to the proxy to what is sent to the actual remote host.

curl will make sure that each header you add/replace is sent with the proper end-of-line marker, you should thus not add that as a part of the header content: do not add newlines or carriage returns, they will only mess things up for you.

Headers specified with this option will not be included in requests that curl knows will not be sent to a proxy.

This option can be used multiple times to add/replace/remove multiple headers.

(Added in 7.37.0)

-p, --proxytunnel

When an HTTP proxy is used (-x, --proxy), this option will cause non-HTTP protocols to attempt to tunnel through the proxy instead of merely using it to do HTTP-like operations. The tunnel approach is made with the HTTP proxy CONNECT request and requires that the proxy allows direct connect to the remote port number curl wants to tunnel through to.

-P, --ftp-port <address>

(FTP) Reverses the default initiator/listener roles when connecting with FTP. This switch makes curl use active mode. In practice, curl then tells the server to connect back to the client's specified address and port, while passive mode asks the server to setup an IP address and port for it to connect to. <address> should be one of:

interface

i.e "eth0" to specify which interface's IP address you want to use (Unix only)

IP address

i.e "192.168.10.1" to specify the exact IP address

host name

i.e "my.host.domain" to specify the machine

-

make curl pick the same IP address that is already used for the control connection

If this option is used several times, the last one will be used. Disable the use of PORT with --ftp-pasv. Disable the attempt to use the EPRT command instead of PORT by using --disable-eprt. EPRT is really PORT++.

Starting in 7.19.5, you can append ":[start]-[end]" to the right of the address, to tell curl what TCP port range to use. That means you specify a port range, from a lower to a higher number. A single number works as well, but do note that it increases the risk of failure since the port may not be available.

--pass <phrase>

(SSL/SSH) Passphrase for the private key

If this option is used several times, the last one will be used.

--path-as-is

Tell curl to not handle sequences of /../ or /./ in the given URL path. Normally curl will squash or merge them according to standards but with this option set you tell it not to do that.

(Added in 7.42.0)

--post301

(HTTP) Tells curl to respect RFC 7230/6.4.2 and not convert POST requests into GET requests when following a 301 redirection. The non-RFC behaviour is ubiquitous in web browsers, so curl does the conversion by default to maintain consistency. However, a server may require a POST to remain a POST after such a redirection. This option is meaningful only when using -L, --location (Added in 7.17.1)

--post302

(HTTP) Tells curl to respect RFC 7230/6.4.3 and not convert POST requests into GET requests when following a 302 redirection. The non-RFC behaviour is ubiquitous in web browsers, so curl does the conversion by default to maintain consistency. However, a server may require a POST to remain a POST after such a redirection. This option is meaningful only when using -L, --location (Added in 7.19.1)

--post303

(HTTP) Tells curl to respect RFC 7230/6.4.4 and not convert POST requests into GET requests when following a 303 redirection. The non-RFC behaviour is ubiquitous in web browsers, so curl does the conversion by default to maintain consistency. However, a server may require a POST to remain a POST after such a redirection. This option is meaningful only when using -L, --location (Added in 7.26.0)

--proto <protocols>

Tells curl to use the listed protocols for its initial retrieval. Protocols are evaluated left to right, are comma separated, and are each a protocol name or 'all', optionally prefixed by zero or more modifiers. Available modifiers are:

+

Permit this protocol in addition to protocols already permitted (this is the default if no modifier is used).

-

Deny this protocol, removing it from the list of protocols already permitted.

=

Permit only this protocol (ignoring the list already permitted), though subject to later modification by subsequent entries in the comma separated list.

For example:

--proto -ftps

uses the default protocols, but disables ftps

--proto -all,https,+http

only enables http and https

--proto =http,https

also only enables http and https

Unknown protocols produce a warning. This allows scripts to safely rely on being able to disable potentially dangerous protocols, without relying upon support for that protocol being built into curl to avoid an error.

This option can be used multiple times, in which case the effect is the same as concatenating the protocols into one instance of the option.

(Added in 7.20.2)

--proto-default <protocol>

Tells curl to use protocol for any URL missing a scheme name.

Example:

--proto-default https ftp.mozilla.org

https://ftp.mozilla.org

An unknown or unsupported protocol causes error CURLE_UNSUPPORTED_PROTOCOL.

This option does not change the default proxy protocol (http).

Without this option curl would make a guess based on the host, see --url for details.

(Added in 7.45.0)

--proto-redir <protocols>

Tells curl to use the listed protocols on redirect. See --proto for how protocols are represented.

Example:

--proto-redir -all,http,https

Allow only HTTP and HTTPS on redirect.

By default curl will allow all protocols on redirect except several disabled for security reasons: Since 7.19.4 FILE and SCP are disabled, and since 7.40.0 SMB and SMBS are also disabled. Specifying all or +all enables all protocols on redirect, including those disabled for security.

(Added in 7.20.2)

--proxy-anyauth

Tells curl to pick a suitable authentication method when communicating with the given proxy. This might cause an extra request/response round-trip. (Added in 7.13.2)

--proxy-basic

Tells curl to use HTTP Basic authentication when communicating with the given proxy. Use --basic for enabling HTTP Basic with a remote host. Basic is the default authentication method curl uses with proxies.

--proxy-digest

Tells curl to use HTTP Digest authentication when communicating with the given proxy. Use --digest for enabling HTTP Digest with a remote host.

--proxy-negotiate

Tells curl to use HTTP Negotiate (SPNEGO) authentication when communicating with the given proxy. Use --negotiate for enabling HTTP Negotiate (SPNEGO) with a remote host. (Added in 7.17.1)

--proxy-ntlm

Tells curl to use HTTP NTLM authentication when communicating with the given proxy. Use --ntlm for enabling NTLM with a remote host.

--proxy-service-name <servicename>

This option allows you to change the service name for proxy negotiation.

Examples: --proxy-negotiate proxy-name --proxy-service-name sockd would use sockd/proxy-name. (Added in 7.43.0).

--proxy1.0 <proxyhost[:port]>

Use the specified HTTP 1.0 proxy. If the port number is not specified, it is assumed at port 1080.

The only difference between this and the HTTP proxy option (-x, --proxy), is that attempts to use CONNECT through the proxy will specify an HTTP 1.0 protocol instead of the default HTTP 1.1.

--pubkey <key>

(SSH) Public key file name. Allows you to provide your public key in this separate file.

If this option is used several times, the last one will be used.

(As of 7.39.0, curl attempts to automatically extract the public key from the private key file, so passing this option is generally not required. Note that this public key extraction requires libcurl to be linked against a copy of libssh2 1.2.8 or higher that is itself linked against OpenSSL.)

-q

If used as the first parameter on the command line, the curlrc config file will not be read and used. See the -K, --config for details on the default config file search path.

-Q, --quote <command>

(FTP/SFTP) Send an arbitrary command to the remote FTP or SFTP server. Quote commands are sent BEFORE the transfer takes place (just after the initial PWD command in an FTP transfer, to be exact). To make commands take place after a successful transfer, prefix them with a dash '-'. To make commands be sent after curl has changed the working directory, just before the transfer command(s), prefix the command with a '+' (this is only supported for FTP). You may specify any number of commands. If the server returns failure for one of the commands, the entire operation will be aborted. You must send syntactically correct FTP commands as RFC 959 defines to FTP servers, or one of the commands listed below to SFTP servers. This option can be used multiple times. When speaking to an FTP server, prefix the command with an asterisk (*) to make curl continue even if the command fails as by default curl will stop at first failure.

SFTP is a binary protocol. Unlike for FTP, curl interprets SFTP quote commands itself before sending them to the server. File names may be quoted shell-style to embed spaces or special characters. Following is the list of all supported SFTP quote commands:

chgrp group file

The chgrp command sets the group ID of the file named by the file operand to the group ID specified by the group operand. The group operand is a decimal integer group ID.

chmod mode file

The chmod command modifies the file mode bits of the specified file. The mode operand is an octal integer mode number.

chown user file

The chown command sets the owner of the file named by the file operand to the user ID specified by the user operand. The user operand is a decimal integer user ID.

ln source_file target_file

The ln and symlink commands create a symbolic link at the target_file location pointing to the source_file location.

mkdir directory_name

The mkdir command creates the directory named by the directory_name operand.

pwd

The pwd command returns the absolute pathname of the current working directory.

rename source target

The rename command renames the file or directory named by the source operand to the destination path named by the target operand.

rm file

The rm command removes the file specified by the file operand.

rmdir directory

The rmdir command removes the directory entry specified by the directory operand, provided it is empty.

symlink source_file target_file

See ln.

-r, --range <range>

(HTTP/FTP/SFTP/FILE) Retrieve a byte range (i.e a partial document) from a HTTP/1.1, FTP or SFTP server or a local FILE. Ranges can be specified in a number of ways.

0-499

specifies the first 500 bytes

500-999

specifies the second 500 bytes

-500

specifies the last 500 bytes

9500-

specifies the bytes from offset 9500 and forward

0-0,-1

specifies the first and last byte only(*)(HTTP)

100-199,500-599

specifies two separate 100-byte ranges(*) (HTTP)

(*) = NOTE that this will cause the server to reply with a multipart response!

Only digit characters (0-9) are valid in the 'start' and 'stop' fields of the 'start-stop' range syntax. If a non-digit character is given in the range, the server's response will be unspecified, depending on the server's configuration.

You should also be aware that many HTTP/1.1 servers do not have this feature enabled, so that when you attempt to get a range, you'll instead get the whole document.

FTP and SFTP range downloads only support the simple 'start-stop' syntax (optionally with one of the numbers omitted). FTP use depends on the extended FTP command SIZE.

If this option is used several times, the last one will be used.

-R, --remote-time

When used, this will make curl attempt to figure out the timestamp of the remote file, and if that is available make the local file get that same timestamp.

--random-file <file>

(SSL) Specify the path name to file containing what will be considered as random data. The data is used to seed the random engine for SSL connections. See also the --egd-file option.

--raw

(HTTP) When used, it disables all internal HTTP decoding of content or transfer encodings and instead makes them passed on unaltered, raw. (Added in 7.16.2)

--remote-name-all

This option changes the default action for all given URLs to be dealt with as if -O, --remote-name were used for each one. So if you want to disable that for a specific URL after --remote-name-all has been used, you must use "-o -" or --no-remote-name. (Added in 7.19.0)

--resolve <host:port:address>

Provide a custom address for a specific host and port pair. Using this, you can make the curl requests(s) use a specified address and prevent the otherwise normally resolved address to be used. Consider it a sort of /etc/hosts alternative provided on the command line. The port number should be the number used for the specific protocol the host will be used for. It means you need several entries if you want to provide address for the same host but different ports.

This option can be used many times to add many host names to resolve.

(Added in 7.21.3)

--retry <num>

If a transient error is returned when curl tries to perform a transfer, it will retry this number of times before giving up. Setting the number to 0 makes curl do no retries (which is the default). Transient error means either: a timeout, an FTP 4xx response code or an HTTP 5xx response code.

When curl is about to retry a transfer, it will first wait one second and then for all forthcoming retries it will double the waiting time until it reaches 10 minutes which then will be the delay between the rest of the retries. By using --retry-delay you disable this exponential backoff algorithm. See also --retry-max-time to limit the total time allowed for retries. (Added in 7.12.3)

If this option is used several times, the last one will be used.

--retry-delay <seconds>

Make curl sleep this amount of time before each retry when a transfer has failed with a transient error (it changes the default backoff time algorithm between retries). This option is only interesting if --retry is also used. Setting this delay to zero will make curl use the default backoff time. (Added in 7.12.3)

If this option is used several times, the last one will be used.

--retry-max-time <seconds>

The retry timer is reset before the first transfer attempt. Retries will be done as usual (see --retry) as long as the timer hasn't reached this given limit. Notice that if the timer hasn't reached the limit, the request will be made and while performing, it may take longer than this given time period. To limit a single request's maximum time, use -m, --max-time. Set this option to zero to not timeout retries. (Added in 7.12.3)

If this option is used several times, the last one will be used.

-s, --silent

Silent or quiet mode. Don't show progress meter or error messages. Makes Curl mute. It will still output the data you ask for, potentially even to the terminal/stdout unless you redirect it.

--sasl-ir

Enable initial response in SASL authentication. (Added in 7.31.0)

--service-name <servicename>

This option allows you to change the service name for SPNEGO.

Examples: --negotiate --service-name sockd would use sockd/server-name. (Added in 7.43.0).

-S, --show-error

When used with -s it makes curl show an error message if it fails.

--ssl

(FTP, POP3, IMAP, SMTP) Try to use SSL/TLS for the connection. Reverts to a non-secure connection if the server doesn't support SSL/TLS. See also --ftp-ssl-control and --ssl-reqd for different levels of encryption required. (Added in 7.20.0)

This option was formerly known as --ftp-ssl (Added in 7.11.0). That option name can still be used but will be removed in a future version.

--ssl-reqd

(FTP, POP3, IMAP, SMTP) Require SSL/TLS for the connection. Terminates the connection if the server doesn't support SSL/TLS. (Added in 7.20.0)

This option was formerly known as --ftp-ssl-reqd (added in 7.15.5). That option name can still be used but will be removed in a future version.

--ssl-allow-beast

(SSL) This option tells curl to not work around a security flaw in the SSL3 and TLS1.0 protocols known as BEAST. If this option isn't used, the SSL layer may use workarounds known to cause interoperability problems with some older SSL implementations. WARNING: this option loosens the SSL security, and by using this flag you ask for exactly that. (Added in 7.25.0)

--ssl-no-revoke

(WinSSL) This option tells curl to disable certificate revocation checks. WARNING: this option loosens the SSL security, and by using this flag you ask for exactly that. (Added in 7.44.0)

--socks4 <host[:port]>

Use the specified SOCKS4 proxy. If the port number is not specified, it is assumed at port 1080. (Added in 7.15.2)

This option overrides any previous use of -x, --proxy, as they are mutually exclusive.

Since 7.21.7, this option is superfluous since you can specify a socks4 proxy with -x, --proxy using a socks4:// protocol prefix.

If this option is used several times, the last one will be used.

--socks4a <host[:port]>

Use the specified SOCKS4a proxy. If the port number is not specified, it is assumed at port 1080. (Added in 7.18.0)

This option overrides any previous use of -x, --proxy, as they are mutually exclusive.

Since 7.21.7, this option is superfluous since you can specify a socks4a proxy with -x, --proxy using a socks4a:// protocol prefix.

If this option is used several times, the last one will be used.

--socks5-hostname <host[:port]>

Use the specified SOCKS5 proxy (and let the proxy resolve the host name). If the port number is not specified, it is assumed at port 1080. (Added in 7.18.0)

This option overrides any previous use of -x, --proxy, as they are mutually exclusive.

Since 7.21.7, this option is superfluous since you can specify a socks5 hostname proxy with -x, --proxy using a socks5h:// protocol prefix.

If this option is used several times, the last one will be used. (This option was previously wrongly documented and used as --socks without the number appended.)

--socks5 <host[:port]>

Use the specified SOCKS5 proxy - but resolve the host name locally. If the port number is not specified, it is assumed at port 1080.

This option overrides any previous use of -x, --proxy, as they are mutually exclusive.

Since 7.21.7, this option is superfluous since you can specify a socks5 proxy with -x, --proxy using a socks5:// protocol prefix.

If this option is used several times, the last one will be used. (This option was previously wrongly documented and used as --socks without the number appended.)

This option (as well as --socks4) does not work with IPV6, FTPS or LDAP.

--socks5-gssapi-service <servicename>

The default service name for a socks server is rcmd/server-fqdn. This option allows you to change it.

Examples: --socks5 proxy-name --socks5-gssapi-service sockd would use sockd/proxy-name --socks5 proxy-name --socks5-gssapi-service sockd/real-name would use sockd/real-name for cases where the proxy-name does not match the principal name. (Added in 7.19.4).

--socks5-gssapi-nec

As part of the GSS-API negotiation a protection mode is negotiated. RFC 1961 says in section 4.3/4.4 it should be protected, but the NEC reference implementation does not. The option --socks5-gssapi-nec allows the unprotected exchange of the protection mode negotiation. (Added in 7.19.4).

--stderr <file>

Redirect all writes to stderr to the specified file instead. If the file name is a plain '-', it is instead written to stdout.

If this option is used several times, the last one will be used.

-t, --telnet-option <OPT=val>

Pass options to the telnet protocol. Supported options are:

TTYPE=<term> Sets the terminal type.

XDISPLOC=<X display> Sets the X display location.

NEW_ENV=<var,val> Sets an environment variable.

-T, --upload-file <file>

This transfers the specified local file to the remote URL. If there is no file part in the specified URL, Curl will append the local file name. NOTE that you must use a trailing / on the last directory to really prove to Curl that there is no file name or curl will think that your last directory name is the remote file name to use. That will most likely cause the upload operation to fail. If this is used on an HTTP(S) server, the PUT command will be used.

Use the file name "-" (a single dash) to use stdin instead of a given file. Alternately, the file name "." (a single period) may be specified instead of "-" to use stdin in non-blocking mode to allow reading server output while stdin is being uploaded.

You can specify one -T for each URL on the command line. Each -T + URL pair specifies what to upload and to where. curl also supports "globbing" of the -T argument, meaning that you can upload multiple files to a single URL by using the same URL globbing style supported in the URL, like this:

curl -T "{file1,file2}" http://www.uploadtothissite.com

or even

curl -T "img[1-1000].png" ftp://ftp.picturemania.com/upload/

--tcp-nodelay

Turn on the TCP_NODELAY option. See the curl_easy_setopt(3) man page for details about this option. (Added in 7.11.2)

--tftp-blksize <value>

(TFTP) Set TFTP BLKSIZE option (must be >512). This is the block size that curl will try to use when transferring data to or from a TFTP server. By default 512 bytes will be used.

If this option is used several times, the last one will be used.

(Added in 7.20.0)

--tlsauthtype <authtype>

Set TLS authentication type. Currently, the only supported option is "SRP", for TLS-SRP (RFC 5054). If --tlsuser and --tlspassword are specified but --tlsauthtype is not, then this option defaults to "SRP". (Added in 7.21.4)

--tlspassword <password>

Set password for use with the TLS authentication method specified with --tlsauthtype. Requires that --tlsuser also be set. (Added in 7.21.4)

--tlsuser <user>

Set username for use with the TLS authentication method specified with --tlsauthtype. Requires that --tlspassword also be set. (Added in 7.21.4)

--tlsv1.0

(SSL) Forces curl to use TLS version 1.0 when negotiating with a remote TLS server. (Added in 7.34.0)

--tlsv1.1

(SSL) Forces curl to use TLS version 1.1 when negotiating with a remote TLS server. (Added in 7.34.0)

--tlsv1.2

(SSL) Forces curl to use TLS version 1.2 when negotiating with a remote TLS server. (Added in 7.34.0)

--tr-encoding

(HTTP) Request a compressed Transfer-Encoding response using one of the algorithms curl supports, and uncompress the data while receiving it.

(Added in 7.21.6)

--trace <file>

Enables a full trace dump of all incoming and outgoing data, including descriptive information, to the given output file. Use "-" as filename to have the output sent to stdout.

This option overrides previous uses of -v, --verbose or --trace-ascii.

If this option is used several times, the last one will be used.

--trace-ascii <file>

Enables a full trace dump of all incoming and outgoing data, including descriptive information, to the given output file. Use "-" as filename to have the output sent to stdout.

This is very similar to --trace, but leaves out the hex part and only shows the ASCII part of the dump. It makes smaller output that might be easier to read for untrained humans.

This option overrides previous uses of -v, --verbose or --trace.

If this option is used several times, the last one will be used.

--trace-time

Prepends a time stamp to each trace or verbose line that curl displays. (Added in 7.14.0)

--unix-socket <path>

(HTTP) Connect through this Unix domain socket, instead of using the network. (Added in 7.40.0)

-u, --user <user:password>

Specify the user name and password to use for server authentication. Overrides -n, --netrc and --netrc-optional.

If you simply specify the user name, curl will prompt for a password.

The user name and passwords are split up on the first colon, which makes it impossible to use a colon in the user name with this option. The password can, still.

When using Kerberos V5 with a Windows based server you should include the Windows domain name in the user name, in order for the server to successfully obtain a Kerberos Ticket. If you don't then the initial authentication handshake may fail.

When using NTLM, the user name can be specified simply as the user name, without the domain, if there is a single domain and forest in your setup for example.

To specify the domain name use either Down-Level Logon Name or UPN (User Principal Name) formats. For example, EXAMPLE\user and user@example.com respectively.

If you use a Windows SSPI-enabled curl binary and perform Kerberos V5, Negotiate, NTLM or Digest authentication then you can tell curl to select the user name and password from your environment by specifying a single colon with this option: "-u :".

If this option is used several times, the last one will be used.

-U, --proxy-user <user:password>

Specify the user name and password to use for proxy authentication.

If you use a Windows SSPI-enabled curl binary and do either Negotiate or NTLM authentication then you can tell curl to select the user name and password from your environment by specifying a single colon with this option: "-U :".

If this option is used several times, the last one will be used.

--url <URL>

Specify a URL to fetch. This option is mostly handy when you want to specify URL(s) in a config file.

If the given URL is missing a scheme name (such as "http://" or "ftp://" etc) then curl will make a guess based on the host. If the outermost sub-domain name matches DICT, FTP, IMAP, LDAP, POP3 or SMTP then that protocol will be used, otherwise HTTP will be used. Since 7.45.0 guessing can be disabled by setting a default protocol, see --proto-default for details.

This option may be used any number of times. To control where this URL is written, use the -o, --output or the -O, --remote-name options.

-v, --verbose

Be more verbose/talkative during the operation. Useful for debugging and seeing what's going on "under the hood". A line starting with '>' means "header data" sent by curl, '<' means "header data" received by curl that is hidden in normal cases, and a line starting with '*' means additional info provided by curl.

Note that if you only want HTTP headers in the output, -i, --include might be the option you're looking for.

If you think this option still doesn't give you enough details, consider using --trace or --trace-ascii instead.

This option overrides previous uses of --trace-ascii or --trace.

Use -s, --silent to make curl quiet.

-w, --write-out <format>

Make curl display information on stdout after a completed transfer. The format is a string that may contain plain text mixed with any number of variables. The format can be specified as a literal "string", or you can have curl read the format from a file with "@filename" and to tell curl to read the format from stdin you write "@-".

The variables present in the output format will be substituted by the value or text that curl thinks fit, as described below. All variables are specified as %{variable_name} and to output a normal % you just write them as %%. You can output a newline by using \n, a carriage return with \r and a tab space with \t.

NOTE: The %-symbol is a special symbol in the win32-environment, where all occurrences of % must be doubled when using this option.

The variables available are:

content_type

The Content-Type of the requested document, if there was any.

filename_effective

The ultimate filename that curl writes out to. This is only meaningful if curl is told to write to a file with the --remote-name or --output option. It's most useful in combination with the --remote-header-name option. (Added in 7.25.1)

ftp_entry_path

The initial path curl ended up in when logging on to the remote FTP server. (Added in 7.15.4)

http_code

The numerical response code that was found in the last retrieved HTTP(S) or FTP(s) transfer. In 7.18.2 the alias response_code was added to show the same info.

http_connect

The numerical code that was found in the last response (from a proxy) to a curl CONNECT request. (Added in 7.12.4)

local_ip

The IP address of the local end of the most recently done connection - can be either IPv4 or IPv6 (Added in 7.29.0)

local_port

The local port number of the most recently done connection (Added in 7.29.0)

num_connects

Number of new connects made in the recent transfer. (Added in 7.12.3)

num_redirects

Number of redirects that were followed in the request. (Added in 7.12.3)

redirect_url

When an HTTP request was made without -L to follow redirects, this variable will show the actual URL a redirect would take you to. (Added in 7.18.2)

remote_ip

The remote IP address of the most recently done connection - can be either IPv4 or IPv6 (Added in 7.29.0)

remote_port

The remote port number of the most recently done connection (Added in 7.29.0)

size_download

The total amount of bytes that were downloaded.

size_header

The total amount of bytes of the downloaded headers.

size_request

The total amount of bytes that were sent in the HTTP request.

size_upload

The total amount of bytes that were uploaded.

speed_download

The average download speed that curl measured for the complete download. Bytes per second.

speed_upload

The average upload speed that curl measured for the complete upload. Bytes per second.

ssl_verify_result

The result of the SSL peer certificate verification that was requested. 0 means the verification was successful. (Added in 7.19.0)

time_appconnect

The time, in seconds, it took from the start until the SSL/SSH/etc connect/handshake to the remote host was completed. (Added in 7.19.0)

time_connect

The time, in seconds, it took from the start until the TCP connect to the remote host (or proxy) was completed.

time_namelookup

The time, in seconds, it took from the start until the name resolving was completed.

time_pretransfer

The time, in seconds, it took from the start until the file transfer was just about to begin. This includes all pre-transfer commands and negotiations that are specific to the particular protocol(s) involved.

time_redirect

The time, in seconds, it took for all redirection steps include name lookup, connect, pretransfer and transfer before the final transaction was started. time_redirect shows the complete execution time for multiple redirections. (Added in 7.12.3)

time_starttransfer

The time, in seconds, it took from the start until the first byte was just about to be transferred. This includes time_pretransfer and also the time the server needed to calculate the result.

time_total

The total time, in seconds, that the full operation lasted. The time will be displayed with millisecond resolution.

url_effective

The URL that was fetched last. This is most meaningful if you've told curl to follow location: headers.

If this option is used several times, the last one will be used.

-x, --proxy <[protocol://][user:password@]proxyhost[:port]>

Use the specified proxy.

The proxy string can be specified with a protocol:// prefix to specify alternative proxy protocols. Use socks4://, socks4a://, socks5:// or socks5h:// to request the specific SOCKS version to be used. No protocol specified, http:// and all others will be treated as HTTP proxies. (The protocol support was added in curl 7.21.7)

If the port number is not specified in the proxy string, it is assumed to be 1080.

This option overrides existing environment variables that set the proxy to use. If there's an environment variable setting a proxy, you can set proxy to "" to override it.

All operations that are performed over an HTTP proxy will transparently be converted to HTTP. It means that certain protocol specific operations might not be available. This is not the case if you can tunnel through the proxy, as one with the -p, --proxytunnel option.

User and password that might be provided in the proxy string are URL decoded by curl. This allows you to pass in special characters such as @ by using %40 or pass in a colon with %3a.

The proxy host can be specified the exact same way as the proxy environment variables, including the protocol prefix (http://) and the embedded user + password.

If this option is used several times, the last one will be used.

-X, --request <command>

(HTTP) Specifies a custom request method to use when communicating with the HTTP server. The specified request method will be used instead of the method otherwise used (which defaults to GET). Read the HTTP 1.1 specification for details and explanations. Common additional HTTP requests include PUT and DELETE, but related technologies like WebDAV offers PROPFIND, COPY, MOVE and more.

Normally you don't need this option. All sorts of GET, HEAD, POST and PUT requests are rather invoked by using dedicated command line options.

This option only changes the actual word used in the HTTP request, it does not alter the way curl behaves. So for example if you want to make a proper HEAD request, using -X HEAD will not suffice. You need to use the -I, --head option.

The method string you set with -X will be used for all requests, which if you for example use -L, --location may cause unintended side-effects when curl doesn't change request method according to the HTTP 30x response codes - and similar.

(FTP) Specifies a custom FTP command to use instead of LIST when doing file lists with FTP.

(POP3) Specifies a custom POP3 command to use instead of LIST or RETR. (Added in 7.26.0)

(IMAP) Specifies a custom IMAP command to use instead of LIST. (Added in 7.30.0)

(SMTP) Specifies a custom SMTP command to use instead of HELP or VRFY. (Added in 7.34.0)

If this option is used several times, the last one will be used.

--xattr

When saving output to a file, this option tells curl to store certain file metadata in extended file attributes. Currently, the URL is stored in the xdg.origin.url attribute and, for HTTP, the content type is stored in the mime_type attribute. If the file system does not support extended attributes, a warning is issued.

-y, --speed-time <time>

If a download is slower than speed-limit bytes per second during a speed-time period, the download gets aborted. If speed-time is used, the default speed-limit will be 1 unless set with -Y.

This option controls transfers and thus will not affect slow connects etc. If this is a concern for you, try the --connect-timeout option.

If this option is used several times, the last one will be used.

-Y, --speed-limit <speed>

If a download is slower than this given speed (in bytes per second) for speed-time seconds it gets aborted. speed-time is set with -y and is 30 if not set.

If this option is used several times, the last one will be used.

-z, --time-cond <date expression>|<file>

(HTTP/FTP) Request a file that has been modified later than the given time and date, or one that has been modified before that time. The <date expression> can be all sorts of date strings or if it doesn't match any internal ones, it is taken as a filename and tries to get the modification date (mtime) from <file> instead. See the curl_getdate(3) man pages for date expression details.

Start the date expression with a dash (-) to make it request for a document that is older than the given date/time, default is a document that is newer than the specified date/time.

If this option is used several times, the last one will be used.

-h, --help

Usage help. This lists all current command line options with a short description.

-M, --manual

Manual. Display the huge help text.

-V, --version

Displays information about curl and the libcurl version it uses.

The first line includes the full version of curl, libcurl and other 3rd party libraries linked with the executable.

The second line (starts with "Protocols:") shows all protocols that libcurl reports to support.

The third line (starts with "Features:") shows specific features libcurl reports to offer. Available features include:

IPv6

You can use IPv6 with this.

krb4

Krb4 for FTP is supported.

SSL

SSL versions of various protocols are supported, such as HTTPS, FTPS, POP3S and so on.

libz

Automatic decompression of compressed files over HTTP is supported.

NTLM

NTLM authentication is supported.

Debug

This curl uses a libcurl built with Debug. This enables more error-tracking and memory debugging etc. For curl-developers only!

AsynchDNS

This curl uses asynchronous name resolves. Asynchronous name resolves can be done using either the c-ares or the threaded resolver backends.

SPNEGO

SPNEGO authentication is supported.

Largefile

This curl supports transfers of large files, files larger than 2GB.

IDN

This curl supports IDN - international domain names.

GSS-API

GSS-API is supported.

SSPI

SSPI is supported.

TLS-SRP

SRP (Secure Remote Password) authentication is supported for TLS.

HTTP2

HTTP/2 support has been built-in.

Metalink

This curl supports Metalink (both version 3 and 4 (RFC 5854)), which describes mirrors and hashes. curl will use mirrors for failover if there are errors (such as the file or server not being available).

FILES

~/.curlrc

Default config file, see -K, --config for details.

ENVIRONMENT

The environment variables can be specified in lower case or upper case. The lower case version has precedence. http_proxy is an exception as it is only available in lower case.

Using an environment variable to set the proxy has the same effect as using the --proxy option.

http_proxy [protocol://]<host>[:port]

Sets the proxy server to use for HTTP.

HTTPS_PROXY [protocol://]<host>[:port]

Sets the proxy server to use for HTTPS.

[url-protocol]_PROXY [protocol://]<host>[:port]

Sets the proxy server to use for [url-protocol], where the protocol is a protocol that curl supports and as specified in a URL. FTP, FTPS, POP3, IMAP, SMTP, LDAP etc.

ALL_PROXY [protocol://]<host>[:port]

Sets the proxy server to use if no protocol-specific proxy is set.

NO_PROXY <comma-separated list of hosts>

list of host names that shouldn't go through any proxy. If set to a asterisk '*' only, it matches all hosts.

PROXY PROTOCOL PREFIXES

Since curl version 7.21.7, the proxy string may be specified with a protocol:// prefix to specify alternative proxy protocols.

If no protocol is specified in the proxy string or if the string doesn't match a supported one, the proxy will be treated as an HTTP proxy.

The supported proxy protocol prefixes are as follows:

socks4://

Makes it the equivalent of --socks4

socks4a://

Makes it the equivalent of --socks4a

socks5://

Makes it the equivalent of --socks5

socks5h://

Makes it the equivalent of --socks5-hostname

EXIT CODES

There are a bunch of different error codes and their corresponding error messages that may appear during bad conditions. At the time of this writing, the exit codes are:

1

Unsupported protocol. This build of curl has no support for this protocol.

2

Failed to initialize.

3

URL malformed. The syntax was not correct.

4

A feature or option that was needed to perform the desired request was not enabled or was explicitly disabled at build-time. To make curl able to do this, you probably need another build of libcurl!

5

Couldn't resolve proxy. The given proxy host could not be resolved.

6

Couldn't resolve host. The given remote host was not resolved.

7

Failed to connect to host.

8

FTP weird server reply. The server sent data curl couldn't parse.

9

FTP access denied. The server denied login or denied access to the particular resource or directory you wanted to reach. Most often you tried to change to a directory that doesn't exist on the server.

11

FTP weird PASS reply. Curl couldn't parse the reply sent to the PASS request.

13

FTP weird PASV reply, Curl couldn't parse the reply sent to the PASV request.

14

FTP weird 227 format. Curl couldn't parse the 227-line the server sent.

15

FTP can't get host. Couldn't resolve the host IP we got in the 227-line.

17

FTP couldn't set binary. Couldn't change transfer method to binary.

18

Partial file. Only a part of the file was transferred.

19

FTP couldn't download/access the given file, the RETR (or similar) command failed.

21

FTP quote error. A quote command returned error from the server.

22

HTTP page not retrieved. The requested url was not found or returned another error with the HTTP error code being 400 or above. This return code only appears if -f, --fail is used.

23

Write error. Curl couldn't write data to a local filesystem or similar.

25

FTP couldn't STOR file. The server denied the STOR operation, used for FTP uploading.

26

Read error. Various reading problems.

27

Out of memory. A memory allocation request failed.

28

Operation timeout. The specified time-out period was reached according to the conditions.

30

FTP PORT failed. The PORT command failed. Not all FTP servers support the PORT command, try doing a transfer using PASV instead!

31

FTP couldn't use REST. The REST command failed. This command is used for resumed FTP transfers.

33

HTTP range error. The range "command" didn't work.

34

HTTP post error. Internal post-request generation error.

35

SSL connect error. The SSL handshaking failed.

36

FTP bad download resume. Couldn't continue an earlier aborted download.

37

FILE couldn't read file. Failed to open the file. Permissions?

38

LDAP cannot bind. LDAP bind operation failed.

39

LDAP search failed.

41

Function not found. A required LDAP function was not found.

42

Aborted by callback. An application told curl to abort the operation.

43

Internal error. A function was called with a bad parameter.

45

Interface error. A specified outgoing interface could not be used.

47

Too many redirects. When following redirects, curl hit the maximum amount.

48

Unknown option specified to libcurl. This indicates that you passed a weird option to curl that was passed on to libcurl and rejected. Read up in the manual!

49

Malformed telnet option.

51

The peer's SSL certificate or SSH MD5 fingerprint was not OK.

52

The server didn't reply anything, which here is considered an error.

53

SSL crypto engine not found.

54

Cannot set SSL crypto engine as default.

55

Failed sending network data.

56

Failure in receiving network data.

58

Problem with the local certificate.

59

Couldn't use specified SSL cipher.

60

Peer certificate cannot be authenticated with known CA certificates.

61

Unrecognized transfer encoding.

62

Invalid LDAP URL.

63

Maximum file size exceeded.

64

Requested FTP SSL level failed.

65

Sending the data requires a rewind that failed.

66

Failed to initialise SSL Engine.

67

The user name, password, or similar was not accepted and curl failed to log in.

68

File not found on TFTP server.

69

Permission problem on TFTP server.

70

Out of disk space on TFTP server.

71

Illegal TFTP operation.

72

Unknown TFTP transfer ID.

73

File already exists (TFTP).

74

No such user (TFTP).

75

Character conversion failed.

76

Character conversion functions required.

77

Problem with reading the SSL CA cert (path? access rights?).

78

The resource referenced in the URL does not exist.

79

An unspecified error occurred during the SSH session.

80

Failed to shut down the SSL connection.

82

Could not load CRL file, missing or wrong format (added in 7.19.0).

83

Issuer check failed (added in 7.19.0).

84

The FTP PRET command failed

85

RTSP: mismatch of CSeq numbers

86

RTSP: mismatch of Session Identifiers

87

unable to parse FTP file list

88

FTP chunk callback reported error

89

No connection available, the session will be queued

90

SSL public key does not matched pinned public key

XX

More error codes will appear here in future releases. The existing ones are meant to never change.

AUTHORS / CONTRIBUTORS

Daniel Stenberg is the main author, but the whole list of contributors is found in the separate THANKS file.

WWW

http://curl.haxx.se

FTP

ftp://ftp.sunet.se/pub/www/utilities/curl/

SEE ALSO

wget(1)

NAME SYNOPSIS DESCRIPTION URL PROGRESS METER OPTIONS FILES ENVIRONMENT PROXY PROTOCOL PREFIXES EXIT CODES AUTHORS / CONTRIBUTORS WWW FTP SEE ALSO

This document was created by man2html using the manual pages.

Time: 16:33:31 GMT, September 14, 2024

proxy

TOC Index

NAME

proxy - apply proxy settings

SYNOPSIS

WA2LWinTools/lib/proxy [ -h | -V | -p ]

proxy

AVAILABILITY

WA2L/WinTools

DESCRIPTION

this command is used to set the %HTTP_PROXY% and %HTTPS_PROXY% settings as defined in the etc/proxy.hostname.cfg , etc/proxy.domainname.cfg or etc/proxy.cfg configuration files.

The hostname is resolved from the %COMPUTERNAME% environment variable, the domainname from %USERDOMAIN%.

The configuration file containing the hostname has preference over the proxy.domainname.cfg file, if it exists on the related host.

The configuration file containing the domainname has preference over the proxy.cfg file, if it exists on the related host.

OPTIONS

apply settings from related configuration file.

-h

program usage.

-V

print program version.

-p

print currently applied %HTTP_PROXY% and %HTTPS_PROXY% settings.

ENVIRONMENT

%COMPUTERNAME%

host name of the computer.

%USERDOMAIN%

domain name where the computer is member of.

%HTTP_PROXY%

proxy for tools using the HTTP protocol.

%HTTPS_PROXY%

proxy for tools using the HTTPS protocol.

EXIT STATUS

0

no error.

4

usage message printed.

5

program version printed.

FILES

etc/proxy.hostname.cfg

etc/proxy.domainname.cfg

etc/proxy.cfg

optional configuration file to define proxy settings. See proxy.cfg(4) for more information.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), curl(1), proxy.cfg(4), wget(3), wintoolsdownload(1m), wtshell(1m)

NOTES

-

BUGS

-

AUTHOR

proxy was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:44 GMT, September 14, 2024

wget

TOC Index

NAME

Wget - The non-interactive network downloader.

SYNOPSIS

wget [option]... [URL]...

DESCRIPTION

GNU Wget is a free utility for non-interactive download of files from the Web. It supports HTTP, HTTPS, and FTP protocols, as well as retrieval through HTTP proxies.

Wget is non-interactive, meaning that it can work in the background, while the user is not logged on. This allows you to start a retrieval and disconnect from the system, letting Wget finish the work. By contrast, most of the Web browsers require constant user's presence, which can be a great hindrance when transferring a lot of data.

Wget can follow links in HTML, XHTML, and CSS pages, to create local versions of remote web sites, fully recreating the directory structure of the original site. This is sometimes referred to as ``recursive downloading.'' While doing that, Wget respects the Robot Exclusion Standard (/robots.txt). Wget can be instructed to convert the links in downloaded files to point at the local files, for offline viewing.

Wget has been designed for robustness over slow or unstable network connections; if a download fails due to a network problem, it will keep retrying until the whole file has been retrieved. If the server supports regetting, it will instruct the server to continue the download from where it left off.

Wget does not support Client Revocation Lists (CRLs) so the HTTPS certificate you are connecting to might be revoked by the siteowner.

OPTIONS

Option Syntax

Since Wget uses GNU getopt to process command-line arguments, every option has a long form along with the short one. Long options are more convenient to remember, but take time to type. You may freely mix different option styles, or specify options after the command-line arguments. Thus you may write:

wget -r --tries=10 http://fly.srk.fer.hr/ -o log

The space between the option accepting an argument and the argument may be omitted. Instead of -o log you can write -olog.

You may put several options that do not require arguments together, like:

wget -drc <URL>

This is completely equivalent to:

wget -d -r -c <URL>

Since the options can be specified after the arguments, you may terminate them with --. So the following will try to download URL -x, reporting failure to log:

wget -o log -- -x

The options that accept comma-separated lists all respect the convention that specifying an empty list clears its value. This can be useful to clear the .wgetrc settings. For instance, if your .wgetrc sets "exclude_directories" to /cgi-bin, the following example will first reset it, and then set it to exclude /~nobody and /~somebody. You can also clear the lists in .wgetrc.

wget -X " -X /~nobody,/~somebody

Most options that do not accept arguments are boolean options, so named because their state can be captured with a yes-or-no (``boolean'') variable. For example, --follow-ftp tells Wget to follow FTP links from HTML files and, on the other hand, --no-glob tells it not to perform file globbing on FTP URLs. A boolean option is either affirmative or negative (beginning with --no). All such options share several properties.

Unless stated otherwise, it is assumed that the default behavior is the opposite of what the option accomplishes. For example, the documented existence of --follow-ftp assumes that the default is to not follow FTP links from HTML pages.

Affirmative options can be negated by prepending the --no- to the option name; negative options can be negated by omitting the --no- prefix. This might seem superfluous---if the default for an affirmative option is to not do something, then why provide a way to explicitly turn it off? But the startup file may in fact change the default. For instance, using "follow_ftp = on" in .wgetrc makes Wget follow FTP links by default, and using --no-follow-ftp is the only way to restore the factory default from the command line.

Basic Startup Options

-V

--version

Display the version of Wget.

-h

--help

Print a help message describing all of Wget's command-line options.

-b

--background

Go to background immediately after startup. If no output file is specified via the -o, output is redirected to wget-log.

-e command

--execute command

Execute command as if it were a part of .wgetrc. A command thus invoked will be executed after the commands in .wgetrc, thus taking precedence over them. If you need to specify more than one wgetrc command, use multiple instances of -e.

Logging and Input File Options

-o logfile

--output-file=logfile

Log all messages to logfile. The messages are normally reported to standard error.

-a logfile

--append-output=logfile

Append to logfile. This is the same as -o, only it appends to logfile instead of overwriting the old log file. If logfile does not exist, a new file is created.

-d

--debug

Turn on debug output, meaning various information important to the developers of Wget if it does not work properly. Your system administrator may have chosen to compile Wget without debug support, in which case -d will not work. Please note that compiling with debug support is always safe---Wget compiled with the debug support will not print any debug info unless requested with -d.

-q

--quiet

Turn off Wget's output.

-v

--verbose

Turn on verbose output, with all the available data. The default output is verbose.

-nv

--no-verbose

Turn off verbose without being completely quiet (use -q for that), which means that error messages and basic information still get printed.

--report-speed=type

Output bandwidth as type. The only accepted value is bits.

-i file

--input-file=file

Read URLs from a local or external file. If - is specified as file, URLs are read from the standard input. (Use ./- to read from a file literally named -.)

If this function is used, no URLs need be present on the command line. If there are URLs both on the command line and in an input file, those on the command lines will be the first ones to be retrieved. If --force-html is not specified, then file should consist of a series of URLs, one per line.

However, if you specify --force-html, the document will be regarded as html. In that case you may have problems with relative links, which you can solve either by adding "<base href="url">" to the documents or by specifying --base=url on the command line.

If the file is an external one, the document will be automatically treated as html if the Content-Type matches text/html. Furthermore, the file's location will be implicitly used as base href if none was specified.

--input-metalink=file

Downloads files covered in local Metalink file. Metalink version 3 and 4 are supported.

--metalink-over-http

Issues HTTP HEAD request instead of GET and extracts Metalink metadata from response headers. Then it switches to Metalink download. If no valid Metalink metadata is found, it falls back to ordinary HTTP download.

--preferred-location

Set preferred location for Metalink resources. This has effect if multiple resources with same priority are available.

-F

--force-html

When input is read from a file, force it to be treated as an HTML file. This enables you to retrieve relative links from existing HTML files on your local disk, by adding "<base href="url">" to HTML, or using the --base command-line option.

-B URL

--base=URL

Resolves relative links using URL as the point of reference, when reading links from an HTML file specified via the -i/--input-file option (together with --force-html, or when the input file was fetched remotely from a server describing it as HTML). This is equivalent to the presence of a "BASE" tag in the HTML input file, with URL as the value for the "href" attribute.

For instance, if you specify http://foo/bar/a.html for URL, and Wget reads ../baz/b.html from the input file, it would be resolved to http://foo/baz/b.html.

--config=FILE

Specify the location of a startup file you wish to use.

--rejected-log=logfile

Logs all URL rejections to logfile as comma separated values. The values include the reason of rejection, the URL and the parent URL it was found in.

Download Options

--bind-address=ADDRESS

When making client TCP/IP connections, bind to ADDRESS on the local machine. ADDRESS may be specified as a hostname or IP address. This option can be useful if your machine is bound to multiple IPs.

-t number

--tries=number

Set number of tries to number. Specify 0 or inf for infinite retrying. The default is to retry 20 times, with the exception of fatal errors like ``connection refused'' or ``not found'' (404), which are not retried.

-O file

--output-document=file

The documents will not be written to the appropriate files, but all will be concatenated together and written to file. If - is used as file, documents will be printed to standard output, disabling link conversion. (Use ./- to print to a file literally named -.)

Use of -O is not intended to mean simply "use the name file instead of the one in the URL;" rather, it is analogous to shell redirection: wget -O file http://foo is intended to work like wget -O - http://foo > file; file will be truncated immediately, and all downloaded content will be written there.

For this reason, -N (for timestamp-checking) is not supported in combination with -O: since file is always newly created, it will always have a very new timestamp. A warning will be issued if this combination is used.

Similarly, using -r or -p with -O may not work as you expect: Wget won't just download the first file to file and then download the rest to their normal names: all downloaded content will be placed in file. This was disabled in version 1.11, but has been reinstated (with a warning) in 1.11.2, as there are some cases where this behavior can actually have some use.

A combination with -nc is only accepted if the given output file does not exist.

Note that a combination with -k is only permitted when downloading a single document, as in that case it will just convert all relative URIs to external ones; -k makes no sense for multiple URIs when they're all being downloaded to a single file; -k can be used only when the output is a regular file.

-nc

--no-clobber

If a file is downloaded more than once in the same directory, Wget's behavior depends on a few options, including -nc. In certain cases, the local file will be clobbered, or overwritten, upon repeated download. In other cases it will be preserved.

When running Wget without -N, -nc, -r, or -p, downloading the same file in the same directory will result in the original copy of file being preserved and the second copy being named file.1. If that file is downloaded yet again, the third copy will be named file.2, and so on. (This is also the behavior with -nd, even if -r or -p are in effect.) When -nc is specified, this behavior is suppressed, and Wget will refuse to download newer copies of file. Therefore, ""no-clobber"" is actually a misnomer in this mode---it's not clobbering that's prevented (as the numeric suffixes were already preventing clobbering), but rather the multiple version saving that's prevented.

When running Wget with -r or -p, but without -N, -nd, or -nc, re-downloading a file will result in the new copy simply overwriting the old. Adding -nc will prevent this behavior, instead causing the original version to be preserved and any newer copies on the server to be ignored.

When running Wget with -N, with or without -r or -p, the decision as to whether or not to download a newer copy of a file depends on the local and remote timestamp and size of the file. -nc may not be specified at the same time as -N.

A combination with -O/--output-document is only accepted if the given output file does not exist.

Note that when -nc is specified, files with the suffixes .html or .htm will be loaded from the local disk and parsed as if they had been retrieved from the Web.

--backups=backups

Before (over)writing a file, back up an existing file by adding a .1 suffix (_1 on VMS) to the file name. Such backup files are rotated to .2, .3, and so on, up to backups (and lost beyond that).

-c

--continue

Continue getting a partially-downloaded file. This is useful when you want to finish up a download started by a previous instance of Wget, or by another program. For instance:

wget -c ftp://sunsite.doc.ic.ac.uk/ls-lR.Z

If there is a file named ls-lR.Z in the current directory, Wget will assume that it is the first portion of the remote file, and will ask the server to continue the retrieval from an offset equal to the length of the local file.

Note that you don't need to specify this option if you just want the current invocation of Wget to retry downloading a file should the connection be lost midway through. This is the default behavior. -c only affects resumption of downloads started prior to this invocation of Wget, and whose local files are still sitting around.

Without -c, the previous example would just download the remote file to ls-lR.Z.1, leaving the truncated ls-lR.Z file alone.

Beginning with Wget 1.7, if you use -c on a non-empty file, and it turns out that the server does not support continued downloading, Wget will refuse to start the download from scratch, which would effectively ruin existing contents. If you really want the download to start from scratch, remove the file.

Also beginning with Wget 1.7, if you use -c on a file which is of equal size as the one on the server, Wget will refuse to download the file and print an explanatory message. The same happens when the file is smaller on the server than locally (presumably because it was changed on the server since your last download attempt)---because ``continuing'' is not meaningful, no download occurs.

On the other side of the coin, while using -c, any file that's bigger on the server than locally will be considered an incomplete download and only "(length(remote) - length(local))" bytes will be downloaded and tacked onto the end of the local file. This behavior can be desirable in certain cases---for instance, you can use wget -c to download just the new portion that's been appended to a data collection or log file.

However, if the file is bigger on the server because it's been changed, as opposed to just appended to, you'll end up with a garbled file. Wget has no way of verifying that the local file is really a valid prefix of the remote file. You need to be especially careful of this when using -c in conjunction with -r, since every file will be considered as an ``incomplete download'' candidate.

Another instance where you'll get a garbled file if you try to use -c is if you have a lame HTTP proxy that inserts a ``transfer interrupted'' string into the local file. In the future a ``rollback'' option may be added to deal with this case.

Note that -c only works with FTP servers and with HTTP servers that support the "Range" header.

--start-pos=OFFSET

Start downloading at zero-based position OFFSET. Offset may be expressed in bytes, kilobytes with the `k' suffix, or megabytes with the `m' suffix, etc.

--start-pos has higher precedence over --continue. When --start-pos and --continue are both specified, wget will emit a warning then proceed as if --continue was absent.

Server support for continued download is required, otherwise --start-pos cannot help. See -c for details.

--progress=type

Select the type of the progress indicator you wish to use. Legal indicators are ``dot'' and ``bar''.

The ``bar'' indicator is used by default. It draws an ASCII progress bar graphics (a.k.a ``thermometer'' display) indicating the status of retrieval. If the output is not a TTY, the ``dot'' bar will be used by default.

Use --progress=dot to switch to the ``dot'' display. It traces the retrieval by printing dots on the screen, each dot representing a fixed amount of downloaded data.

The progress type can also take one or more parameters. The parameters vary based on the type selected. Parameters to type are passed by appending them to the type sperated by a colon (:) like this: --progress=type:parameter1:parameter2.

When using the dotted retrieval, you may set the style by specifying the type as dot:style. Different styles assign different meaning to one dot. With the "default" style each dot represents 1K, there are ten dots in a cluster and 50 dots in a line. The "binary" style has a more ``computer''-like orientation---8K dots, 16-dots clusters and 48 dots per line (which makes for 384K lines). The "mega" style is suitable for downloading large files---each dot represents 64K retrieved, there are eight dots in a cluster, and 48 dots on each line (so each line contains 3M). If "mega" is not enough then you can use the "giga" style---each dot represents 1M retrieved, there are eight dots in a cluster, and 32 dots on each line (so each line contains 32M).

With --progress=bar, there are currently two possible parameters, force and noscroll.

When the output is not a TTY, the progress bar always falls back to ``dot'', even if --progress=bar was passed to Wget during invokation. This behaviour can be overridden and the ``bar'' output forced by using the ``force'' parameter as --progress=bar:force.

By default, the bar style progress bar scroll the name of the file from left to right for the file being downloaded if the filename exceeds the maximum length allotted for its display. In certain cases, such as with --progress=bar:force, one may not want the scrolling filename in the progress bar. By passing the ``noscroll'' parameter, Wget can be forced to display as much of the filename as possible without scrolling through it.

Note that you can set the default style using the "progress" command in .wgetrc. That setting may be overridden from the command line. For example, to force the bar output without scrolling, use --progress=bar:force:noscroll.

--show-progress

Force wget to display the progress bar in any verbosity.

By default, wget only displays the progress bar in verbose mode. One may however, want wget to display the progress bar on screen in conjunction with any other verbosity modes like --no-verbose or --quiet. This is often a desired a property when invoking wget to download several small/large files. In such a case, wget could simply be invoked with this parameter to get a much cleaner output on the screen.

This option will also force the progress bar to be printed to stderr when used alongside the --logfile option.

-N

--timestamping

Turn on time-stamping.

--no-if-modified-since

Do not send If-Modified-Since header in -N mode. Send preliminary HEAD request instead. This has only effect in -N mode.

--no-use-server-timestamps

Don't set the local file's timestamp by the one on the server.

By default, when a file is downloaded, its timestamps are set to match those from the remote file. This allows the use of --timestamping on subsequent invocations of wget. However, it is sometimes useful to base the local file's timestamp on when it was actually downloaded; for that purpose, the --no-use-server-timestamps option has been provided.

-S

--server-response

Print the headers sent by HTTP servers and responses sent by FTP servers.

--spider

When invoked with this option, Wget will behave as a Web spider, which means that it will not download the pages, just check that they are there. For example, you can use Wget to check your bookmarks:

wget --spider --force-html -i bookmarks.html

This feature needs much more work for Wget to get close to the functionality of real web spiders.

-T seconds

--timeout=seconds

Set the network timeout to seconds seconds. This is equivalent to specifying --dns-timeout, --connect-timeout, and --read-timeout, all at the same time.

When interacting with the network, Wget can check for timeout and abort the operation if it takes too long. This prevents anomalies like hanging reads and infinite connects. The only timeout enabled by default is a 900-second read timeout. Setting a timeout to 0 disables it altogether. Unless you know what you are doing, it is best not to change the default timeout settings.

All timeout-related options accept decimal values, as well as subsecond values. For example, 0.1 seconds is a legal (though unwise) choice of timeout. Subsecond timeouts are useful for checking server response times or for testing network latency.

--dns-timeout=seconds

Set the DNS lookup timeout to seconds seconds. DNS lookups that don't complete within the specified time will fail. By default, there is no timeout on DNS lookups, other than that implemented by system libraries.

--connect-timeout=seconds

Set the connect timeout to seconds seconds. TCP connections that take longer to establish will be aborted. By default, there is no connect timeout, other than that implemented by system libraries.

--read-timeout=seconds

Set the read (and write) timeout to seconds seconds. The ``time'' of this timeout refers to idle time: if, at any point in the download, no data is received for more than the specified number of seconds, reading fails and the download is restarted. This option does not directly affect the duration of the entire download.

Of course, the remote server may choose to terminate the connection sooner than this option requires. The default read timeout is 900 seconds.

--limit-rate=amount

Limit the download speed to amount bytes per second. Amount may be expressed in bytes, kilobytes with the k suffix, or megabytes with the m suffix. For example, --limit-rate=20k will limit the retrieval rate to 20KB/s. This is useful when, for whatever reason, you don't want Wget to consume the entire available bandwidth.

This option allows the use of decimal numbers, usually in conjunction with power suffixes; for example, --limit-rate=2.5k is a legal value.

Note that Wget implements the limiting by sleeping the appropriate amount of time after a network read that took less time than specified by the rate. Eventually this strategy causes the TCP transfer to slow down to approximately the specified rate. However, it may take some time for this balance to be achieved, so don't be surprised if limiting the rate doesn't work well with very small files.

-w seconds

--wait=seconds

Wait the specified number of seconds between the retrievals. Use of this option is recommended, as it lightens the server load by making the requests less frequent. Instead of in seconds, the time can be specified in minutes using the "m" suffix, in hours using "h" suffix, or in days using "d" suffix.

Specifying a large value for this option is useful if the network or the destination host is down, so that Wget can wait long enough to reasonably expect the network error to be fixed before the retry. The waiting interval specified by this function is influenced by "--random-wait", which see.

--waitretry=seconds

If you don't want Wget to wait between every retrieval, but only between retries of failed downloads, you can use this option. Wget will use linear backoff, waiting 1 second after the first failure on a given file, then waiting 2 seconds after the second failure on that file, up to the maximum number of seconds you specify.

By default, Wget will assume a value of 10 seconds.

--random-wait

Some web sites may perform log analysis to identify retrieval programs such as Wget by looking for statistically significant similarities in the time between requests. This option causes the time between requests to vary between 0.5 and 1.5 * wait seconds, where wait was specified using the --wait option, in order to mask Wget's presence from such analysis.

A 2001 article in a publication devoted to development on a popular consumer platform provided code to perform this analysis on the fly. Its author suggested blocking at the class C address level to ensure automated retrieval programs were blocked despite changing DHCP-supplied addresses.

The --random-wait option was inspired by this ill-advised recommendation to block many unrelated users from a web site due to the actions of one.

--no-proxy

Don't use proxies, even if the appropriate *_proxy environment variable is defined.

-Q quota

--quota=quota

Specify download quota for automatic retrievals. The value can be specified in bytes (default), kilobytes (with k suffix), or megabytes (with m suffix).

Note that quota will never affect downloading a single file. So if you specify wget -Q10k ftp://wuarchive.wustl.edu/ls-lR.gz, all of the ls-lR.gz will be downloaded. The same goes even when several URLs are specified on the command-line. However, quota is respected when retrieving either recursively, or from an input file. Thus you may safely type wget -Q2m -i sites---download will be aborted when the quota is exceeded.

Setting quota to 0 or to inf unlimits the download quota.

--no-dns-cache

Turn off caching of DNS lookups. Normally, Wget remembers the IP addresses it looked up from DNS so it doesn't have to repeatedly contact the DNS server for the same (typically small) set of hosts it retrieves from. This cache exists in memory only; a new Wget run will contact DNS again.

However, it has been reported that in some situations it is not desirable to cache host names, even for the duration of a short-running application like Wget. With this option Wget issues a new DNS lookup (more precisely, a new call to "gethostbyname" or "getaddrinfo") each time it makes a new connection. Please note that this option will not affect caching that might be performed by the resolving library or by an external caching layer, such as NSCD.

If you don't understand exactly what this option does, you probably won't need it.

--restrict-file-names=modes

Change which characters found in remote URLs must be escaped during generation of local filenames. Characters that are restricted by this option are escaped, i.e. replaced with %HH, where HH is the hexadecimal number that corresponds to the restricted character. This option may also be used to force all alphabetical cases to be either lower- or uppercase.

By default, Wget escapes the characters that are not valid or safe as part of file names on your operating system, as well as control characters that are typically unprintable. This option is useful for changing these defaults, perhaps because you are downloading to a non-native partition, or because you want to disable escaping of the control characters, or you want to further restrict characters to only those in the ASCII range of values.

The modes are a comma-separated set of text values. The acceptable values are unix, windows, nocontrol, ascii, lowercase, and uppercase. The values unix and windows are mutually exclusive (one will override the other), as are lowercase and uppercase. Those last are special cases, as they do not change the set of characters that would be escaped, but rather force local file paths to be converted either to lower- or uppercase.

When ``unix'' is specified, Wget escapes the character / and the control characters in the ranges 0--31 and 128--159. This is the default on Unix-like operating systems.

When ``windows'' is given, Wget escapes the characters \, |, /, :, ?, ", *, <, >, and the control characters in the ranges 0--31 and 128--159. In addition to this, Wget in Windows mode uses + instead of : to separate host and port in local file names, and uses @ instead of ? to separate the query portion of the file name from the rest. Therefore, a URL that would be saved as www.xemacs.org:4300/search.pl?input=blah in Unix mode would be saved as www.xemacs.org+4300/search.pl@input=blah in Windows mode. This mode is the default on Windows.

If you specify nocontrol, then the escaping of the control characters is also switched off. This option may make sense when you are downloading URLs whose names contain UTF-8 characters, on a system which can save and display filenames in UTF-8 (some possible byte values used in UTF-8 byte sequences fall in the range of values designated by Wget as ``controls'').

The ascii mode is used to specify that any bytes whose values are outside the range of ASCII characters (that is, greater than 127) shall be escaped. This can be useful when saving filenames whose encoding does not match the one used locally.

-4

--inet4-only

-6

--inet6-only

Force connecting to IPv4 or IPv6 addresses. With --inet4-only or -4, Wget will only connect to IPv4 hosts, ignoring AAAA records in DNS, and refusing to connect to IPv6 addresses specified in URLs. Conversely, with --inet6-only or -6, Wget will only connect to IPv6 hosts and ignore A records and IPv4 addresses.

Neither options should be needed normally. By default, an IPv6-aware Wget will use the address family specified by the host's DNS record. If the DNS responds with both IPv4 and IPv6 addresses, Wget will try them in sequence until it finds one it can connect to. (Also see "--prefer-family" option described below.)

These options can be used to deliberately force the use of IPv4 or IPv6 address families on dual family systems, usually to aid debugging or to deal with broken network configuration. Only one of --inet6-only and --inet4-only may be specified at the same time. Neither option is available in Wget compiled without IPv6 support.

--prefer-family=none/IPv4/IPv6

When given a choice of several addresses, connect to the addresses with specified address family first. The address order returned by DNS is used without change by default.

This avoids spurious errors and connect attempts when accessing hosts that resolve to both IPv6 and IPv4 addresses from IPv4 networks. For example, www.kame.net resolves to 2001:200:0:8002:203:47ff:fea5:3085 and to 203.178.141.194. When the preferred family is "IPv4", the IPv4 address is used first; when the preferred family is "IPv6", the IPv6 address is used first; if the specified value is "none", the address order returned by DNS is used without change.

Unlike -4 and -6, this option doesn't inhibit access to any address family, it only changes the order in which the addresses are accessed. Also note that the reordering performed by this option is stable---it doesn't affect order of addresses of the same family. That is, the relative order of all IPv4 addresses and of all IPv6 addresses remains intact in all cases.

--retry-connrefused

Consider ``connection refused'' a transient error and try again. Normally Wget gives up on a URL when it is unable to connect to the site because failure to connect is taken as a sign that the server is not running at all and that retries would not help. This option is for mirroring unreliable sites whose servers tend to disappear for short periods of time.

--user=user

--password=password

Specify the username user and password password for both FTP and HTTP file retrieval. These parameters can be overridden using the --ftp-user and --ftp-password options for FTP connections and the --http-user and --http-password options for HTTP connections.

--ask-password

Prompt for a password for each connection established. Cannot be specified when --password is being used, because they are mutually exclusive.

--no-iri

Turn off internationalized URI (IRI) support. Use --iri to turn it on. IRI support is activated by default.

You can set the default state of IRI support using the "iri" command in .wgetrc. That setting may be overridden from the command line.

--local-encoding=encoding

Force Wget to use encoding as the default system encoding. That affects how Wget converts URLs specified as arguments from locale to UTF-8 for IRI support.

Wget use the function "nl_langinfo()" and then the "CHARSET" environment variable to get the locale. If it fails, ASCII is used.

You can set the default local encoding using the "local_encoding" command in .wgetrc. That setting may be overridden from the command line.

--remote-encoding=encoding

Force Wget to use encoding as the default remote server encoding. That affects how Wget converts URIs found in files from remote encoding to UTF-8 during a recursive fetch. This options is only useful for IRI support, for the interpretation of non-ASCII characters.

For HTTP, remote encoding can be found in HTTP "Content-Type" header and in HTML "Content-Type http-equiv" meta tag.

You can set the default encoding using the "remoteencoding" command in .wgetrc. That setting may be overridden from the command line.

--unlink

Force Wget to unlink file instead of clobbering existing file. This option is useful for downloading to the directory with hardlinks.

Directory Options

-nd

--no-directories

Do not create a hierarchy of directories when retrieving recursively. With this option turned on, all files will get saved to the current directory, without clobbering (if a name shows up more than once, the filenames will get extensions .n).

-x

--force-directories

The opposite of -nd---create a hierarchy of directories, even if one would not have been created otherwise. E.g. wget -x http://fly.srk.fer.hr/robots.txt will save the downloaded file to fly.srk.fer.hr/robots.txt.

-nH

--no-host-directories

Disable generation of host-prefixed directories. By default, invoking Wget with -r http://fly.srk.fer.hr/ will create a structure of directories beginning with fly.srk.fer.hr/. This option disables such behavior.

--protocol-directories

Use the protocol name as a directory component of local file names. For example, with this option, wget -r http://host will save to http/host/... rather than just to host/....

--cut-dirs=number

Ignore number directory components. This is useful for getting a fine-grained control over the directory where recursive retrieval will be saved.

Take, for example, the directory at ftp://ftp.xemacs.org/pub/xemacs/. If you retrieve it with -r, it will be saved locally under ftp.xemacs.org/pub/xemacs/. While the -nH option can remove the ftp.xemacs.org/ part, you are still stuck with pub/xemacs. This is where --cut-dirs comes in handy; it makes Wget not ``see'' number remote directory components. Here are several examples of how --cut-dirs option works.

No options        -> ftp.xemacs.org/pub/xemacs/

-nH               -> pub/xemacs/

-nH --cut-dirs=1  -> xemacs/

-nH --cut-dirs=2  -> .

--cut-dirs=1      -> ftp.xemacs.org/xemacs/

...

If you just want to get rid of the directory structure, this option is similar to a combination of -nd and -P. However, unlike -nd, --cut-dirs does not lose with subdirectories---for instance, with -nH --cut-dirs=1, a beta/ subdirectory will be placed to xemacs/beta, as one would expect.

-P prefix

--directory-prefix=prefix

Set directory prefix to prefix. The directory prefix is the directory where all other files and subdirectories will be saved to, i.e. the top of the retrieval tree. The default is . (the current directory).

HTTP Options

--default-page=name

Use name as the default file name when it isn't known (i.e., for URLs that end in a slash), instead of index.html.

-E

--adjust-extension

If a file of type application/xhtml+xml or text/html is downloaded and the URL does not end with the regexp \.[Hh][Tt][Mm][Ll]?, this option will cause the suffix .html to be appended to the local filename. This is useful, for instance, when you're mirroring a remote site that uses .asp pages, but you want the mirrored pages to be viewable on your stock Apache server. Another good use for this is when you're downloading CGI-generated materials. A URL like http://site.com/article.cgi?25 will be saved as article.cgi?25.html.

Note that filenames changed in this way will be re-downloaded every time you re-mirror a site, because Wget can't tell that the local X.html file corresponds to remote URL X (since it doesn't yet know that the URL produces output of type text/html or application/xhtml+xml.

As of version 1.12, Wget will also ensure that any downloaded files of type text/css end in the suffix .css, and the option was renamed from --html-extension, to better reflect its new behavior. The old option name is still acceptable, but should now be considered deprecated.

At some point in the future, this option may well be expanded to include suffixes for other types of content, including content types that are not parsed by Wget.

--http-user=user

--http-password=password

Specify the username user and password password on an HTTP server. According to the type of the challenge, Wget will encode them using either the "basic" (insecure), the "digest", or the Windows "NTLM" authentication scheme.

Another way to specify username and password is in the URL itself. Either method reveals your password to anyone who bothers to run "ps". To prevent the passwords from being seen, store them in .wgetrc or .netrc, and make sure to protect those files from other users with "chmod". If the passwords are really important, do not leave them lying in those files either---edit the files and delete them after Wget has started the download.

--no-http-keep-alive

Turn off the ``keep-alive'' feature for HTTP downloads. Normally, Wget asks the server to keep the connection open so that, when you download more than one document from the same server, they get transferred over the same TCP connection. This saves time and at the same time reduces the load on the server.

This option is useful when, for some reason, persistent (keep-alive) connections don't work for you, for example due to a server bug or due to the inability of server-side scripts to cope with the connections.

--no-cache

Disable server-side cache. In this case, Wget will send the remote server an appropriate directive (Pragma: no-cache) to get the file from the remote service, rather than returning the cached version. This is especially useful for retrieving and flushing out-of-date documents on proxy servers.

Caching is allowed by default.

--no-cookies

Disable the use of cookies. Cookies are a mechanism for maintaining server-side state. The server sends the client a cookie using the "Set-Cookie" header, and the client responds with the same cookie upon further requests. Since cookies allow the server owners to keep track of visitors and for sites to exchange this information, some consider them a breach of privacy. The default is to use cookies; however, storing cookies is not on by default.

--load-cookies file

Load cookies from file before the first HTTP retrieval. file is a textual file in the format originally used by Netscape's cookies.txt file.

You will typically use this option when mirroring sites that require that you be logged in to access some or all of their content. The login process typically works by the web server issuing an HTTP cookie upon receiving and verifying your credentials. The cookie is then resent by the browser when accessing that part of the site, and so proves your identity.

Mirroring such a site requires Wget to send the same cookies your browser sends when communicating with the site. This is achieved by --load-cookies---simply point Wget to the location of the cookies.txt file, and it will send the same cookies your browser would send in the same situation. Different browsers keep textual cookie files in different locations:

Netscape 4.x.

The cookies are in ~/.netscape/cookies.txt.

Mozilla and Netscape 6.x.

Mozilla's cookie file is also named cookies.txt, located somewhere under ~/.mozilla, in the directory of your profile. The full path usually ends up looking somewhat like ~/.mozilla/default/some-weird-string/cookies.txt.

Internet Explorer.

You can produce a cookie file Wget can use by using the File menu, Import and Export, Export Cookies. This has been tested with Internet Explorer 5; it is not guaranteed to work with earlier versions.

Other browsers.

If you are using a different browser to create your cookies, --load-cookies will only work if you can locate or produce a cookie file in the Netscape format that Wget expects.

If you cannot use --load-cookies, there might still be an alternative. If your browser supports a ``cookie manager'', you can use it to view the cookies used when accessing the site you're mirroring. Write down the name and value of the cookie, and manually instruct Wget to send those cookies, bypassing the ``official'' cookie support:

wget --no-cookies --header "Cookie: <name>=<value>"

--save-cookies file

Save cookies to file before exiting. This will not save cookies that have expired or that have no expiry time (so-called ``session cookies''), but also see --keep-session-cookies.

--keep-session-cookies

When specified, causes --save-cookies to also save session cookies. Session cookies are normally not saved because they are meant to be kept in memory and forgotten when you exit the browser. Saving them is useful on sites that require you to log in or to visit the home page before you can access some pages. With this option, multiple Wget runs are considered a single browser session as far as the site is concerned.

Since the cookie file format does not normally carry session cookies, Wget marks them with an expiry timestamp of 0. Wget's --load-cookies recognizes those as session cookies, but it might confuse other browsers. Also note that cookies so loaded will be treated as other session cookies, which means that if you want --save-cookies to preserve them again, you must use --keep-session-cookies again.

--ignore-length

Unfortunately, some HTTP servers (CGI programs, to be more precise) send out bogus "Content-Length" headers, which makes Wget go wild, as it thinks not all the document was retrieved. You can spot this syndrome if Wget retries getting the same document again and again, each time claiming that the (otherwise normal) connection has closed on the very same byte.

With this option, Wget will ignore the "Content-Length" header---as if it never existed.

--header=header-line

Send header-line along with the rest of the headers in each HTTP request. The supplied header is sent as-is, which means it must contain name and value separated by colon, and must not contain newlines.

You may define more than one additional header by specifying --header more than once.

wget --header='Accept-Charset: iso-8859-2' \

--header='Accept-Language: hr'        \

http://fly.srk.fer.hr/

Specification of an empty string as the header value will clear all previous user-defined headers.

As of Wget 1.10, this option can be used to override headers otherwise generated automatically. This example instructs Wget to connect to localhost, but to specify foo.bar in the "Host" header:

wget --header="Host: foo.bar" http://localhost/

In versions of Wget prior to 1.10 such use of --header caused sending of duplicate headers.

--max-redirect=number

Specifies the maximum number of redirections to follow for a resource. The default is 20, which is usually far more than necessary. However, on those occasions where you want to allow more (or fewer), this is the option to use.

--proxy-user=user

--proxy-password=password

Specify the username user and password password for authentication on a proxy server. Wget will encode them using the "basic" authentication scheme.

Security considerations similar to those with --http-password pertain here as well.

--referer=url

Include `Referer: url' header in HTTP request. Useful for retrieving documents with server-side processing that assume they are always being retrieved by interactive web browsers and only come out properly when Referer is set to one of the pages that point to them.

--save-headers

Save the headers sent by the HTTP server to the file, preceding the actual contents, with an empty line as the separator.

-U agent-string

--user-agent=agent-string

Identify as agent-string to the HTTP server.

The HTTP protocol allows the clients to identify themselves using a "User-Agent" header field. This enables distinguishing the WWW software, usually for statistical purposes or for tracing of protocol violations. Wget normally identifies as Wget/version, version being the current version number of Wget.

However, some sites have been known to impose the policy of tailoring the output according to the "User-Agent"-supplied information. While this is not such a bad idea in theory, it has been abused by servers denying information to clients other than (historically) Netscape or, more frequently, Microsoft Internet Explorer. This option allows you to change the "User-Agent" line issued by Wget. Use of this option is discouraged, unless you really know what you are doing.

Specifying empty user agent with --user-agent="" instructs Wget not to send the "User-Agent" header in HTTP requests.

--post-data=string

--post-file=file

Use POST as the method for all HTTP requests and send the specified data in the request body. --post-data sends string as data, whereas --post-file sends the contents of file. Other than that, they work in exactly the same way. In particular, they both expect content of the form "key1=value1&key2=value2", with percent-encoding for special characters; the only difference is that one expects its content as a command-line parameter and the other accepts its content from a file. In particular, --post-file is not for transmitting files as form attachments: those must appear as "key=value" data (with appropriate percent-coding) just like everything else. Wget does not currently support "multipart/form-data" for transmitting POST data; only "application/x-www-form-urlencoded". Only one of --post-data and --post-file should be specified.

Please note that wget does not require the content to be of the form "key1=value1&key2=value2", and neither does it test for it. Wget will simply transmit whatever data is provided to it. Most servers however expect the POST data to be in the above format when processing HTML Forms.

When sending a POST request using the --post-file option, Wget treats the file as a binary file and will send every character in the POST request without stripping trailing newline or formfeed characters. Any other control characters in the text will also be sent as-is in the POST request.

Please be aware that Wget needs to know the size of the POST data in advance. Therefore the argument to "--post-file" must be a regular file; specifying a FIFO or something like /dev/stdin won't work. It's not quite clear how to work around this limitation inherent in HTTP/1.0. Although HTTP/1.1 introduces chunked transfer that doesn't require knowing the request length in advance, a client can't use chunked unless it knows it's talking to an HTTP/1.1 server. And it can't know that until it receives a response, which in turn requires the request to have been completed --- a chicken-and-egg problem.

Note: As of version 1.15 if Wget is redirected after the POST request is completed, its behaviour will depend on the response code returned by the server. In case of a 301 Moved Permanently, 302 Moved Temporarily or 307 Temporary Redirect, Wget will, in accordance with RFC2616, continue to send a POST request. In case a server wants the client to change the Request method upon redirection, it should send a 303 See Other response code.

This example shows how to log in to a server using POST and then proceed to download the desired pages, presumably only accessible to authorized users:

# Log in to the server.  This can be done only once.

wget --save-cookies cookies.txt \

--post-data 'user=foo&password=bar' \

http://server.com/auth.php

# Now grab the page or pages we care about.

wget --load-cookies cookies.txt \

-p http://server.com/interesting/article.php

If the server is using session cookies to track user authentication, the above will not work because --save-cookies will not save them (and neither will browsers) and the cookies.txt file will be empty. In that case use --keep-session-cookies along with --save-cookies to force saving of session cookies.

--method=HTTP-Method

For the purpose of RESTful scripting, Wget allows sending of other HTTP Methods without the need to explicitly set them using --header=Header-Line. Wget will use whatever string is passed to it after --method as the HTTP Method to the server.

--body-data=Data-String

--body-file=Data-File

Must be set when additional data needs to be sent to the server along with the Method specified using --method. --body-data sends string as data, whereas --body-file sends the contents of file. Other than that, they work in exactly the same way.

Currently, --body-file is not for transmitting files as a whole. Wget does not currently support "multipart/form-data" for transmitting data; only "application/x-www-form-urlencoded". In the future, this may be changed so that wget sends the --body-file as a complete file instead of sending its contents to the server. Please be aware that Wget needs to know the contents of BODY Data in advance, and hence the argument to --body-file should be a regular file. See --post-file for a more detailed explanation. Only one of --body-data and --body-file should be specified.

If Wget is redirected after the request is completed, Wget will suspend the current method and send a GET request till the redirection is completed. This is true for all redirection response codes except 307 Temporary Redirect which is used to explicitly specify that the request method should not change. Another exception is when the method is set to "POST", in which case the redirection rules specified under --post-data are followed.

--content-disposition

If this is set to on, experimental (not fully-functional) support for "Content-Disposition" headers is enabled. This can currently result in extra round-trips to the server for a "HEAD" request, and is known to suffer from a few bugs, which is why it is not currently enabled by default.

This option is useful for some file-downloading CGI programs that use "Content-Disposition" headers to describe what the name of a downloaded file should be.

--content-on-error

If this is set to on, wget will not skip the content when the server responds with a http status code that indicates error.

--trust-server-names

If this is set to on, on a redirect the last component of the redirection URL will be used as the local file name. By default it is used the last component in the original URL.

--auth-no-challenge

If this option is given, Wget will send Basic HTTP authentication information (plaintext username and password) for all requests, just like Wget 1.10.2 and prior did by default.

Use of this option is not recommended, and is intended only to support some few obscure servers, which never send HTTP authentication challenges, but accept unsolicited auth info, say, in addition to form-based authentication.

HTTPS (SSL/TLS) Options

To support encrypted HTTP (HTTPS) downloads, Wget must be compiled with an external SSL library. The current default is GnuTLS. In addition, Wget also supports HSTS (HTTP Strict Transport Security). If Wget is compiled without SSL support, none of these options are available.

--secure-protocol=protocol

Choose the secure protocol to be used. Legal values are auto, SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 and PFS. If auto is used, the SSL library is given the liberty of choosing the appropriate protocol automatically, which is achieved by sending a TLSv1 greeting. This is the default.

Specifying SSLv2, SSLv3, TLSv1, TLSv1_1 or TLSv1_2 forces the use of the corresponding protocol. This is useful when talking to old and buggy SSL server implementations that make it hard for the underlying SSL library to choose the correct protocol version. Fortunately, such servers are quite rare.

Specifying PFS enforces the use of the so-called Perfect Forward Security cipher suites. In short, PFS adds security by creating a one-time key for each SSL connection. It has a bit more CPU impact on client and server. We use known to be secure ciphers (e.g. no MD4) and the TLS protocol.

--https-only

When in recursive mode, only HTTPS links are followed.

--no-check-certificate

Don't check the server certificate against the available certificate authorities. Also don't require the URL host name to match the common name presented by the certificate.

As of Wget 1.10, the default is to verify the server's certificate against the recognized certificate authorities, breaking the SSL handshake and aborting the download if the verification fails. Although this provides more secure downloads, it does break interoperability with some sites that worked with previous Wget versions, particularly those using self-signed, expired, or otherwise invalid certificates. This option forces an ``insecure'' mode of operation that turns the certificate verification errors into warnings and allows you to proceed.

If you encounter ``certificate verification'' errors or ones saying that ``common name doesn't match requested host name'', you can use this option to bypass the verification and proceed with the download. Only use this option if you are otherwise convinced of the site's authenticity, or if you really don't care about the validity of its certificate. It is almost always a bad idea not to check the certificates when transmitting confidential or important data. For self-signed/internal certificates, you should download the certificate and verify against that instead of forcing this insecure mode. If you are really sure of not desiring any certificate verification, you can specify --check-certificate=quiet to tell wget to not print any warning about invalid certificates, albeit in most cases this is the wrong thing to do.

--certificate=file

Use the client certificate stored in file. This is needed for servers that are configured to require certificates from the clients that connect to them. Normally a certificate is not required and this switch is optional.

--certificate-type=type

Specify the type of the client certificate. Legal values are PEM (assumed by default) and DER, also known as ASN1.

--private-key=file

Read the private key from file. This allows you to provide the private key in a file separate from the certificate.

--private-key-type=type

Specify the type of the private key. Accepted values are PEM (the default) and DER.

--ca-certificate=file

Use file as the file with the bundle of certificate authorities (``CA'') to verify the peers. The certificates must be in PEM format.

Without this option Wget looks for CA certificates at the system-specified locations, chosen at OpenSSL installation time.

--ca-directory=directory

Specifies directory containing CA certificates in PEM format. Each file contains one CA certificate, and the file name is based on a hash value derived from the certificate. This is achieved by processing a certificate directory with the "c_rehash" utility supplied with OpenSSL. Using --ca-directory is more efficient than --ca-certificate when many certificates are installed because it allows Wget to fetch certificates on demand.

Without this option Wget looks for CA certificates at the system-specified locations, chosen at OpenSSL installation time.

--crl-file=file

Specifies a CRL file in file. This is needed for certificates that have been revocated by the CAs.

--random-file=file

[OpenSSL and LibreSSL only] Use file as the source of random data for seeding the pseudo-random number generator on systems without /dev/urandom.

On such systems the SSL library needs an external source of randomness to initialize. Randomness may be provided by EGD (see --egd-file below) or read from an external source specified by the user. If this option is not specified, Wget looks for random data in $RANDFILE or, if that is unset, in $HOME/.rnd.

If you're getting the ``Could not seed OpenSSL PRNG; disabling SSL.'' error, you should provide random data using some of the methods described above.

--egd-file=file

[OpenSSL only] Use file as the EGD socket. EGD stands for Entropy Gathering Daemon, a user-space program that collects data from various unpredictable system sources and makes it available to other programs that might need it. Encryption software, such as the SSL library, needs sources of non-repeating randomness to seed the random number generator used to produce cryptographically strong keys.

OpenSSL allows the user to specify his own source of entropy using the "RAND_FILE" environment variable. If this variable is unset, or if the specified file does not produce enough randomness, OpenSSL will read random data from EGD socket specified using this option.

If this option is not specified (and the equivalent startup command is not used), EGD is never contacted. EGD is not needed on modern Unix systems that support /dev/urandom.

--no-hsts

Wget supports HSTS (HTTP Strict Transport Security, RFC 6797) by default. Use --no-hsts to make Wget act as a non-HSTS-compliant UA. As a consequence, Wget would ignore all the "Strict-Transport-Security" headers, and would not enforce any existing HSTS policy.

--hsts-file=file

By default, Wget stores its HSTS database in ~/.wget-hsts. You can use --hsts-file to override this. Wget will use the supplied file as the HSTS database. Such file must conform to the correct HSTS database format used by Wget. If Wget cannot parse the provided file, the behaviour is unspecified.

The Wget's HSTS database is a plain text file. Each line contains an HSTS entry (ie. a site that has issued a "Strict-Transport-Security" header and that therefore has specified a concrete HSTS policy to be applied). Lines starting with a dash ("#") are ignored by Wget. Please note that in spite of this convenient human-readability hand-hacking the HSTS database is generally not a good idea.

An HSTS entry line consists of several fields separated by one or more whitespace:

"<hostname> SP [<port>] SP <include subdomains> SP <created> SP <max-age>"

The hostname and port fields indicate the hostname and port to which the given HSTS policy applies. The port field may be zero, and it will, in most of the cases. That means that the port number will not be taken into account when deciding whether such HSTS policy should be applied on a given request (only the hostname will be evaluated). When port is different to zero, both the target hostname and the port will be evaluated and the HSTS policy will only be applied if both of them match. This feature has been included for testing/development purposes only. The Wget testsuite (in testenv/) creates HSTS databases with explicit ports with the purpose of ensuring Wget's correct behaviour. Applying HSTS policies to ports other than the default ones is discouraged by RFC 6797 (see Appendix B ``Differences between HSTS Policy and Same-Origin Policy''). Thus, this functionality should not be used in production environments and port will typically be zero. The last three fields do what they are expected to. The field include_subdomains can either be 1 or 0 and it signals whether the subdomains of the target domain should be part of the given HSTS policy as well. The created and max-age fields hold the timestamp values of when such entry was created (first seen by Wget) and the HSTS-defined value 'max-age', which states how long should that HSTS policy remain active, measured in seconds elapsed since the timestamp stored in created. Once that time has passed, that HSTS policy will no longer be valid and will eventually be removed from the database.

If you supply your own HSTS database via --hsts-file, be aware that Wget may modify the provided file if any change occurs between the HSTS policies requested by the remote servers and those in the file. When Wget exists, it effectively updates the HSTS database by rewriting the database file with the new entries.

If the supplied file does not exist, Wget will create one. This file will contain the new HSTS entries. If no HSTS entries were generated (no "Strict-Transport-Security" headers were sent by any of the servers) then no file will be created, not even an empty one. This behaviour applies to the default database file (~/.wget-hsts) as well: it will not be created until some server enforces an HSTS policy.

Care is taken not to override possible changes made by other Wget processes at the same time over the HSTS database. Before dumping the updated HSTS entries on the file, Wget will re-read it and merge the changes.

Using a custom HSTS database and/or modifying an existing one is discouraged. For more information about the potential security threats arised from such practice, see section 14 ``Security Considerations'' of RFC 6797, specially section 14.9 ``Creative Manipulation of HSTS Policy Store''.

--warc-file=file

Use file as the destination WARC file.

--warc-header=string

Use string into as the warcinfo record.

--warc-max-size=size

Set the maximum size of the WARC files to size.

--warc-cdx

Write CDX index files.

--warc-dedup=file

Do not store records listed in this CDX file.

--no-warc-compression

Do not compress WARC files with GZIP.

--no-warc-digests

Do not calculate SHA1 digests.

--no-warc-keep-log

Do not store the log file in a WARC record.

--warc-tempdir=dir

Specify the location for temporary files created by the WARC writer.

FTP Options

--ftp-user=user

--ftp-password=password

Specify the username user and password password on an FTP server. Without this, or the corresponding startup option, the password defaults to -wget@, normally used for anonymous FTP.

Another way to specify username and password is in the URL itself. Either method reveals your password to anyone who bothers to run "ps". To prevent the passwords from being seen, store them in .wgetrc or .netrc, and make sure to protect those files from other users with "chmod". If the passwords are really important, do not leave them lying in those files either---edit the files and delete them after Wget has started the download.

--no-remove-listing

Don't remove the temporary .listing files generated by FTP retrievals. Normally, these files contain the raw directory listings received from FTP servers. Not removing them can be useful for debugging purposes, or when you want to be able to easily check on the contents of remote server directories (e.g. to verify that a mirror you're running is complete).

Note that even though Wget writes to a known filename for this file, this is not a security hole in the scenario of a user making .listing a symbolic link to /etc/passwd or something and asking "root" to run Wget in his or her directory. Depending on the options used, either Wget will refuse to write to .listing, making the globbing/recursion/time-stamping operation fail, or the symbolic link will be deleted and replaced with the actual .listing file, or the listing will be written to a .listing.number file.

Even though this situation isn't a problem, though, "root" should never run Wget in a non-trusted user's directory. A user could do something as simple as linking index.html to /etc/passwd and asking "root" to run Wget with -N or -r so the file will be overwritten.

--no-glob

Turn off FTP globbing. Globbing refers to the use of shell-like special characters (wildcards), like *, ?, [ and ] to retrieve more than one file from the same directory at once, like:

wget ftp://gnjilux.srk.fer.hr/*.msg

By default, globbing will be turned on if the URL contains a globbing character. This option may be used to turn globbing on or off permanently.

You may have to quote the URL to protect it from being expanded by your shell. Globbing makes Wget look for a directory listing, which is system-specific. This is why it currently works only with Unix FTP servers (and the ones emulating Unix "ls" output).

--no-passive-ftp

Disable the use of the passive FTP transfer mode. Passive FTP mandates that the client connect to the server to establish the data connection rather than the other way around.

If the machine is connected to the Internet directly, both passive and active FTP should work equally well. Behind most firewall and NAT configurations passive FTP has a better chance of working. However, in some rare firewall configurations, active FTP actually works when passive FTP doesn't. If you suspect this to be the case, use this option, or set "passive_ftp=off" in your init file.

--preserve-permissions

Preserve remote file permissions instead of permissions set by umask.

--retr-symlinks

By default, when retrieving FTP directories recursively and a symbolic link is encountered, the symbolic link is traversed and the pointed-to files are retrieved. Currently, Wget does not traverse symbolic links to directories to download them recursively, though this feature may be added in the future.

When --retr-symlinks=no is specified, the linked-to file is not downloaded. Instead, a matching symbolic link is created on the local filesystem. The pointed-to file will not be retrieved unless this recursive retrieval would have encountered it separately and downloaded it anyway. This option poses a security risk where a malicious FTP Server may cause Wget to write to files outside of the intended directories through a specially crafted .LISTING file.

Note that when retrieving a file (not a directory) because it was specified on the command-line, rather than because it was recursed to, this option has no effect. Symbolic links are always traversed in this case.

FTPS Options

--ftps-implicit

This option tells Wget to use FTPS implicitly. Implicit FTPS consists of initializing SSL/TLS from the very beginning of the control connection. This option does not send an "AUTH TLS" command: it assumes the server speaks FTPS and directly starts an SSL/TLS connection. If the attempt is successful, the session continues just like regular FTPS ("PBSZ" and "PROT" are sent, etc.). Implicit FTPS is no longer a requirement for FTPS implementations, and thus many servers may not support it. If --ftps-implicit is passed and no explicit port number specified, the default port for implicit FTPS, 990, will be used, instead of the default port for the ``normal'' (explicit) FTPS which is the same as that of FTP, 21.

--no-ftps-resume-ssl

Do not resume the SSL/TLS session in the data channel. When starting a data connection, Wget tries to resume the SSL/TLS session previously started in the control connection. SSL/TLS session resumption avoids performing an entirely new handshake by reusing the SSL/TLS parameters of a previous session. Typically, the FTPS servers want it that way, so Wget does this by default. Under rare circumstances however, one might want to start an entirely new SSL/TLS session in every data connection. This is what --no-ftps-resume-ssl is for.

--ftps-clear-data-connection

All the data connections will be in plain text. Only the control connection will be under SSL/TLS. Wget will send a "PROT C" command to achieve this, which must be approved by the server.

--ftps-fallback-to-ftp

Fall back to FTP if FTPS is not supported by the target server. For security reasons, this option is not asserted by default. The default behaviour is to exit with an error. If a server does not successfully reply to the initial "AUTH TLS" command, or in the case of implicit FTPS, if the initial SSL/TLS connection attempt is rejected, it is considered that such server does not support FTPS.

Recursive Retrieval Options

-r

--recursive

Turn on recursive retrieving. The default maximum depth is 5.

-l depth

--level=depth

Specify recursion maximum depth level depth.

--delete-after

This option tells Wget to delete every single file it downloads, after having done so. It is useful for pre-fetching popular pages through a proxy, e.g.:

wget -r -nd --delete-after http://whatever.com/~popular/page/

The -r option is to retrieve recursively, and -nd to not create directories.

Note that --delete-after deletes files on the local machine. It does not issue the DELE command to remote FTP sites, for instance. Also note that when --delete-after is specified, --convert-links is ignored, so .orig files are simply not created in the first place.

-k

--convert-links

After the download is complete, convert the links in the document to make them suitable for local viewing. This affects not only the visible hyperlinks, but any part of the document that links to external content, such as embedded images, links to style sheets, hyperlinks to non-HTML content, etc.

Each link will be changed in one of the two ways:

*

The links to files that have been downloaded by Wget will be changed to refer to the file they point to as a relative link.

Example: if the downloaded file /foo/doc.html links to /bar/img.gif, also downloaded, then the link in doc.html will be modified to point to ../bar/img.gif. This kind of transformation works reliably for arbitrary combinations of directories.

*

The links to files that have not been downloaded by Wget will be changed to include host name and absolute path of the location they point to.

Example: if the downloaded file /foo/doc.html links to /bar/img.gif (or to ../bar/img.gif), then the link in doc.html will be modified to point to http://hostname/bar/img.gif.

Because of this, local browsing works reliably: if a linked file was downloaded, the link will refer to its local name; if it was not downloaded, the link will refer to its full Internet address rather than presenting a broken link. The fact that the former links are converted to relative links ensures that you can move the downloaded hierarchy to another directory.

Note that only at the end of the download can Wget know which links have been downloaded. Because of that, the work done by -k will be performed at the end of all the downloads.

--convert-file-only

This option converts only the filename part of the URLs, leaving the rest of the URLs untouched. This filename part is sometimes referred to as the ``basename'', although we avoid that term here in order not to cause confusion.

It works particularly well in conjunction with --adjust-extension, although this coupling is not enforced. It proves useful to populate Internet caches with files downloaded from different hosts.

Example: if some link points to //foo.com/bar.cgi?xyz with --adjust-extension asserted and its local destination is intended to be ./foo.com/bar.cgi?xyz.css, then the link would be converted to //foo.com/bar.cgi?xyz.css. Note that only the filename part has been modified. The rest of the URL has been left untouched, including the net path ("//") which would otherwise be processed by Wget and converted to the effective scheme (ie. "http://").

-K

--backup-converted

When converting a file, back up the original version with a .orig suffix. Affects the behavior of -N.

-m

--mirror

Turn on options suitable for mirroring. This option turns on recursion and time-stamping, sets infinite recursion depth and keeps FTP directory listings. It is currently equivalent to -r -N -l inf --no-remove-listing.

-p

--page-requisites

This option causes Wget to download all the files that are necessary to properly display a given HTML page. This includes such things as inlined images, sounds, and referenced stylesheets.

Ordinarily, when downloading a single HTML page, any requisite documents that may be needed to display it properly are not downloaded. Using -r together with -l can help, but since Wget does not ordinarily distinguish between external and inlined documents, one is generally left with ``leaf documents'' that are missing their requisites.

For instance, say document 1.html contains an "<IMG>" tag referencing 1.gif and an "<A>" tag pointing to external document 2.html. Say that 2.html is similar but that its image is 2.gif and it links to 3.html. Say this continues up to some arbitrarily high number.

If one executes the command:

wget -r -l 2 http://<site>/1.html

then 1.html, 1.gif, 2.html, 2.gif, and 3.html will be downloaded. As you can see, 3.html is without its requisite 3.gif because Wget is simply counting the number of hops (up to 2) away from 1.html in order to determine where to stop the recursion. However, with this command:

wget -r -l 2 -p http://<site>/1.html

all the above files and 3.html's requisite 3.gif will be downloaded. Similarly,

wget -r -l 1 -p http://<site>/1.html

will cause 1.html, 1.gif, 2.html, and 2.gif to be downloaded. One might think that:

wget -r -l 0 -p http://<site>/1.html

would download just 1.html and 1.gif, but unfortunately this is not the case, because -l 0 is equivalent to -l inf---that is, infinite recursion. To download a single HTML page (or a handful of them, all specified on the command-line or in a -i URL input file) and its (or their) requisites, simply leave off -r and -l:

wget -p http://<site>/1.html

Note that Wget will behave as if -r had been specified, but only that single page and its requisites will be downloaded. Links from that page to external documents will not be followed. Actually, to download a single page and all its requisites (even if they exist on separate websites), and make sure the lot displays properly locally, this author likes to use a few options in addition to -p:

wget -E -H -k -K -p http://<site>/<document>

To finish off this topic, it's worth knowing that Wget's idea of an external document link is any URL specified in an "<A>" tag, an "<AREA>" tag, or a "<LINK>" tag other than "<LINK REL="stylesheet">".

--strict-comments

Turn on strict parsing of HTML comments. The default is to terminate comments at the first occurrence of -->.

According to specifications, HTML comments are expressed as SGML declarations. Declaration is special markup that begins with <! and ends with >, such as <!DOCTYPE ...>, that may contain comments between a pair of -- delimiters. HTML comments are ``empty declarations'', SGML declarations without any non-comment text. Therefore, <!--foo--> is a valid comment, and so is <!--one--- --two-->, but <!--1--2--> is not.

On the other hand, most HTML writers don't perceive comments as anything other than text delimited with <!-- and -->, which is not quite the same. For example, something like <!------------> works as a valid comment as long as the number of dashes is a multiple of four (!). If not, the comment technically lasts until the next --, which may be at the other end of the document. Because of this, many popular browsers completely ignore the specification and implement what users have come to expect: comments delimited with <!-- and -->.

Until version 1.9, Wget interpreted comments strictly, which resulted in missing links in many web pages that displayed fine in browsers, but had the misfortune of containing non-compliant comments. Beginning with version 1.9, Wget has joined the ranks of clients that implements ``naive'' comments, terminating each comment at the first occurrence of -->.

If, for whatever reason, you want strict comment parsing, use this option to turn it on.

Recursive Accept/Reject Options

-A acclist --accept acclist

-R rejlist --reject rejlist

Specify comma-separated lists of file name suffixes or patterns to accept or reject. Note that if any of the wildcard characters, *, ?, [ or ], appear in an element of acclist or rejlist, it will be treated as a pattern, rather than a suffix. In this case, you have to enclose the pattern into quotes to prevent your shell from expanding it, like in -A ``*.mp3'' or -A '*.mp3'.

--accept-regex urlregex

--reject-regex urlregex

Specify a regular expression to accept or reject the complete URL.

--regex-type regextype

Specify the regular expression type. Possible types are posix or pcre. Note that to be able to use pcre type, wget has to be compiled with libpcre support.

-D domain-list

--domains=domain-list

Set domains to be followed. domain-list is a comma-separated list of domains. Note that it does not turn on -H.

--exclude-domains domain-list

Specify the domains that are not to be followed.

--follow-ftp

Follow FTP links from HTML documents. Without this option, Wget will ignore all the FTP links.

--follow-tags=list

Wget has an internal table of HTML tag / attribute pairs that it considers when looking for linked documents during a recursive retrieval. If a user wants only a subset of those tags to be considered, however, he or she should be specify such tags in a comma-separated list with this option.

--ignore-tags=list

This is the opposite of the --follow-tags option. To skip certain HTML tags when recursively looking for documents to download, specify them in a comma-separated list.

In the past, this option was the best bet for downloading a single page and its requisites, using a command-line like:

wget --ignore-tags=a,area -H -k -K -r http://<site>/<document>

However, the author of this option came across a page with tags like "<LINK REL="home" HREF="/">" and came to the realization that specifying tags to ignore was not enough. One can't just tell Wget to ignore "<LINK>", because then stylesheets will not be downloaded. Now the best bet for downloading a single page and its requisites is the dedicated --page-requisites option.

--ignore-case

Ignore case when matching files and directories. This influences the behavior of -R, -A, -I, and -X options, as well as globbing implemented when downloading from FTP sites. For example, with this option, -A ``*.txt'' will match file1.txt, but also file2.TXT, file3.TxT, and so on. The quotes in the example are to prevent the shell from expanding the pattern.

-H

--span-hosts

Enable spanning across hosts when doing recursive retrieving.

-L

--relative

Follow relative links only. Useful for retrieving a specific home page without any distractions, not even those from the same hosts.

-I list

--include-directories=list

Specify a comma-separated list of directories you wish to follow when downloading. Elements of list may contain wildcards.

-X list

--exclude-directories=list

Specify a comma-separated list of directories you wish to exclude from download. Elements of list may contain wildcards.

-np

--no-parent

Do not ever ascend to the parent directory when retrieving recursively. This is a useful option, since it guarantees that only the files below a certain hierarchy will be downloaded.

ENVIRONMENT

Wget supports proxies for both HTTP and FTP retrievals. The standard way to specify proxy location, which Wget recognizes, is using the following environment variables:

http_proxy

https_proxy

If set, the http_proxy and https_proxy variables should contain the URLs of the proxies for HTTP and HTTPS connections respectively.

ftp_proxy

This variable should contain the URL of the proxy for FTP connections. It is quite common that http_proxy and ftp_proxy are set to the same URL.

no_proxy

This variable should contain a comma-separated list of domain extensions proxy should not be used for. For instance, if the value of no_proxy is .mit.edu, proxy will not be used to retrieve documents from MIT.

EXIT STATUS

Wget may return one of several error codes if it encounters problems.

0

No problems occurred.

1

Generic error code.

2

Parse error---for instance, when parsing command-line options, the .wgetrc or .netrc...

3

File I/O error.

4

Network failure.

5

SSL verification failure.

6

Username/password authentication failure.

7

Protocol errors.

8

Server issued an error response.

With the exceptions of 0 and 1, the lower-numbered exit codes take precedence over higher-numbered ones, when multiple types of errors are encountered.

In versions of Wget prior to 1.12, Wget's exit status tended to be unhelpful and inconsistent. Recursive downloads would virtually always return 0 (success), regardless of any issues encountered, and non-recursive fetches only returned the status corresponding to the most recently-attempted download.

FILES

/etc/wgetrc

Default location of the global startup file.

.wgetrc

User startup file.

BUGS

You are welcome to submit bug reports via the GNU Wget bug tracker (see <http://wget.addictivecode.org/BugTracker>).

Before actually submitting a bug report, please try to follow a few simple guidelines.

1.

Please try to ascertain that the behavior you see really is a bug. If Wget crashes, it's a bug. If Wget does not behave as documented, it's a bug. If things work strange, but you are not sure about the way they are supposed to work, it might well be a bug, but you might want to double-check the documentation and the mailing lists.

2.

Try to repeat the bug in as simple circumstances as possible. E.g. if Wget crashes while downloading wget -rl0 -kKE -t5 --no-proxy http://yoyodyne.com -o /tmp/log, you should try to see if the crash is repeatable, and if will occur with a simpler set of options. You might even try to start the download at the page where the crash occurred to see if that page somehow triggered the crash.

Also, while I will probably be interested to know the contents of your .wgetrc file, just dumping it into the debug message is probably a bad idea. Instead, you should first try to see if the bug repeats with .wgetrc moved out of the way. Only if it turns out that .wgetrc settings affect the bug, mail me the relevant parts of the file.

3.

Please start Wget with -d option and send us the resulting output (or relevant parts thereof). If Wget was compiled without debug support, recompile it---it is much easier to trace bugs with debug support on.

Note: please make sure to remove any potentially sensitive information from the debug log before sending it to the bug address. The "-d" won't go out of its way to collect sensitive information, but the log will contain a fairly complete transcript of Wget's communication with the server, which may include passwords and pieces of downloaded data. Since the bug address is publically archived, you may assume that all bug reports are visible to the public.

4.

If Wget has crashed, try to run it in a debugger, e.g. "gdb `which wget` core" and type "where" to get the backtrace. This may not work if the system administrator has disabled core files, but it is safe to try.

SEE ALSO

This is not the complete manual for GNU Wget. For more complete information, including more detailed explanations of some of the options, and a number of commands available for use with .wgetrc files and the -e option, see the GNU Info entry for wget.

AUTHOR

Originally written by Hrvoje Nikšić <hniksic@xemacs.org>.

COPYRIGHT

Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2015 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled ``GNU Free Documentation License''.

NAME SYNOPSIS DESCRIPTION OPTIONS Option Syntax Basic Startup Options Logging and Input File Options Download Options Directory Options HTTP Options HTTPS (SSL/TLS) Options FTP Options FTPS Options Recursive Retrieval Options Recursive Accept/Reject Options ENVIRONMENT EXIT STATUS FILES BUGS SEE ALSO AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:33:51 GMT, September 14, 2024

EDSzip

TOC Index

NAME

EDSzip - compress (zip) files to file.<TODAY>.zip

SYNOPSIS

WA2LWinTools/bin/EDSzip [ -h | -i | -u | -V ]

EDSzip [ -n ] name...

AVAILABILITY

WA2L/WinTools

DESCRIPTION

create a *.zip file of a directory and the files therein by default without including some temporary files and files located in the directories _old and _alt. Also a confidentially comment is added to the *.zip file.

The confidentially comment is:

***

***

***  COMPRESSED DATA ARCHIVE

***

***  Company .. : <Company>

***  File ..... : <zipfile>

***  Created .. : <Timedat>

***  User ..... : <USERNAME>

***  Host ..... : <COMPUTERNAME>

***

***  This archive contains information which is  confidential and  may be

***  privileged. Unless you are the intended  addressee  or authorized to

***  receive for the addressee you may not use, forward, copy or disclose

***  to anyone this archive or any information contained in this archive.

***  If you have received this archive in error, please advise the sender

***  by reply email immediately and delete this archive.

***

***

The two lines

***  User ..... : <USERNAME>

***  Host ..... : <COMPUTERNAME>

can be disabled by setting PERSONALINFO=False in the configuration file etc/EDSzip.cfg.

OPTIONS

-h

usage message.

-i

install the EDSzip command as two menu points to the 'Send To' context menu in 'Windows Explorer' one respecting the excludes, one without respecting the excludes.

-u

uninstall the EDSzip shortcuts from the 'Send To' context menu in 'Windows Explorer'.

-V

print program version.

-n

noexclude; ignore the excludes set by default or specified in edszip.cfg. When using this option, therefore all files are packed into the generated *.zip file.

name...

list of files and/or directories to create and include it into the *.zip file. When installed in the 'Send To' menu the selected file(s)/directories in 'Windows Explorer' are passed as a list of to the EDSzip command.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage message displayed.

5

version message displayed.

FILES

etc/EDSzip.cfg

optional configuration file of EDSzip. See: edszip.cfg(4) for more information.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), edszip.cfg(4), config(1m), unzip(3), zip(3)

NOTES

-

BUGS

-

AUTHOR

EDSzip was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:04 GMT, September 14, 2024

EDSzip.cfg

TOC Index

NAME

EDSzip.cfg - configuration file for edszip

SYNOPSIS

WA2LWinTools/etc/EDSzip.cfg

AVAILABILITY

WA2L/WinTools

DESCRIPTION

This is the optional configuration file for the edszip command.

FILEFORMAT

Rows starting with a rem are considered as comments.

The file format is SET OPTION=VALUE

Between the OPTION , the = and the VALUE are no spaces.

You can comment out any OPTION or completely remove the related setting line to use the default settings.

OPTIONS

COMPANY

Company long description to add to the confidentially comment in the *.zip file

Example: SET COMPANY=ACME Corporation Limited

Default: SET COMPANY=-

PERSONALINFO

When set to False the lines:

***  User ..... : <USERNAME>

***  Host ..... : <COMPUTERNAME>

in the confidentially comment are not added.

Example: SET PERSONALINFO=False

Default: SET PERSONALINFO=True

EXCLUDES

A list of files and directories to be excluded from the *.zip file. Commonly this are temporary files, lock files etc.

Example: SET EXCLUDES="*/_old/*" "*/_old.zip" "*/Backup/*" "*/_alt/*" "*/_alt.zip" "*/* - Copy*" "*/.*.swp" "*/*.tmp" "*/*~"

Default: SET EXCLUDES="*/_old/*" "*/_old.zip" "*/_alt/*" "*/_alt.zip" "*/* - Copy*" "*/.*.swp" "*/*.tmp" "*/*~"

SUFFIX

Suffix of the *.zip file.

Example: SET SUFFIX=%Now%.ACME.zip

Default: SET SUFFIX=%Now%.zip

EXAMPLES

1) Set options dynamically

If you want to set some options dynamically based on some environment settings it can be done in the edszip.cfg file for example as follows:

if %USERDOMAIN%==ACMECORP (

SET COMPANY=ACME Corporation Limited

SET SUFFIX=%Now%.ACME-CO.zip

)

if %USERDOMAIN%==ACMEHW (

SET COMPANY=ACME Corporation Hardware Branch

SET SUFFIX=%Now%.ACME-HW.zip

)

In this example the COMPANY and SUFFIX settings are defined based on the domain (%USERDOMAIN%) the command is executed in.

SEE ALSO

wintoolsintro(1), edszip(1)

NOTES

-

BUGS

-

AUTHOR

edszip.cfg was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION FILEFORMAT OPTIONS EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:04 GMT, September 14, 2024

unzip

TOC Index

NAME

unzip - list, test and extract compressed files in a ZIP archive

SYNOPSIS

unzip [-Z] [-cflptTuvz[abjnoqsCDKLMUVWX$/:^]] file[.zip] [file(s) ...] [-x xfile(s) ...] [-d exdir]

DESCRIPTION

unzip will list, test, or extract files from a ZIP archive, commonly found on MS-DOS systems. The default behavior (with no options) is to extract into the current directory (and subdirectories below it) all files from the specified ZIP archive. A companion program, zip(1), creates ZIP archives; both programs are compatible with archives created by PKWARE's PKZIP and PKUNZIP for MS-DOS, but in many cases the program options or default behaviors differ.

ARGUMENTS

file[.zip]

Path of the ZIP archive(s). If the file specification is a wildcard, each matching file is processed in an order determined by the operating system (or file system). Only the filename can be a wildcard; the path itself cannot. Wildcard expressions are similar to those supported in commonly used Unix shells (sh, ksh, csh) and may contain:

*

matches a sequence of 0 or more characters

?

matches exactly 1 character

[...]

matches any single character found inside the brackets; ranges are specified by a beginning character, a hyphen, and an ending character. If an exclamation point or a caret (`!' or `^') follows the left bracket, then the range of characters within the brackets is complemented (that is, anything except the characters inside the brackets is considered a match). To specify a verbatim left bracket, the three-character sequence ``[[]'' has to be used.

(Be sure to quote any character that might otherwise be interpreted or modified by the operating system, particularly under Unix and VMS.) If no matches are found, the specification is assumed to be a literal filename; and if that also fails, the suffix .zip is appended. Note that self-extracting ZIP files are supported, as with any other ZIP archive; just specify the .exe suffix (if any) explicitly.

[file(s)]

An optional list of archive members to be processed, separated by spaces. (VMS versions compiled with VMSCLI defined must delimit files with commas instead. See -v in OPTIONS below.) Regular expressions (wildcards) may be used to match multiple members; see above. Again, be sure to quote expressions that would otherwise be expanded or modified by the operating system.

[-x xfile(s)]

An optional list of archive members to be excluded from processing. Since wildcard characters normally match (`/') directory separators (for exceptions see the option -W), this option may be used to exclude any files that are in subdirectories. For example, ``unzip foo *.[ch] -x */*'' would extract all C source files in the main directory, but none in any subdirectories. Without the -x option, all C source files in all directories within the zipfile would be extracted.

[-d exdir]

An optional directory to which to extract files. By default, all files and subdirectories are recreated in the current directory; the -d option allows extraction in an arbitrary directory (always assuming one has permission to write to the directory). This option need not appear at the end of the command line; it is also accepted before the zipfile specification (with the normal options), immediately after the zipfile specification, or between the file(s) and the -x option. The option and directory may be concatenated without any white space between them, but note that this may cause normal shell behavior to be suppressed. In particular, ``-d ~'' (tilde) is expanded by Unix C shells into the name of the user's home directory, but ``-d~'' is treated as a literal subdirectory ``~'' of the current directory.

OPTIONS

Note that, in order to support obsolescent hardware, unzip's usage screen is limited to 22 or 23 lines and should therefore be considered only a reminder of the basic unzip syntax rather than an exhaustive list of all possible flags. The exhaustive list follows:

-Z

zipinfo(1) mode. If the first option on the command line is -Z, the remaining options are taken to be zipinfo(1) options. See the appropriate manual page for a description of these options.

-A

[OS/2, Unix DLL] print extended help for the DLL's programming interface (API).

-c

extract files to stdout/screen (``CRT''). This option is similar to the -p option except that the name of each file is printed as it is extracted, the -a option is allowed, and ASCII-EBCDIC conversion is automatically performed if appropriate. This option is not listed in the unzip usage screen.

-f

freshen existing files, i.e., extract only those files that already exist on disk and that are newer than the disk copies. By default unzip queries before overwriting, but the -o option may be used to suppress the queries. Note that under many operating systems, the TZ (timezone) environment variable must be set correctly in order for -f and -u to work properly (under Unix the variable is usually set automatically). The reasons for this are somewhat subtle but have to do with the differences between DOS-format file times (always local time) and Unix-format times (always in GMT/UTC) and the necessity to compare the two. A typical TZ value is ``PST8PDT'' (US Pacific time with automatic adjustment for Daylight Savings Time or ``summer time'').

-l

list archive files (short format). The names, uncompressed file sizes and modification dates and times of the specified files are printed, along with totals for all files specified. If UnZip was compiled with OS2_EAS defined, the -l option also lists columns for the sizes of stored OS/2 extended attributes (EAs) and OS/2 access control lists (ACLs). In addition, the zipfile comment and individual file comments (if any) are displayed. If a file was archived from a single-case file system (for example, the old MS-DOS FAT file system) and the -L option was given, the filename is converted to lowercase and is prefixed with a caret (^).

-p

extract files to pipe (stdout). Nothing but the file data is sent to stdout, and the files are always extracted in binary format, just as they are stored (no conversions).

-t

test archive files. This option extracts each specified file in memory and compares the CRC (cyclic redundancy check, an enhanced checksum) of the expanded file with the original file's stored CRC value.

-T

[most OSes] set the timestamp on the archive(s) to that of the newest file in each one. This corresponds to zip's -go option except that it can be used on wildcard zipfiles (e.g., ``unzip -T \*.zip'') and is much faster.

-u

update existing files and create new ones if needed. This option performs the same function as the -f option, extracting (with query) files that are newer than those with the same name on disk, and in addition it extracts those files that do not already exist on disk. See -f above for information on setting the timezone properly.

-v

list archive files (verbose format) or show diagnostic version info. This option has evolved and now behaves as both an option and a modifier. As an option it has two purposes: when a zipfile is specified with no other options, -v lists archive files verbosely, adding to the basic -l info the compression method, compressed size, compression ratio and 32-bit CRC. In contrast to most of the competing utilities, unzip removes the 12 additional header bytes of encrypted entries from the compressed size numbers. Therefore, compressed size and compression ratio figures are independent of the entry's encryption status and show the correct compression performance. (The complete size of the encrypted compressed data stream for zipfile entries is reported by the more verbose zipinfo(1) reports, see the separate manual.) When no zipfile is specified (that is, the complete command is simply ``unzip -v''), a diagnostic screen is printed. In addition to the normal header with release date and version, unzip lists the home Info-ZIP ftp site and where to find a list of other ftp and non-ftp sites; the target operating system for which it was compiled, as well as (possibly) the hardware on which it was compiled, the compiler and version used, and the compilation date; any special compilation options that might affect the program's operation (see also DECRYPTION below); and any options stored in environment variables that might do the same (see ENVIRONMENT OPTIONS below). As a modifier it works in conjunction with other options (e.g., -t) to produce more verbose or debugging output; this is not yet fully implemented but will be in future releases.

-z

display only the archive comment.

MODIFIERS

-a

convert text files. Ordinarily all files are extracted exactly as they are stored (as ``binary'' files). The -a option causes files identified by zip as text files (those with the `t' label in zipinfo listings, rather than `b') to be automatically extracted as such, converting line endings, end-of-file characters and the character set itself as necessary. (For example, Unix files use line feeds (LFs) for end-of-line (EOL) and have no end-of-file (EOF) marker; Macintoshes use carriage returns (CRs) for EOLs; and most PC operating systems use CR+LF for EOLs and control-Z for EOF. In addition, IBM mainframes and the Michigan Terminal System use EBCDIC rather than the more common ASCII character set, and NT supports Unicode.) Note that zip's identification of text files is by no means perfect; some ``text'' files may actually be binary and vice versa. unzip therefore prints ``[text]'' or ``[binary]'' as a visual check for each file it extracts when using the -a option. The -aa option forces all files to be extracted as text, regardless of the supposed file type. On VMS, see also -S.

-b

[general] treat all files as binary (no text conversions). This is a shortcut for ---a.

-b

[Tandem] force the creation files with filecode type 180 ('C') when extracting Zip entries marked as "text". (On Tandem, -a is enabled by default, see above).

-b

[VMS] auto-convert binary files (see -a above) to fixed-length, 512-byte record format. Doubling the option (-bb) forces all files to be extracted in this format. When extracting to standard output (-c or -p option in effect), the default conversion of text record delimiters is disabled for binary (-b) resp. all (-bb) files.

-B

[when compiled with UNIXBACKUP defined] save a backup copy of each overwritten file. The backup file is gets the name of the target file with a tilde and optionally a unique sequence number (up to 5 digits) appended. The sequence number is applied whenever another file with the original name plus tilde already exists. When used together with the "overwrite all" option -o, numbered backup files are never created. In this case, all backup files are named as the original file with an appended tilde, existing backup files are deleted without notice. This feature works similarly to the default behavior of emacs(1) in many locations.

Example: the old copy of ``foo'' is renamed to ``foo~''.

Warning: Users should be aware that the -B option does not prevent loss of existing data under all circumstances. For example, when unzip is run in overwrite-all mode, an existing ``foo~'' file is deleted before unzip attempts to rename ``foo'' to ``foo~''. When this rename attempt fails (because of a file locks, insufficient privileges, or ...), the extraction of ``foo~'' gets cancelled, but the old backup file is already lost. A similar scenario takes place when the sequence number range for numbered backup files gets exhausted (99999, or 65535 for 16-bit systems). In this case, the backup file with the maximum sequence number is deleted and replaced by the new backup version without notice.

-C

use case-insensitive matching for the selection of archive entries from the command-line list of extract selection patterns. unzip's philosophy is ``you get what you ask for'' (this is also responsible for the -L/-U change; see the relevant options below). Because some file systems are fully case-sensitive (notably those under the Unix operating system) and because both ZIP archives and unzip itself are portable across platforms, unzip's default behavior is to match both wildcard and literal filenames case-sensitively. That is, specifying ``makefile'' on the command line will only match ``makefile'' in the archive, not ``Makefile'' or ``MAKEFILE'' (and similarly for wildcard specifications). Since this does not correspond to the behavior of many other operating/file systems (for example, OS/2 HPFS, which preserves mixed case but is not sensitive to it), the -C option may be used to force all filename matches to be case-insensitive. In the example above, all three files would then match ``makefile'' (or ``make*'', or similar). The -C option affects file specs in both the normal file list and the excluded-file list (xlist).

Please note that the -C option does neither affect the search for the zipfile(s) nor the matching of archive entries to existing files on the extraction path. On a case-sensitive file system, unzip will never try to overwrite a file ``FOO'' when extracting an entry ``foo''!

-D

skip restoration of timestamps for extracted items. Normally, unzip tries to restore all meta-information for extracted items that are supplied in the Zip archive (and do not require privileges or impose a security risk). By specifying -D, unzip is told to suppress restoration of timestamps for directories explicitly created from Zip archive entries. This option only applies to ports that support setting timestamps for directories (currently ATheOS, BeOS, MacOS, OS/2, Unix, VMS, Win32, for other unzip ports, -D has no effect). The duplicated option -DD forces suppression of timestamp restoration for all extracted entries (files and directories). This option results in setting the timestamps for all extracted entries to the current time.

On VMS, the default setting for this option is -D for consistency with the behaviour of BACKUP: file timestamps are restored, timestamps of extracted directories are left at the current time. To enable restoration of directory timestamps, the negated option --D should be specified. On VMS, the option -D disables timestamp restoration for all extracted Zip archive items. (Here, a single -D on the command line combines with the default -D to do what an explicit -DD does on other systems.)

-E

[MacOS only] display contents of MacOS extra field during restore operation.

-F

[Acorn only] suppress removal of NFS filetype extension from stored filenames.

-F

[non-Acorn systems supporting long filenames with embedded commas, and only if compiled with ACORN_FTYPE_NFS defined] translate filetype information from ACORN RISC OS extra field blocks into a NFS filetype extension and append it to the names of the extracted files. (When the stored filename appears to already have an appended NFS filetype extension, it is replaced by the info from the extra field.)

-i

[MacOS only] ignore filenames stored in MacOS extra fields. Instead, the most compatible filename stored in the generic part of the entry's header is used.

-j

junk paths. The archive's directory structure is not recreated; all files are deposited in the extraction directory (by default, the current one).

-J

[BeOS only] junk file attributes. The file's BeOS file attributes are not restored, just the file's data.

-J

[MacOS only] ignore MacOS extra fields. All Macintosh specific info is skipped. Data-fork and resource-fork are restored as separate files.

-K

[AtheOS, BeOS, Unix only] retain SUID/SGID/Tacky file attributes. Without this flag, these attribute bits are cleared for security reasons.

-L

convert to lowercase any filename originating on an uppercase-only operating system or file system. (This was unzip's default behavior in releases prior to 5.11; the new default behavior is identical to the old behavior with the -U option, which is now obsolete and will be removed in a future release.) Depending on the archiver, files archived under single-case file systems (VMS, old MS-DOS FAT, etc.) may be stored as all-uppercase names; this can be ugly or inconvenient when extracting to a case-preserving file system such as OS/2 HPFS or a case-sensitive one such as under Unix. By default unzip lists and extracts such filenames exactly as they're stored (excepting truncation, conversion of unsupported characters, etc.); this option causes the names of all files from certain systems to be converted to lowercase. The -LL option forces conversion of every filename to lowercase, regardless of the originating file system.

-M

pipe all output through an internal pager similar to the Unix more(1) command. At the end of a screenful of output, unzip pauses with a ``--More--'' prompt; the next screenful may be viewed by pressing the Enter (Return) key or the space bar. unzip can be terminated by pressing the ``q'' key and, on some systems, the Enter/Return key. Unlike Unix more(1), there is no forward-searching or editing capability. Also, unzip doesn't notice if long lines wrap at the edge of the screen, effectively resulting in the printing of two or more lines and the likelihood that some text will scroll off the top of the screen before being viewed. On some systems the number of available lines on the screen is not detected, in which case unzip assumes the height is 24 lines.

-n

never overwrite existing files. If a file already exists, skip the extraction of that file without prompting. By default unzip queries before extracting any file that already exists; the user may choose to overwrite only the current file, overwrite all files, skip extraction of the current file, skip extraction of all existing files, or rename the current file.

-N

[Amiga] extract file comments as Amiga filenotes. File comments are created with the -c option of zip(1), or with the -N option of the Amiga port of zip(1), which stores filenotes as comments.

-o

overwrite existing files without prompting. This is a dangerous option, so use it with care. (It is often used with -f, however, and is the only way to overwrite directory EAs under OS/2.)

-P password

use password to decrypt encrypted zipfile entries (if any). THIS IS INSECURE! Many multi-user operating systems provide ways for any user to see the current command line of any other user; even on stand-alone systems there is always the threat of over-the-shoulder peeking. Storing the plaintext password as part of a command line in an automated script is even worse. Whenever possible, use the non-echoing, interactive prompt to enter passwords. (And where security is truly important, use strong encryption such as Pretty Good Privacy instead of the relatively weak encryption provided by standard zipfile utilities.)

-q

perform operations quietly (-qq = even quieter). Ordinarily unzip prints the names of the files it's extracting or testing, the extraction methods, any file or zipfile comments that may be stored in the archive, and possibly a summary when finished with each archive. The -q[q] options suppress the printing of some or all of these messages.

-s

[OS/2, NT, MS-DOS] convert spaces in filenames to underscores. Since all PC operating systems allow spaces in filenames, unzip by default extracts filenames with spaces intact (e.g., ``EA DATA. SF''). This can be awkward, however, since MS-DOS in particular does not gracefully support spaces in filenames. Conversion of spaces to underscores can eliminate the awkwardness in some cases.

-S

[VMS] convert text files (-a, -aa) into Stream_LF record format, instead of the text-file default, variable-length record format. (Stream_LF is the default record format of VMS unzip. It is applied unless conversion (-a, -aa and/or -b, -bb) is requested or a VMS-specific entry is processed.)

-U

[UNICODE_SUPPORT only] modify or disable UTF-8 handling. When UNICODE_SUPPORT is available, the option -U forces unzip to escape all non-ASCII characters from UTF-8 coded filenames as ``#Uxxxx'' (for UCS-2 characters, or ``#Lxxxxxx'' for unicode codepoints needing 3 octets). This option is mainly provided for debugging purpose when the fairly new UTF-8 support is suspected to mangle up extracted filenames.

The option -UU allows to entirely disable the recognition of UTF-8 encoded filenames. The handling of filename codings within unzip falls back to the behaviour of previous versions.

[old, obsolete usage] leave filenames uppercase if created under MS-DOS, VMS, etc. See -L above.

-V

retain (VMS) file version numbers. VMS files can be stored with a version number, in the format file.ext;##. By default the ``;##'' version numbers are stripped, but this option allows them to be retained. (On file systems that limit filenames to particularly short lengths, the version numbers may be truncated or stripped regardless of this option.)

-W

[only when WILD_STOP_AT_DIR compile-time option enabled] modifies the pattern matching routine so that both `?' (single-char wildcard) and `*' (multi-char wildcard) do not match the directory separator character `/'. (The two-character sequence ``**'' acts as a multi-char wildcard that includes the directory separator in its matched characters.) Examples:

"*.c" matches "foo.c" but not "mydir/foo.c"

"**.c" matches both "foo.c" and "mydir/foo.c"

"*/*.c" matches "bar/foo.c" but not "baz/bar/foo.c"

"??*/*" matches "ab/foo" and "abc/foo"

but not "a/foo" or "a/b/foo"

This modified behaviour is equivalent to the pattern matching style used by the shells of some of UnZip's supported target OSs (one example is Acorn RISC OS). This option may not be available on systems where the Zip archive's internal directory separator character `/' is allowed as regular character in native operating system filenames. (Currently, UnZip uses the same pattern matching rules for both wildcard zipfile specifications and zip entry selection patterns in most ports. For systems allowing `/' as regular filename character, the -W option would not work as expected on a wildcard zipfile specification.)

-X

[VMS, Unix, OS/2, NT, Tandem] restore owner/protection info (UICs and ACL entries) under VMS, or user and group info (UID/GID) under Unix, or access control lists (ACLs) under certain network-enabled versions of OS/2 (Warp Server with IBM LAN Server/Requester 3.0 to 5.0; Warp Connect with IBM Peer 1.0), or security ACLs under Windows NT. In most cases this will require special system privileges, and doubling the option (-XX) under NT instructs unzip to use privileges for extraction; but under Unix, for example, a user who belongs to several groups can restore files owned by any of those groups, as long as the user IDs match his or her own. Note that ordinary file attributes are always restored--this option applies only to optional, extra ownership info available on some operating systems. [NT's access control lists do not appear to be especially compatible with OS/2's, so no attempt is made at cross-platform portability of access privileges. It is not clear under what conditions this would ever be useful anyway.]

-Y

[VMS] treat archived file name endings of ``.nnn'' (where ``nnn'' is a decimal number) as if they were VMS version numbers (``;nnn''). (The default is to treat them as file types.) Example:

"a.b.3" -> "a.b;3".

-$

[MS-DOS, OS/2, NT] restore the volume label if the extraction medium is removable (e.g., a diskette). Doubling the option (-$$) allows fixed media (hard disks) to be labelled as well. By default, volume labels are ignored.

-/ extensions

[Acorn only] overrides the extension list supplied by Unzip$Ext environment variable. During extraction, filename extensions that match one of the items in this extension list are swapped in front of the base name of the extracted file.

-:

[all but Acorn, VM/CMS, MVS, Tandem] allows to extract archive members into locations outside of the current `` extraction root folder''. For security reasons, unzip normally removes ``parent dir'' path components (``../'') from the names of extracted file. This safety feature (new for version 5.50) prevents unzip from accidentally writing files to ``sensitive'' areas outside the active extraction folder tree head. The -: option lets unzip switch back to its previous, more liberal behaviour, to allow exact extraction of (older) archives that used ``../'' components to create multiple directory trees at the level of the current extraction folder. This option does not enable writing explicitly to the root directory (``/''). To achieve this, it is necessary to set the extraction target folder to root (e.g. -d / ). However, when the -: option is specified, it is still possible to implicitly write to the root directory by specifying enough ``../'' path components within the zip archive. Use this option with extreme caution.

-^

[Unix only] allow control characters in names of extracted ZIP archive entries. On Unix, a file name may contain any (8-bit) character code with the two exception '/' (directory delimiter) and NUL (0x00, the C string termination indicator), unless the specific file system has more restrictive conventions. Generally, this allows to embed ASCII control characters (or even sophisticated control sequences) in file names, at least on 'native' Unix file systems. However, it may be highly suspicious to make use of this Unix "feature". Embedded control characters in file names might have nasty side effects when displayed on screen by some listing code without sufficient filtering. And, for ordinary users, it may be difficult to handle such file names (e.g. when trying to specify it for open, copy, move, or delete operations). Therefore, unzip applies a filter by default that removes potentially dangerous control characters from the extracted file names. The -^ option allows to override this filter in the rare case that embedded filename control characters are to be intentionally restored.

-2

[VMS] force unconditionally conversion of file names to ODS2-compatible names. The default is to exploit the destination file system, preserving case and extended file name characters on an ODS5 destination file system; and applying the ODS2-compatibility file name filtering on an ODS2 destination file system.

ENVIRONMENT OPTIONS

unzip's default behavior may be modified via options placed in an environment variable. This can be done with any option, but it is probably most useful with the -a, -L, -C, -q, -o, or -n modifiers: make unzip auto-convert text files by default, make it convert filenames from uppercase systems to lowercase, make it match names case-insensitively, make it quieter, or make it always overwrite or never overwrite files as it extracts them. For example, to make unzip act as quietly as possible, only reporting errors, one would use one of the following commands:

Unix Bourne shell:

UNZIP=-qq; export UNZIP

Unix C shell:

setenv UNZIP -qq

OS/2 or MS-DOS:

set UNZIP=-qq

VMS (quotes for lowercase):

define UNZIP_OPTS "-qq"

Environment options are, in effect, considered to be just like any other command-line options, except that they are effectively the first options on the command line. To override an environment option, one may use the ``minus operator'' to remove it. For instance, to override one of the quiet-flags in the example above, use the command

unzip --q[other options] zipfile

The first hyphen is the normal switch character, and the second is a minus sign, acting on the q option. Thus the effect here is to cancel one quantum of quietness. To cancel both quiet flags, two (or more) minuses may be used:

unzip -t--q zipfile

unzip ---qt zipfile

(the two are equivalent). This may seem awkward or confusing, but it is reasonably intuitive: just ignore the first hyphen and go from there. It is also consistent with the behavior of Unix nice(1).

As suggested by the examples above, the default variable names are UNZIP_OPTS for VMS (where the symbol used to install unzip as a foreign command would otherwise be confused with the environment variable), and UNZIP for all other operating systems. For compatibility with zip(1), UNZIPOPT is also accepted (don't ask). If both UNZIP and UNZIPOPT are defined, however, UNZIP takes precedence. unzip's diagnostic option (-v with no zipfile name) can be used to check the values of all four possible unzip and zipinfo environment variables.

The timezone variable (TZ) should be set according to the local timezone in order for the -f and -u to operate correctly. See the description of -f above for details. This variable may also be necessary to get timestamps of extracted files to be set correctly. The WIN32 (Win9x/ME/NT4/2K/XP/2K3) port of unzip gets the timezone configuration from the registry, assuming it is correctly set in the Control Panel. The TZ variable is ignored for this port.

DECRYPTION

Encrypted archives are fully supported by Info-ZIP software, but due to United States export restrictions, de-/encryption support might be disabled in your compiled binary. However, since spring 2000, US export restrictions have been liberated, and our source archives do now include full crypt code. In case you need binary distributions with crypt support enabled, see the file ``WHERE'' in any Info-ZIP source or binary distribution for locations both inside and outside the US.

Some compiled versions of unzip may not support decryption. To check a version for crypt support, either attempt to test or extract an encrypted archive, or else check unzip's diagnostic screen (see the -v option above) for ``[decryption]'' as one of the special compilation options.

As noted above, the -P option may be used to supply a password on the command line, but at a cost in security. The preferred decryption method is simply to extract normally; if a zipfile member is encrypted, unzip will prompt for the password without echoing what is typed. unzip continues to use the same password as long as it appears to be valid, by testing a 12-byte header on each file. The correct password will always check out against the header, but there is a 1-in-256 chance that an incorrect password will as well. (This is a security feature of the PKWARE zipfile format; it helps prevent brute-force attacks that might otherwise gain a large speed advantage by testing only the header.) In the case that an incorrect password is given but it passes the header test anyway, either an incorrect CRC will be generated for the extracted data or else unzip will fail during the extraction because the ``decrypted'' bytes do not constitute a valid compressed data stream.

If the first password fails the header check on some file, unzip will prompt for another password, and so on until all files are extracted. If a password is not known, entering a null password (that is, just a carriage return or ``Enter'') is taken as a signal to skip all further prompting. Only unencrypted files in the archive(s) will thereafter be extracted. (In fact, that's not quite true; older versions of zip(1) and zipcloak(1) allowed null passwords, so unzip checks each encrypted file to see if the null password works. This may result in ``false positives'' and extraction errors, as noted above.)

Archives encrypted with 8-bit passwords (for example, passwords with accented European characters) may not be portable across systems and/or other archivers. This problem stems from the use of multiple encoding methods for such characters, including Latin-1 (ISO 8859-1) and OEM code page 850. DOS PKZIP 2.04g uses the OEM code page; Windows PKZIP 2.50 uses Latin-1 (and is therefore incompatible with DOS PKZIP); Info-ZIP uses the OEM code page on DOS, OS/2 and Win3.x ports but ISO coding (Latin-1 etc.) everywhere else; and Nico Mak's WinZip 6.x does not allow 8-bit passwords at all. UnZip 5.3 (or newer) attempts to use the default character set first (e.g., Latin-1), followed by the alternate one (e.g., OEM code page) to test passwords. On EBCDIC systems, if both of these fail, EBCDIC encoding will be tested as a last resort. (EBCDIC is not tested on non-EBCDIC systems, because there are no known archivers that encrypt using EBCDIC encoding.) ISO character encodings other than Latin-1 are not supported. The new addition of (partially) Unicode (resp. UTF-8) support in UnZip 6.0 has not yet been adapted to the encryption password handling in unzip. On systems that use UTF-8 as native character encoding, unzip simply tries decryption with the native UTF-8 encoded password; the built-in attempts to check the password in translated encoding have not yet been adapted for UTF-8 support and will consequently fail.

EXAMPLES

To use unzip to extract all members of the archive letters.zip into the current directory and subdirectories below it, creating any subdirectories as necessary:

unzip letters

To extract all members of letters.zip into the current directory only:

unzip -j letters

To test letters.zip, printing only a summary message indicating whether the archive is OK or not:

unzip -tq letters

To test all zipfiles in the current directory, printing only the summaries:

unzip -tq \*.zip

(The backslash before the asterisk is only required if the shell expands wildcards, as in Unix; double quotes could have been used instead, as in the source examples below.)  To extract to standard output all members of letters.zip whose names end in .tex, auto-converting to the local end-of-line convention and piping the output into more(1):

unzip -ca letters \*.tex | more

To extract the binary file paper1.dvi to standard output and pipe it to a printing program:

unzip -p articles paper1.dvi | dvips

To extract all FORTRAN and C source files--*.f, *.c, *.h, and Makefile--into the /tmp directory:

unzip source.zip "*.[fch]" Makefile -d /tmp

(the double quotes are necessary only in Unix and only if globbing is turned on). To extract all FORTRAN and C source files, regardless of case (e.g., both *.c and *.C, and any makefile, Makefile, MAKEFILE or similar):

unzip -C source.zip "*.[fch]" makefile -d /tmp

To extract any such files but convert any uppercase MS-DOS or VMS names to lowercase and convert the line-endings of all of the files to the local standard (without respect to any files that might be marked ``binary''):

unzip -aaCL source.zip "*.[fch]" makefile -d /tmp

To extract only newer versions of the files already in the current directory, without querying (NOTE: be careful of unzipping in one timezone a zipfile created in another--ZIP archives other than those created by Zip 2.1 or later contain no timezone information, and a ``newer'' file from an eastern timezone may, in fact, be older):

unzip -fo sources

To extract newer versions of the files already in the current directory and to create any files not already there (same caveat as previous example):

unzip -uo sources

To display a diagnostic screen showing which unzip and zipinfo options are stored in environment variables, whether decryption support was compiled in, the compiler with which unzip was compiled, etc.:

unzip -v

In the last five examples, assume that UNZIP or UNZIP_OPTS is set to -q. To do a singly quiet listing:

unzip -l file.zip

To do a doubly quiet listing:

unzip -ql file.zip

(Note that the ``.zip'' is generally not necessary.) To do a standard listing:

unzip --ql file.zip

or

unzip -l-q file.zip

or

unzip -l--q file.zip

(Extra minuses in options don't hurt.)

TIPS

The current maintainer, being a lazy sort, finds it very useful to define a pair of aliases: tt for ``unzip -tq'' and ii for ``unzip -Z'' (or ``zipinfo''). One may then simply type ``tt zipfile'' to test an archive, something that is worth making a habit of doing. With luck unzip will report ``No errors detected in compressed data of zipfile.zip,'' after which one may breathe a sigh of relief.

The maintainer also finds it useful to set the UNZIP environment variable to ``-aL'' and is tempted to add ``-C'' as well. His ZIPINFO variable is set to ``-z''.

DIAGNOSTICS

The exit status (or error level) approximates the exit codes defined by PKWARE and takes on the following values, except under VMS:

0

normal; no errors or warnings detected.

1

one or more warning errors were encountered, but processing completed successfully anyway. This includes zipfiles where one or more files was skipped due to unsupported compression method or encryption with an unknown password.

2

a generic error in the zipfile format was detected. Processing may have completed successfully anyway; some broken zipfiles created by other archivers have simple work-arounds.

3

a severe error in the zipfile format was detected. Processing probably failed immediately.

4

unzip was unable to allocate memory for one or more buffers during program initialization.

5

unzip was unable to allocate memory or unable to obtain a tty to read the decryption password(s).

6

unzip was unable to allocate memory during decompression to disk.

7

unzip was unable to allocate memory during in-memory decompression.

8

[currently not used]

9

the specified zipfiles were not found.

10

invalid options were specified on the command line.

11

no matching files were found.

50

the disk is (or was) full during extraction.

51

the end of the ZIP archive was encountered prematurely.

80

the user aborted unzip prematurely with control-C (or similar)

81

testing or extraction of one or more files failed due to unsupported compression methods or unsupported decryption.

82

no files were found due to bad decryption password(s). (If even one file is successfully processed, however, the exit status is 1.)

VMS interprets standard Unix (or PC) return values as other, scarier-looking things, so unzip instead maps them into VMS-style status codes. The current mapping is as follows: 1 (success) for normal exit, 0x7fff0001 for warning errors, and (0x7fff000? + 16*normal_unzip_exit_status) for all other errors, where the `?' is 2 (error) for unzip values 2, 9-11 and 80-82, and 4 (fatal error) for the remaining ones (3-8, 50, 51). In addition, there is a compilation option to expand upon this behavior: defining RETURN_CODES results in a human-readable explanation of what the error status means.

BUGS

Multi-part archives are not yet supported, except in conjunction with zip. (All parts must be concatenated together in order, and then ``zip -F'' (for zip 2.x) or ``zip -FF'' (for zip 3.x) must be performed on the concatenated archive in order to ``fix'' it. Also, zip 3.0 and later can combine multi-part (split) archives into a combined single-file archive using ``zip -s- inarchive -O outarchive''. See the zip 3 manual page for more information.) This will definitely be corrected in the next major release.

Archives read from standard input are not yet supported, except with funzip (and then only the first member of the archive can be extracted).

Archives encrypted with 8-bit passwords (e.g., passwords with accented European characters) may not be portable across systems and/or other archivers. See the discussion in DECRYPTION above.

unzip's -M (``more'') option tries to take into account automatic wrapping of long lines. However, the code may fail to detect the correct wrapping locations. First, TAB characters (and similar control sequences) are not taken into account, they are handled as ordinary printable characters. Second, depending on the actual system / OS port, unzip may not detect the true screen geometry but rather rely on "commonly used" default dimensions. The correct handling of tabs would require the implementation of a query for the actual tabulator setup on the output console.

Dates, times and permissions of stored directories are not restored except under Unix. (On Windows NT and successors, timestamps are now restored.)

[MS-DOS] When extracting or testing files from an archive on a defective floppy diskette, if the ``Fail'' option is chosen from DOS's ``Abort, Retry, Fail?'' message, older versions of unzip may hang the system, requiring a reboot. This problem appears to be fixed, but control-C (or control-Break) can still be used to terminate unzip.

Under DEC Ultrix, unzip would sometimes fail on long zipfiles (bad CRC, not always reproducible). This was apparently due either to a hardware bug (cache memory) or an operating system bug (improper handling of page faults?). Since Ultrix has been abandoned in favor of Digital Unix (OSF/1), this may not be an issue anymore.

[Unix] Unix special files such as FIFO buffers (named pipes), block devices and character devices are not restored even if they are somehow represented in the zipfile, nor are hard-linked files relinked. Basically the only file types restored by unzip are regular files, directories and symbolic (soft) links.

[OS/2] Extended attributes for existing directories are only updated if the -o (``overwrite all'') option is given. This is a limitation of the operating system; because directories only have a creation time associated with them, unzip has no way to determine whether the stored attributes are newer or older than those on disk. In practice this may mean a two-pass approach is required: first unpack the archive normally (with or without freshening/updating existing files), then overwrite just the directory entries (e.g., ``unzip -o foo */'').

[VMS] When extracting to another directory, only the [.foo] syntax is accepted for the -d option; the simple Unix foo syntax is silently ignored (as is the less common VMS foo.dir syntax).

[VMS] When the file being extracted already exists, unzip's query only allows skipping, overwriting or renaming; there should additionally be a choice for creating a new version of the file. In fact, the ``overwrite'' choice does create a new version; the old version is not overwritten or deleted.

SEE ALSO

funzip(1), zip(1), zipcloak(1), zipgrep(1), zipinfo(1), zipnote(1), zipsplit(1)

URL

The Info-ZIP home page is currently at

http://www.info-zip.org/pub/infozip/

or

ftp://ftp.info-zip.org/pub/infozip/ .

AUTHORS

The primary Info-ZIP authors (current semi-active members of the Zip-Bugs workgroup) are: Ed Gordon (Zip, general maintenance, shared code, Zip64, Win32, Unix, Unicode); Christian Spieler (UnZip maintenance coordination, VMS, MS-DOS, Win32, shared code, general Zip and UnZip integration and optimization); Onno van der Linden (Zip); Mike White (Win32, Windows GUI, Windows DLLs); Kai Uwe Rommel (OS/2, Win32); Steven M. Schweda (VMS, Unix, support of new features); Paul Kienitz (Amiga, Win32, Unicode); Chris Herborth (BeOS, QNX, Atari); Jonathan Hudson (SMS/QDOS); Sergio Monesi (Acorn RISC OS); Harald Denker (Atari, MVS); John Bush (Solaris, Amiga); Hunter Goatley (VMS, Info-ZIP Site maintenance); Steve Salisbury (Win32); Steve Miller (Windows CE GUI), Johnny Lee (MS-DOS, Win32, Zip64); and Dave Smith (Tandem NSK).

The following people were former members of the Info-ZIP development group and provided major contributions to key parts of the current code: Greg ``Cave Newt'' Roelofs (UnZip, unshrink decompression); Jean-loup Gailly (deflate compression); Mark Adler (inflate decompression, fUnZip).

The author of the original unzip code upon which Info-ZIP's was based is Samuel H. Smith; Carl Mascott did the first Unix port; and David P. Kirschbaum organized and led Info-ZIP in its early days with Keith Petersen hosting the original mailing list at WSMR-SimTel20. The full list of contributors to UnZip has grown quite large; please refer to the CONTRIBS file in the UnZip source distribution for a relatively complete version.

VERSIONS

v1.2 15 Mar 89

Samuel H. Smith

v2.0  9 Sep 89

Samuel H. Smith

v2.x fall 1989

many Usenet contributors

v3.0  1 May 90

Info-ZIP (DPK, consolidator)

v3.1 15 Aug 90

Info-ZIP (DPK, consolidator)

v4.0  1 Dec 90

Info-ZIP (GRR, maintainer)

v4.1 12 May 91

Info-ZIP

v4.2 20 Mar 92

Info-ZIP (Zip-Bugs subgroup, GRR)

v5.0 21 Aug 92

Info-ZIP (Zip-Bugs subgroup, GRR)

v5.01 15 Jan 93

Info-ZIP (Zip-Bugs subgroup, GRR)

v5.1  7 Feb 94

Info-ZIP (Zip-Bugs subgroup, GRR)

v5.11  2 Aug 94

Info-ZIP (Zip-Bugs subgroup, GRR)

v5.12 28 Aug 94

Info-ZIP (Zip-Bugs subgroup, GRR)

v5.2 30 Apr 96

Info-ZIP (Zip-Bugs subgroup, GRR)

v5.3 22 Apr 97

Info-ZIP (Zip-Bugs subgroup, GRR)

v5.31 31 May 97

Info-ZIP (Zip-Bugs subgroup, GRR)

v5.32  3 Nov 97

Info-ZIP (Zip-Bugs subgroup, GRR)

v5.4 28 Nov 98

Info-ZIP (Zip-Bugs subgroup, SPC)

v5.41 16 Apr 00

Info-ZIP (Zip-Bugs subgroup, SPC)

v5.42 14 Jan 01

Info-ZIP (Zip-Bugs subgroup, SPC)

v5.5 17 Feb 02

Info-ZIP (Zip-Bugs subgroup, SPC)

v5.51 22 May 04

Info-ZIP (Zip-Bugs subgroup, SPC)

v5.52 28 Feb 05

Info-ZIP (Zip-Bugs subgroup, SPC)

v6.0 20 Apr 09

Info-ZIP (Zip-Bugs subgroup, SPC)

NAME SYNOPSIS DESCRIPTION ARGUMENTS OPTIONS MODIFIERS ENVIRONMENT OPTIONS DECRYPTION EXAMPLES TIPS DIAGNOSTICS BUGS SEE ALSO URL AUTHORS VERSIONS

This document was created by man2html using the manual pages.

Time: 16:33:49 GMT, September 14, 2024

zip

TOC Index

NAME

zip - package and compress (archive) files

SYNOPSIS

zip [-aABcdDeEfFghjklLmoqrRSTuvVwXyz!@$] [--longoption ...] [-b path] [-n suffixes] [-t date] [-tt date] [zipfile [file ...]] [-xi list]

zipcloak (see separate man page)

zipnote (see separate man page)

zipsplit (see separate man page)

Note: Command line processing in zip has been changed to support long options and handle all options and arguments more consistently. Some old command lines that depend on command line inconsistencies may no longer work.

DESCRIPTION

zip is a compression and file packaging utility for Unix, VMS, MSDOS, OS/2, Windows 9x/NT/XP, Minix, Atari, Macintosh, Amiga, and Acorn RISC OS. It is analogous to a combination of the Unix commands tar(1) and compress(1) and is compatible with PKZIP (Phil Katz's ZIP for MSDOS systems).

A companion program (unzip(1)) unpacks zip archives. The zip and unzip(1) programs can work with archives produced by PKZIP (supporting most PKZIP features up to PKZIP version 4.6), and PKZIP and PKUNZIP can work with archives produced by zip (with some exceptions, notably streamed archives, but recent changes in the zip file standard may facilitate better compatibility). zip version 3.0 is compatible with PKZIP 2.04 and also supports the Zip64 extensions of PKZIP 4.5 which allow archives as well as files to exceed the previous 2 GB limit (4 GB in some cases). zip also now supports bzip2 compression if the bzip2 library is included when zip is compiled. Note that PKUNZIP 1.10 cannot extract files produced by PKZIP 2.04 or zip 3.0. You must use PKUNZIP 2.04g or unzip 5.0p1 (or later versions) to extract them.

See the EXAMPLES section at the bottom of this page for examples of some typical uses of zip.

Large Archives and Zip64. zip automatically uses the Zip64 extensions when files larger than 4 GB are added to an archive, an archive containing Zip64 entries is updated (if the resulting archive still needs Zip64), the size of the archive will exceed 4 GB, or when the number of entries in the archive will exceed about 64K. Zip64 is also used for archives streamed from standard input as the size of such archives are not known in advance, but the option -fz- can be used to force zip to create PKZIP 2 compatible archives (as long as Zip64 extensions are not needed). You must use a PKZIP 4.5 compatible unzip, such as unzip 6.0 or later, to extract files using the Zip64 extensions.

In addition, streamed archives, entries encrypted with standard encryption, or split archives created with the pause option may not be compatible with PKZIP as data descriptors are used and PKZIP at the time of this writing does not support data descriptors (but recent changes in the PKWare published zip standard now include some support for the data descriptor format zip uses).

Mac OS X. Though previous Mac versions had their own zip port, zip supports Mac OS X as part of the Unix port and most Unix features apply. References to "MacOS" below generally refer to MacOS versions older than OS X. Support for some Mac OS features in the Unix Mac OS X port, such as resource forks, is expected in the next zip release.

For a brief help on zip and unzip, run each without specifying any parameters on the command line.

USE

The program is useful for packaging a set of files for distribution; for archiving files; and for saving disk space by temporarily compressing unused files or directories.

The zip program puts one or more compressed files into a single zip archive, along with information about the files (name, path, date, time of last modification, protection, and check information to verify file integrity). An entire directory structure can be packed into a zip archive with a single command. Compression ratios of 2:1 to 3:1 are common for text files. zip has one compression method (deflation) and can also store files without compression. (If bzip2 support is added, zip can also compress using bzip2 compression, but such entries require a reasonably modern unzip to decompress. When bzip2 compression is selected, it replaces deflation as the default method.) zip automatically chooses the better of the two (deflation or store or, if bzip2 is selected, bzip2 or store) for each file to be compressed.

Command format. The basic command format is

zip options archive inpath inpath ...

where archive is a new or existing zip archive and inpath is a directory or file path optionally including wildcards. When given the name of an existing zip archive, zip will replace identically named entries in the zip archive (matching the relative names as stored in the archive) or add entries for new names. For example, if foo.zip exists and contains foo/file1 and foo/file2, and the directory foo contains the files foo/file1 and foo/file3, then:

zip -r foo.zip foo

or more concisely

zip -r foo foo

will replace foo/file1 in foo.zip and add foo/file3 to foo.zip. After this, foo.zip contains foo/file1, foo/file2, and foo/file3, with foo/file2 unchanged from before.

So if before the zip command is executed foo.zip has:

foo/file1 foo/file2

and directory foo has:

file1 file3

then foo.zip will have:

foo/file1 foo/file2 foo/file3

where foo/file1 is replaced and foo/file3 is new.

-@ file lists. If a file list is specified as -@ [Not on MacOS], zip takes the list of input files from standard input instead of from the command line. For example,

zip -@ foo

will store the files listed one per line on stdin in foo.zip.

Under Unix, this option can be used to powerful effect in conjunction with the find (1) command. For example, to archive all the C source files in the current directory and its subdirectories:

find . -name "*.[ch]" -print | zip source -@

(note that the pattern must be quoted to keep the shell from expanding it).

Streaming input and output. zip will also accept a single dash ("-") as the zip file name, in which case it will write the zip file to standard output, allowing the output to be piped to another program. For example:

zip -r - . | dd of=/dev/nrst0 obs=16k

would write the zip output directly to a tape with the specified block size for the purpose of backing up the current directory.

zip also accepts a single dash ("-") as the name of a file to be compressed, in which case it will read the file from standard input, allowing zip to take input from another program. For example:

tar cf - . | zip backup -

would compress the output of the tar command for the purpose of backing up the current directory. This generally produces better compression than the previous example using the -r option because zip can take advantage of redundancy between files. The backup can be restored using the command

unzip -p backup | tar xf -

When no zip file name is given and stdout is not a terminal, zip acts as a filter, compressing standard input to standard output. For example,

tar cf - . | zip | dd of=/dev/nrst0 obs=16k

is equivalent to

tar cf - . | zip - - | dd of=/dev/nrst0 obs=16k

zip archives created in this manner can be extracted with the program funzip which is provided in the unzip package, or by gunzip which is provided in the gzip package (but some gunzip may not support this if zip used the Zip64 extensions). For example:

dd if=/dev/nrst0 ibs=16k | funzip | tar xvf -

The stream can also be saved to a file and unzip used.

If Zip64 support for large files and archives is enabled and zip is used as a filter, zip creates a Zip64 archive that requires a PKZIP 4.5 or later compatible unzip to read it. This is to avoid amgibuities in the zip file structure as defined in the current zip standard (PKWARE AppNote) where the decision to use Zip64 needs to be made before data is written for the entry, but for a stream the size of the data is not known at that point. If the data is known to be smaller than 4 GB, the option -fz- can be used to prevent use of Zip64, but zip will exit with an error if Zip64 was in fact needed. zip 3 and unzip 6 and later can read archives with Zip64 entries. Also, zip removes the Zip64 extensions if not needed when archive entries are copied (see the -U (--copy) option).

When directing the output to another file, note that all options should be before the redirection including -x. For example:

zip archive "*.h" "*.c" -x donotinclude.h orthis.h > tofile

Zip files. When changing an existing zip archive, zip will write a temporary file with the new contents, and only replace the old one when the process of creating the new version has been completed without error.

If the name of the zip archive does not contain an extension, the extension .zip is added. If the name already contains an extension other than .zip, the existing extension is kept unchanged. However, split archives (archives split over multiple files) require the .zip extension on the last split.

Scanning and reading files. When zip starts, it scans for files to process (if needed). If this scan takes longer than about 5 seconds, zip will display a "Scanning files" message and start displaying progress dots every 2 seconds or every so many entries processed, whichever takes longer. If there is more than 2 seconds between dots it could indicate that finding each file is taking time and could mean a slow network connection for example. (Actually the initial file scan is a two-step process where the directory scan is followed by a sort and these two steps are separated with a space in the dots. If updating an existing archive, a space also appears between the existing file scan and the new file scan.) The scanning files dots are not controlled by the -ds dot size option, but the dots are turned off by the -q quiet option. The -sf show files option can be used to scan for files and get the list of files scanned without actually processing them.

If zip is not able to read a file, it issues a warning but continues. See the -MM option below for more on how zip handles patterns that are not matched and files that are not readable. If some files were skipped, a warning is issued at the end of the zip operation noting how many files were read and how many skipped.

Command modes. zip now supports two distinct types of command modes, external and internal. The external modes (add, update, and freshen) read files from the file system (as well as from an existing archive) while the internal modes (delete and copy) operate exclusively on entries in an existing archive.

add

Update existing entries and add new files. If the archive does not exist create it. This is the default mode.

update (-u)

Update existing entries if newer on the file system and add new files. If the archive does not exist issue warning then create a new archive.

freshen (-f)

Update existing entries of an archive if newer on the file system. Does not add new files to the archive.

delete (-d)

Select entries in an existing archive and delete them.

copy (-U)

Select entries in an existing archive and copy them to a new archive. This new mode is similar to update but command line patterns select entries in the existing archive rather than files from the file system and it uses the --out option to write the resulting archive to a new file rather than update the existing archive, leaving the original archive unchanged.

The new File Sync option (-FS) is also considered a new mode, though it is similar to update. This mode synchronizes the archive with the files on the OS, only replacing files in the archive if the file time or size of the OS file is different, adding new files, and deleting entries from the archive where there is no matching file. As this mode can delete entries from the archive, consider making a backup copy of the archive.

Also see -DF for creating difference archives.

See each option description below for details and the EXAMPLES section below for examples.

Split archives. zip version 3.0 and later can create split archives. A split archive is a standard zip archive split over multiple files. (Note that split archives are not just archives split in to pieces, as the offsets of entries are now based on the start of each split. Concatenating the pieces together will invalidate these offsets, but unzip can usually deal with it. zip will usually refuse to process such a spliced archive unless the -FF fix option is used to fix the offsets.)

One use of split archives is storing a large archive on multiple removable media. For a split archive with 20 split files the files are typically named (replace ARCHIVE with the name of your archive) ARCHIVE.z01, ARCHIVE.z02, ..., ARCHIVE.z19, ARCHIVE.zip. Note that the last file is the .zip file. In contrast, spanned archives are the original multi-disk archive generally requiring floppy disks and using volume labels to store disk numbers. zip supports split archives but not spanned archives, though a procedure exists for converting split archives of the right size to spanned archives. The reverse is also true, where each file of a spanned archive can be copied in order to files with the above names to create a split archive.

Use -s to set the split size and create a split archive. The size is given as a number followed optionally by one of k (kB), m (MB), g (GB), or t (TB) (the default is m). The -sp option can be used to pause zip between splits to allow changing removable media, for example, but read the descriptions and warnings for both -s and -sp below.

Though zip does not update split archives, zip provides the new option -O (--output-file or --out) to allow split archives to be updated and saved in a new archive. For example,

zip inarchive.zip foo.c bar.c --out outarchive.zip

reads archive inarchive.zip, even if split, adds the files foo.c and bar.c, and writes the resulting archive to outarchive.zip. If inarchive.zip is split then outarchive.zip defaults to the same split size. Be aware that if outarchive.zip and any split files that are created with it already exist, these are always overwritten as needed without warning. This may be changed in the future.

Unicode. Though the zip standard requires storing paths in an archive using a specific character set, in practice zips have stored paths in archives in whatever the local character set is. This creates problems when an archive is created or updated on a system using one character set and then extracted on another system using a different character set. When compiled with Unicode support enabled on platforms that support wide characters, zip now stores, in addition to the standard local path for backward compatibility, the UTF-8 translation of the path. This provides a common universal character set for storing paths that allows these paths to be fully extracted on other systems that support Unicode and to match as close as possible on systems that don't.

On Win32 systems where paths are internally stored as Unicode but represented in the local character set, it's possible that some paths will be skipped during a local character set directory scan. zip with Unicode support now can read and store these paths. Note that Win 9x systems and FAT file systems don't fully support Unicode.

Be aware that console windows on Win32 and Unix, for example, sometimes don't accurately show all characters due to how each operating system switches in character sets for display. However, directory navigation tools should show the correct paths if the needed fonts are loaded.

Command line format. This version of zip has updated command line processing and support for long options.

Short options take the form

-s[-][s[-]...][value][=value][ value]

where s is a one or two character short option. A short option that takes a value is last in an argument and anything after it is taken as the value. If the option can be negated and "-" immediately follows the option, the option is negated. Short options can also be given as separate arguments

-s[-][value][=value][ value] -s[-][value][=value][ value] ...

Short options in general take values either as part of the same argument or as the following argument. An optional = is also supported. So

-ttmmddyyyy

and

-tt=mmddyyyy

and

-tt mmddyyyy

all work. The -x and -i options accept lists of values and use a slightly different format described below. See the -x and -i options.

Long options take the form

--longoption[-][=value][ value]

where the option starts with --, has a multicharacter name, can include a trailing dash to negate the option (if the option supports it), and can have a value (option argument) specified by preceding it with = (no spaces). Values can also follow the argument. So

--before-date=mmddyyyy

and

--before-date mmddyyyy

both work.

Long option names can be shortened to the shortest unique abbreviation. See the option descriptions below for which support long options. To avoid confusion, avoid abbreviating a negatable option with an embedded dash ("-") at the dash if you plan to negate it (the parser would consider a trailing dash, such as for the option --some-option using --some- as the option, as part of the name rather than a negating dash). This may be changed to force the last dash in --some- to be negating in the future.

OPTIONS

-a

--ascii [Systems using EBCDIC] Translate file to ASCII format.

-A

--adjust-sfx Adjust self-extracting executable archive. A self-extracting executable archive is created by prepending the SFX stub to an existing archive. The -A option tells zip to adjust the entry offsets stored in the archive to take into account this "preamble" data.

Note: self-extracting archives for the Amiga are a special case. At present, only the Amiga port of zip is capable of adjusting or updating these without corrupting them. -J can be used to remove the SFX stub if other updates need to be made.

-AC

--archive-clear [WIN32] Once archive is created (and tested if -T is used, which is recommended), clear the archive bits of files processed. WARNING: Once the bits are cleared they are cleared. You may want to use the -sf show files option to store the list of files processed in case the archive operation must be repeated. Also consider using the -MM must match option. Be sure to check out -DF as a possibly better way to do incremental backups.

-AS

--archive-set [WIN32] Only include files that have the archive bit set. Directories are not stored when -AS is used, though by default the paths of entries, including directories, are stored as usual and can be used by most unzips to recreate directories.

The archive bit is set by the operating system when a file is modified and, if used with -AC, -AS can provide an incremental backup capability. However, other applications can modify the archive bit and it may not be a reliable indicator of which files have changed since the last archive operation. Alternative ways to create incremental backups are using -t to use file dates, though this won't catch old files copied to directories being archived, and -DF to create a differential archive.

-B

--binary [VM/CMS and MVS] force file to be read binary (default is text).

-Bn

[TANDEM] set Edit/Enscribe formatting options with n defined as

bit 0: Don't add delimiter (Edit/Enscribe)

bit 1: Use LF rather than CR/LF as delimiter (Edit/Enscribe)

bit 2: Space fill record to maximum record length (Enscribe)

bit 3: Trim trailing space (Enscribe)

bit 8: Force 30K (Expand) large read for unstructured files

-b path

--temp-path path Use the specified path for the temporary zip archive. For example:

zip -b /tmp stuff *

will put the temporary zip archive in the directory /tmp, copying over stuff.zip to the current directory when done. This option is useful when updating an existing archive and the file system containing this old archive does not have enough space to hold both old and new archives at the same time. It may also be useful when streaming in some cases to avoid the need for data descriptors. Note that using this option may require zip take additional time to copy the archive file when done to the destination file system.

-c

--entry-comments Add one-line comments for each file. File operations (adding, updating) are done first, and the user is then prompted for a one-line comment for each file. Enter the comment followed by return, or just return for no comment.

-C

--preserve-case [VMS] Preserve case all on VMS. Negating this option (-C-) downcases.

-C2

--preserve-case-2 [VMS] Preserve case ODS2 on VMS. Negating this option (-C2-) downcases.

-C5

--preserve-case-5 [VMS] Preserve case ODS5 on VMS. Negating this option (-C5-) downcases.

-d

--delete Remove (delete) entries from a zip archive. For example:

zip -d foo foo/tom/junk foo/harry/\* \*.o

will remove the entry foo/tom/junk, all of the files that start with foo/harry/, and all of the files that end with .o (in any path). Note that shell pathname expansion has been inhibited with backslashes, so that zip can see the asterisks, enabling zip to match on the contents of the zip archive instead of the contents of the current directory. (The backslashes are not used on MSDOS-based platforms.) Can also use quotes to escape the asterisks as in

zip -d foo foo/tom/junk "foo/harry/*" "*.o"

Not escaping the asterisks on a system where the shell expands wildcards could result in the asterisks being converted to a list of files in the current directory and that list used to delete entries from the archive.

Under MSDOS, -d is case sensitive when it matches names in the zip archive. This requires that file names be entered in upper case if they were zipped by PKZIP on an MSDOS system. (We considered making this case insensitive on systems where paths were case insensitive, but it is possible the archive came from a system where case does matter and the archive could include both Bar and bar as separate files in the archive.) But see the new option -ic to ignore case in the archive.

-db

--display-bytes Display running byte counts showing the bytes zipped and the bytes to go.

-dc

--display-counts Display running count of entries zipped and entries to go.

-dd

--display-dots Display dots while each entry is zipped (except on ports that have their own progress indicator). See -ds below for setting dot size. The default is a dot every 10 MB of input file processed. The -v option also displays dots (previously at a much higher rate than this but now -v also defaults to 10 MB) and this rate is also controlled by -ds.

-df

--datafork [MacOS] Include only data-fork of files zipped into the archive. Good for exporting files to foreign operating-systems. Resource-forks will be ignored at all.

-dg

--display-globaldots Display progress dots for the archive instead of for each file. The command

zip -qdgds 10m

will turn off most output except dots every 10 MB.

-ds size

--dot-size size Set amount of input file processed for each dot displayed. See -dd to enable displaying dots. Setting this option implies -dd. Size is in the format nm where n is a number and m is a multiplier. Currently m can be k (KB), m (MB), g (GB), or t (TB), so if n is 100 and m is k, size would be 100k which is 100 KB. The default is 10 MB.

The -v option also displays dots and now defaults to 10 MB also. This rate is also controlled by this option. A size of 0 turns dots off.

This option does not control the dots from the "Scanning files" message as zip scans for input files. The dot size for that is fixed at 2 seconds or a fixed number of entries, whichever is longer.

-du

--display-usize Display the uncompressed size of each entry.

-dv

--display-volume Display the volume (disk) number each entry is being read from, if reading an existing archive, and being written to.

-D

--no-dir-entries Do not create entries in the zip archive for directories. Directory entries are created by default so that their attributes can be saved in the zip archive. The environment variable ZIPOPT can be used to change the default options. For example under Unix with sh:

ZIPOPT="-D"; export ZIPOPT

(The variable ZIPOPT can be used for any option, including -i and -x using a new option format detailed below, and can include several options.) The option -D is a shorthand for -x "*/" but the latter previously could not be set as default in the ZIPOPT environment variable as the contents of ZIPOPT gets inserted near the beginning of the command line and the file list had to end at the end of the line.

This version of zip does allow -x and -i options in ZIPOPT if the form

-x file file ... @

is used, where the @ (an argument that is just @) terminates the list.

-DF

--difference-archive Create an archive that contains all new and changed files since the original archive was created. For this to work, the input file list and current directory must be the same as during the original zip operation.

For example, if the existing archive was created using

zip -r foofull .

from the bar directory, then the command

zip -r foofull . -DF --out foonew

also from the bar directory creates the archive foonew with just the files not in foofull and the files where the size or file time of the files do not match those in foofull.

Note that the timezone environment variable TZ should be set according to the local timezone in order for this option to work correctly. A change in timezone since the original archive was created could result in no times matching and all files being included.

A possible approach to backing up a directory might be to create a normal archive of the contents of the directory as a full backup, then use this option to create incremental backups.

-e

--encrypt Encrypt the contents of the zip archive using a password which is entered on the terminal in response to a prompt (this will not be echoed; if standard error is not a tty, zip will exit with an error). The password prompt is repeated to save the user from typing errors.

-E

--longnames [OS/2] Use the .LONGNAME Extended Attribute (if found) as filename.

-f

--freshen Replace (freshen) an existing entry in the zip archive only if it has been modified more recently than the version already in the zip archive; unlike the update option (-u) this will not add files that are not already in the zip archive. For example:

zip -f foo

This command should be run from the same directory from which the original zip command was run, since paths stored in zip archives are always relative.

Note that the timezone environment variable TZ should be set according to the local timezone in order for the -f, -u and -o options to work correctly.

The reasons behind this are somewhat subtle but have to do with the differences between the Unix-format file times (always in GMT) and most of the other operating systems (always local time) and the necessity to compare the two. A typical TZ value is ``MET-1MEST'' (Middle European time with automatic adjustment for ``summertime'' or Daylight Savings Time).

The format is TTThhDDD, where TTT is the time zone such as MET, hh is the difference between GMT and local time such as -1 above, and DDD is the time zone when daylight savings time is in effect. Leave off the DDD if there is no daylight savings time. For the US Eastern time zone EST5EDT.

-F

--fix

-FF

--fixfix   Fix the zip archive. The -F option can be used if some portions of the archive are missing, but requires a reasonably intact central directory. The input archive is scanned as usual, but zip will ignore some problems. The resulting archive should be valid, but any inconsistent entries will be left out.

When doubled as in -FF, the archive is scanned from the beginning and zip scans for special signatures to identify the limits between the archive members. The single -F is more reliable if the archive is not too much damaged, so try this option first.

If the archive is too damaged or the end has been truncated, you must use -FF. This is a change from zip 2.32, where the -F option is able to read a truncated archive. The -F option now more reliably fixes archives with minor damage and the -FF option is needed to fix archives where -F might have been sufficient before.

Neither option will recover archives that have been incorrectly transferred in ascii mode instead of binary. After the repair, the -t option of unzip may show that some files have a bad CRC. Such files cannot be recovered; you can remove them from the archive using the -d option of zip.

Note that -FF may have trouble fixing archives that include an embedded zip archive that was stored (without compression) in the archive and, depending on the damage, it may find the entries in the embedded archive rather than the archive itself. Try -F first as it does not have this problem.

The format of the fix commands have changed. For example, to fix the damaged archive foo.zip,

zip -F foo --out foofix

tries to read the entries normally, copying good entries to the new archive foofix.zip. If this doesn't work, as when the archive is truncated, or if some entries you know are in the archive are missed, then try

zip -FF foo --out foofixfix

and compare the resulting archive to the archive created by -F. The -FF option may create an inconsistent archive. Depending on what is damaged, you can then use the -F option to fix that archive.

A split archive with missing split files can be fixed using -F if you have the last split of the archive (the .zip file). If this file is missing, you must use -FF to fix the archive, which will prompt you for the splits you have.

Currently the fix options can't recover entries that have a bad checksum or are otherwise damaged.

-FI

--fifo [Unix] Normally zip skips reading any FIFOs (named pipes) encountered, as zip can hang if the FIFO is not being fed. This option tells zip to read the contents of any FIFO it finds.

-FS

--filesync Synchronize the contents of an archive with the files on the OS. Normally when an archive is updated, new files are added and changed files are updated but files that no longer exist on the OS are not deleted from the archive. This option enables a new mode that checks entries in the archive against the file system. If the file time and file size of the entry matches that of the OS file, the entry is copied from the old archive instead of being read from the file system and compressed. If the OS file has changed, the entry is read and compressed as usual. If the entry in the archive does not match a file on the OS, the entry is deleted. Enabling this option should create archives that are the same as new archives, but since existing entries are copied instead of compressed, updating an existing archive with -FS can be much faster than creating a new archive. Also consider using -u for updating an archive.

For this option to work, the archive should be updated from the same directory it was created in so the relative paths match. If few files are being copied from the old archive, it may be faster to create a new archive instead.

Note that the timezone environment variable TZ should be set according to the local timezone in order for this option to work correctly. A change in timezone since the original archive was created could result in no times matching and recompression of all files.

This option deletes files from the archive. If you need to preserve the original archive, make a copy of the archive first or use the --out option to output the updated archive to a new file. Even though it may be slower, creating a new archive with a new archive name is safer, avoids mismatches between archive and OS paths, and is preferred.

-g

--grow        Grow (append to) the specified zip archive, instead of creating a new one. If this operation fails, zip attempts to restore the archive to its original state. If the restoration fails, the archive might become corrupted. This option is ignored when there's no existing archive or when at least one archive member must be updated or deleted.

-h

-?

--help        Display the zip help information (this also appears if zip is run with no arguments).

-h2

--more-help Display extended help including more on command line format, pattern matching, and more obscure options.

-i files

--include files Include only the specified files, as in:

zip -r foo . -i \*.c

which will include only the files that end in .c in the current directory and its subdirectories. (Note for PKZIP users: the equivalent command is

pkzip -rP foo *.c

PKZIP does not allow recursion in directories other than the current one.) The backslash avoids the shell filename substitution, so that the name matching is performed by zip at all directory levels. [This is for Unix and other systems where \ escapes the next character. For other systems where the shell does not process * do not use \ and the above is

zip -r foo . -i *.c

Examples are for Unix unless otherwise specified.] So to include dir, a directory directly under the current directory, use

zip -r foo . -i dir/\*

or

zip -r foo . -i "dir/*"

to match paths such as dir/a and dir/b/file.c [on ports without wildcard expansion in the shell such as MSDOS and Windows

zip -r foo . -i dir/*

is used.] Note that currently the trailing / is needed for directories (as in

zip -r foo . -i dir/

to include directory dir).

The long option form of the first example is

zip -r foo . --include \*.c

and does the same thing as the short option form.

Though the command syntax used to require -i at the end of the command line, this version actually allows -i (or --include) anywhere. The list of files terminates at the next argument starting with -, the end of the command line, or the list terminator @ (an argument that is just @). So the above can be given as

zip -i \*.c @ -r foo .

for example. There must be a space between the option and the first file of a list. For just one file you can use the single value form

zip -i\*.c -r foo .

(no space between option and value) or

zip --include=\*.c -r foo .

as additional examples. The single value forms are not recommended because they can be confusing and, in particular, the -ifile format can cause problems if the first letter of file combines with i to form a two-letter option starting with i. Use -sc to see how your command line will be parsed.

Also possible:

zip -r foo . -i@include.lst

which will only include the files in the current directory and its subdirectories that match the patterns in the file include.lst.

Files to -i and -x are patterns matching internal archive paths. See -R for more on patterns.

-I

--no-image [Acorn RISC OS] Don't scan through Image files. When used, zip will not consider Image files (eg. DOS partitions or Spark archives when SparkFS is loaded) as directories but will store them as single files.

For example, if you have SparkFS loaded, zipping a Spark archive will result in a zipfile containing a directory (and its content) while using the 'I' option will result in a zipfile containing a Spark archive. Obviously this second case will also be obtained (without the 'I' option) if SparkFS isn't loaded.

-ic

--ignore-case [VMS, WIN32] Ignore case when matching archive entries. This option is only available on systems where the case of files is ignored. On systems with case-insensitive file systems, case is normally ignored when matching files on the file system but is not ignored for -f (freshen), -d (delete), -U (copy), and similar modes when matching against archive entries (currently -f ignores case on VMS) because archive entries can be from systems where case does matter and names that are the same except for case can exist in an archive. The -ic option makes all matching case insensitive. This can result in multiple archive entries matching a command line pattern.

-j

--junk-paths Store just the name of a saved file (junk the path), and do not store directory names. By default, zip will store the full path (relative to the current directory).

-jj

--absolute-path [MacOS] record Fullpath (+ Volname). The complete path including volume will be stored. By default the relative path will be stored.

-J

--junk-sfx Strip any prepended data (e.g. a SFX stub) from the archive.

-k

--DOS-names Attempt to convert the names and paths to conform to MSDOS, store only the MSDOS attribute (just the user write attribute from Unix), and mark the entry as made under MSDOS (even though it was not); for compatibility with PKUNZIP under MSDOS which cannot handle certain names such as those with two dots.

-l

--to-crlf Translate the Unix end-of-line character LF into the MSDOS convention CR LF. This option should not be used on binary files. This option can be used on Unix if the zip file is intended for PKUNZIP under MSDOS. If the input files already contain CR LF, this option adds an extra CR. This is to ensure that unzip -a on Unix will get back an exact copy of the original file, to undo the effect of zip -l. See -ll for how binary files are handled.

-la

--log-append Append to existing logfile. Default is to overwrite.

-lf logfilepath

--logfile-path logfilepath Open a logfile at the given path. By default any existing file at that location is overwritten, but the -la option will result in an existing file being opened and the new log information appended to any existing information. Only warnings and errors are written to the log unless the -li option is also given, then all information messages are also written to the log.

-li

--log-info Include information messages, such as file names being zipped, in the log. The default is to only include the command line, any warnings and errors, and the final status.

-ll

--from-crlf Translate the MSDOS end-of-line CR LF into Unix LF. This option should not be used on binary files. This option can be used on MSDOS if the zip file is intended for unzip under Unix. If the file is converted and the file is later determined to be binary a warning is issued and the file is probably corrupted. In this release if -ll detects binary in the first buffer read from a file, zip now issues a warning and skips line end conversion on the file. This check seems to catch all binary files tested, but the original check remains and if a converted file is later determined to be binary that warning is still issued. A new algorithm is now being used for binary detection that should allow line end conversion of text files in UTF-8 and similar encodings.

-L

--license Display the zip license.

-m

--move     Move the specified files into the zip archive; actually, this deletes the target directories/files after making the specified zip archive. If a directory becomes empty after removal of the files, the directory is also removed. No deletions are done until zip has created the archive without error. This is useful for conserving disk space, but is potentially dangerous so it is recommended to use it in combination with -T to test the archive before removing all input files.

-MM

--must-match All input patterns must match at least one file and all input files found must be readable. Normally when an input pattern does not match a file the "name not matched" warning is issued and when an input file has been found but later is missing or not readable a missing or not readable warning is issued. In either case zip continues creating the archive, with missing or unreadable new files being skipped and files already in the archive remaining unchanged. After the archive is created, if any files were not readable zip returns the OPEN error code (18 on most systems) instead of the normal success return (0 on most systems). With -MM set, zip exits as soon as an input pattern is not matched (whenever the "name not matched" warning would be issued) or when an input file is not readable. In either case zip exits with an OPEN error and no archive is created.

This option is useful when a known list of files is to be zipped so any missing or unreadable files will result in an error. It is less useful when used with wildcards, but zip will still exit with an error if any input pattern doesn't match at least one file and if any matched files are unreadable. If you want to create the archive anyway and only need to know if files were skipped, don't use -MM and just check the return code. Also -lf could be useful.

-n suffixes

--suffixes suffixes Do not attempt to compress files named with the given suffixes. Such files are simply stored (0% compression) in the output zip file, so that zip doesn't waste its time trying to compress them. The suffixes are separated by either colons or semicolons. For example:

zip -rn .Z:.zip:.tiff:.gif:.snd foo foo

will copy everything from foo into foo.zip, but will store any files that end in .Z, .zip, .tiff, .gif, or .snd without trying to compress them (image and sound files often have their own specialized compression methods). By default, zip does not compress files with extensions in the list .Z:.zip:.zoo:.arc:.lzh:.arj. Such files are stored directly in the output archive. The environment variable ZIPOPT can be used to change the default options. For example under Unix with csh:

setenv ZIPOPT "-n .gif:.zip"

To attempt compression on all files, use:

zip -n : foo

The maximum compression option -9 also attempts compression on all files regardless of extension.

On Acorn RISC OS systems the suffixes are actually filetypes (3 hex digit format). By default, zip does not compress files with filetypes in the list DDC:D96:68E (i.e. Archives, CFS files and PackDir files).

-nw

--no-wild Do not perform internal wildcard processing (shell processing of wildcards is still done by the shell unless the arguments are escaped). Useful if a list of paths is being read and no wildcard substitution is desired.

-N

--notes [Amiga, MacOS] Save Amiga or MacOS filenotes as zipfile comments. They can be restored by using the -N option of unzip. If -c is used also, you are prompted for comments only for those files that do not have filenotes.

-o

--latest-time Set the "last modified" time of the zip archive to the latest (oldest) "last modified" time found among the entries in the zip archive. This can be used without any other operations, if desired. For example:

zip -o foo

will change the last modified time of foo.zip to the latest time of the entries in foo.zip.

-O output-file

--output-file output-file Process the archive changes as usual, but instead of updating the existing archive, output the new archive to output-file. Useful for updating an archive without changing the existing archive and the input archive must be a different file than the output archive.

This option can be used to create updated split archives. It can also be used with -U to copy entries from an existing archive to a new archive. See the EXAMPLES section below.

Another use is converting zip files from one split size to another. For instance, to convert an archive with 700 MB CD splits to one with 2 GB DVD splits, can use:

zip -s 2g cd-split.zip --out dvd-split.zip

which uses copy mode. See -U below. Also:

zip -s 0 split.zip --out unsplit.zip

will convert a split archive to a single-file archive.

Copy mode will convert stream entries (using data descriptors and which should be compatible with most unzips) to normal entries (which should be compatible with all unzips), except if standard encryption was used. For archives with encrypted entries, zipcloak will decrypt the entries and convert them to normal entries.

-p

--paths Include relative file paths as part of the names of files stored in the archive. This is the default. The -j option junks the paths and just stores the names of the files.

-P password

--password password Use password to encrypt zipfile entries (if any). THIS IS INSECURE! Many multi-user operating systems provide ways for any user to see the current command line of any other user; even on stand-alone systems there is always the threat of over-the-shoulder peeking. Storing the plaintext password as part of a command line in an automated script is even worse. Whenever possible, use the non-echoing, interactive prompt to enter passwords. (And where security is truly important, use strong encryption such as Pretty Good Privacy instead of the relatively weak standard encryption provided by zipfile utilities.)

-q

--quiet Quiet mode; eliminate informational messages and comment prompts. (Useful, for example, in shell scripts and background tasks).

-Qn

--Q-flag n [QDOS] store information about the file in the file header with n defined as

bit 0: Don't add headers for any file

bit 1: Add headers for all files

bit 2: Don't wait for interactive key press on exit

-r

--recurse-paths Travel the directory structure recursively; for example:

zip -r foo.zip foo

or more concisely

zip -r foo foo

In this case, all the files and directories in foo are saved in a zip archive named foo.zip, including files with names starting with ".", since the recursion does not use the shell's file-name substitution mechanism. If you wish to include only a specific subset of the files in directory foo and its subdirectories, use the -i option to specify the pattern of files to be included. You should not use -r with the name ".*", since that matches ".." which will attempt to zip up the parent directory (probably not what was intended).

Multiple source directories are allowed as in

zip -r foo foo1 foo2

which first zips up foo1 and then foo2, going down each directory.

Note that while wildcards to -r are typically resolved while recursing down directories in the file system, any -R, -x, and -i wildcards are applied to internal archive pathnames once the directories are scanned. To have wildcards apply to files in subdirectories when recursing on Unix and similar systems where the shell does wildcard substitution, either escape all wildcards or put all arguments with wildcards in quotes. This lets zip see the wildcards and match files in subdirectories using them as it recurses.

-R

--recurse-patterns Travel the directory structure recursively starting at the current directory; for example:

zip -R foo "*.c"

In this case, all the files matching *.c in the tree starting at the current directory are stored into a zip archive named foo.zip. Note that *.c will match file.c, a/file.c and a/b/.c. More than one pattern can be listed as separate arguments. Note for PKZIP users: the equivalent command is

pkzip -rP foo *.c

Patterns are relative file paths as they appear in the archive, or will after zipping, and can have optional wildcards in them. For example, given the current directory is foo and under it are directories foo1 and foo2 and in foo1 is the file bar.c,

zip -R foo/*

will zip up foo, foo/foo1, foo/foo1/bar.c, and foo/foo2.

zip -R */bar.c

will zip up foo/foo1/bar.c. See the note for -r on escaping wildcards.

-RE

--regex [WIN32] Before zip 3.0, regular expression list matching was enabled by default on Windows platforms. Because of confusion resulting from the need to escape "[" and "]" in names, it is now off by default for Windows so "[" and "]" are just normal characters in names. This option enables [] matching again.

-s splitsize

--split-size splitsize Enable creating a split archive and set the split size. A split archive is an archive that could be split over many files. As the archive is created, if the size of the archive reaches the specified split size, that split is closed and the next split opened. In general all splits but the last will be the split size and the last will be whatever is left. If the entire archive is smaller than the split size a single-file archive is created.

Split archives are stored in numbered files. For example, if the output archive is named archive and three splits are required, the resulting archive will be in the three files archive.z01, archive.z02, and archive.zip. Do not change the numbering of these files or the archive will not be readable as these are used to determine the order the splits are read.

Split size is a number optionally followed by a multiplier. Currently the number must be an integer. The multiplier can currently be one of k (kilobytes), m (megabytes), g (gigabytes), or t (terabytes). As 64k is the minimum split size, numbers without multipliers default to megabytes. For example, to create a split archive called foo with the contents of the bar directory with splits of 670 MB that might be useful for burning on CDs, the command:

zip -s 670m -r foo bar

could be used.

Currently the old splits of a split archive are not excluded from a new archive, but they can be specifically excluded. If possible, keep the input and output archives out of the path being zipped when creating split archives.

Using -s without -sp as above creates all the splits where foo is being written, in this case the current directory. This split mode updates the splits as the archive is being created, requiring all splits to remain writable, but creates split archives that are readable by any unzip that supports split archives. See -sp below for enabling split pause mode which allows splits to be written directly to removable media.

The option -sv can be used to enable verbose splitting and provide details of how the splitting is being done. The -sb option can be used to ring the bell when zip pauses for the next split destination.

Split archives cannot be updated, but see the -O (--out) option for how a split archive can be updated as it is copied to a new archive. A split archive can also be converted into a single-file archive using a split size of 0 or negating the -s option:

zip -s 0 split.zip --out single.zip

Also see -U (--copy) for more on using copy mode.

-sb

--split-bell If splitting and using split pause mode, ring the bell when zip pauses for each split destination.

-sc

--show-command Show the command line starting zip as processed and exit. The new command parser permutes the arguments, putting all options and any values associated with them before any non-option arguments. This allows an option to appear anywhere in the command line as long as any values that go with the option go with it. This option displays the command line as zip sees it, including any arguments from the environment such as from the ZIPOPT variable. Where allowed, options later in the command line can override options earlier in the command line.

-sf

--show-files Show the files that would be operated on, then exit. For instance, if creating a new archive, this will list the files that would be added. If the option is negated, -sf-, output only to an open log file. Screen display is not recommended for large lists.

-so

--show-options Show all available options supported by zip as compiled on the current system. As this command reads the option table, it should include all options. Each line includes the short option (if defined), the long option (if defined), the format of any value that goes with the option, if the option can be negated, and a small description. The value format can be no value, required value, optional value, single character value, number value, or a list of values. The output of this option is not intended to show how to use any option but only show what options are available.

-sp

--split-pause If splitting is enabled with -s, enable split pause mode. This creates split archives as -s does, but stream writing is used so each split can be closed as soon as it is written and zip will pause between each split to allow changing split destination or media.

Though this split mode allows writing splits directly to removable media, it uses stream archive format that may not be readable by some unzips. Before relying on splits created with -sp, test a split archive with the unzip you will be using.

To convert a stream split archive (created with -sp) to a standard archive see the --out option.

-su

--show-unicode As -sf, but also show Unicode version of the path if exists.

-sU

--show-just-unicode As -sf, but only show Unicode version of the path if exists, otherwise show the standard version of the path.

-sv

--split-verbose Enable various verbose messages while splitting, showing how the splitting is being done.

-S

--system-hidden [MSDOS, OS/2, WIN32 and ATARI] Include system and hidden files.

[MacOS] Includes finder invisible files, which are ignored otherwise.

-t mmddyyyy

--from-date mmddyyyy Do not operate on files modified prior to the specified date, where mm is the month (00-12), dd is the day of the month (01-31), and yyyy is the year. The ISO 8601 date format yyyy-mm-dd is also accepted. For example:

zip -rt 12071991 infamy foo

zip -rt 1991-12-07 infamy foo

will add all the files in foo and its subdirectories that were last modified on or after 7 December 1991, to the zip archive infamy.zip.

-tt mmddyyyy

--before-date mmddyyyy Do not operate on files modified after or at the specified date, where mm is the month (00-12), dd is the day of the month (01-31), and yyyy is the year. The ISO 8601 date format yyyy-mm-dd is also accepted. For example:

zip -rtt 11301995 infamy foo

zip -rtt 1995-11-30 infamy foo

will add all the files in foo and its subdirectories that were last modified before 30 November 1995, to the zip archive infamy.zip.

-T

--test     Test the integrity of the new zip file. If the check fails, the old zip file is unchanged and (with the -m option) no input files are removed.

-TT cmd

--unzip-command cmd Use command cmd instead of 'unzip -tqq' to test an archive when the -T option is used. On Unix, to use a copy of unzip in the current directory instead of the standard system unzip, could use:

zip archive file1 file2 -T -TT "./unzip -tqq"

In cmd, {} is replaced by the name of the temporary archive, otherwise the name of the archive is appended to the end of the command. The return code is checked for success (0 on Unix).

-u

--update Replace (update) an existing entry in the zip archive only if it has been modified more recently than the version already in the zip archive. For example:

zip -u stuff *

will add any new files in the current directory, and update any files which have been modified since the zip archive stuff.zip was last created/modified (note that zip will not try to pack stuff.zip into itself when you do this).

Note that the -u option with no input file arguments acts like the -f (freshen) option.

-U

--copy-entries Copy entries from one archive to another. Requires the --out option to specify a different output file than the input archive. Copy mode is the reverse of -d delete. When delete is being used with --out, the selected entries are deleted from the archive and all other entries are copied to the new archive, while copy mode selects the files to include in the new archive. Unlike -u update, input patterns on the command line are matched against archive entries only and not the file system files. For instance,

zip inarchive "*.c" --copy --out outarchive

copies entries with names ending in .c from inarchive to outarchive. The wildcard must be escaped on some systems to prevent the shell from substituting names of files from the file system which may have no relevance to the entries in the archive.

If no input files appear on the command line and --out is used, copy mode is assumed:

zip inarchive --out outarchive

This is useful for changing split size for instance. Encrypting and decrypting entries is not yet supported using copy mode. Use zipcloak for that.

-UN v

--unicode v Determine what zip should do with Unicode file names. zip 3.0, in addition to the standard file path, now includes the UTF-8 translation of the path if the entry path is not entirely 7-bit ASCII. When an entry is missing the Unicode path, zip reverts back to the standard file path. The problem with using the standard path is this path is in the local character set of the zip that created the entry, which may contain characters that are not valid in the character set being used by the unzip. When zip is reading an archive, if an entry also has a Unicode path, zip now defaults to using the Unicode path to recreate the standard path using the current local character set.

This option can be used to determine what zip should do with this path if there is a mismatch between the stored standard path and the stored UTF-8 path (which can happen if the standard path was updated). In all cases, if there is a mismatch it is assumed that the standard path is more current and zip uses that. Values for v are

q - quit if paths do not match

w - warn, continue with standard path

i - ignore, continue with standard path

n - no Unicode, do not use Unicode paths

The default is to warn and continue.

Characters that are not valid in the current character set are escaped as #Uxxxx and #Lxxxxxx, where x is an ASCII character for a hex digit. The first is used if a 16-bit character number is sufficient to represent the Unicode character and the second if the character needs more than 16 bits to represent it's Unicode character code. Setting -UN to

e - escape

as in

zip archive -sU -UN=e

forces zip to escape all characters that are not printable 7-bit ASCII.

Normally zip stores UTF-8 directly in the standard path field on systems where UTF-8 is the current character set and stores the UTF-8 in the new extra fields otherwise. The option

u - UTF-8

as in

zip archive dir -r -UN=UTF8

forces zip to store UTF-8 as native in the archive. Note that storing UTF-8 directly is the default on Unix systems that support it. This option could be useful on Windows systems where the escaped path is too large to be a valid path and the UTF-8 version of the path is smaller, but native UTF-8 is not backward compatible on Windows systems.

-v

--verbose Verbose mode or print diagnostic version info.

Normally, when applied to real operations, this option enables the display of a progress indicator during compression (see -dd for more on dots) and requests verbose diagnostic info about zipfile structure oddities.

However, when -v is the only command line argument a diagnostic screen is printed instead. This should now work even if stdout is redirected to a file, allowing easy saving of the information for sending with bug reports to Info-ZIP. The version screen provides the help screen header with program name, version, and release date, some pointers to the Info-ZIP home and distribution sites, and shows information about the target environment (compiler type and version, OS version, compilation date and the enabled optional features used to create the zip executable).

-V

--VMS-portable [VMS] Save VMS file attributes. (Files are truncated at EOF.) When a -V archive is unpacked on a non-VMS system, some file types (notably Stream_LF text files and pure binary files like fixed-512) should be extracted intact. Indexed files and file types with embedded record sizes (notably variable-length record types) will probably be seen as corrupt elsewhere.

-VV

--VMS-specific [VMS] Save VMS file attributes, and all allocated blocks in a file, including any data beyond EOF. Useful for moving ill-formed files among VMS systems. When a -VV archive is unpacked on a non-VMS system, almost all files will appear corrupt.

-w

--VMS-versions [VMS] Append the version number of the files to the name, including multiple versions of files. Default is to use only the most recent version of a specified file.

-ww

--VMS-dot-versions [VMS] Append the version number of the files to the name, including multiple versions of files, using the .nnn format. Default is to use only the most recent version of a specified file.

-ws

--wild-stop-dirs Wildcards match only at a directory level. Normally zip handles paths as strings and given the paths

/foo/bar/dir/file1.c

/foo/bar/file2.c

an input pattern such as

/foo/bar/*

normally would match both paths, the * matching dir/file1.c and file2.c. Note that in the first case a directory boundary (/) was crossed in the match. With -ws no directory bounds will be included in the match, making wildcards local to a specific directory level. So, with -ws enabled, only the second path would be matched.

When using -ws, use ** to match across directory boundaries as * does normally.

-x files

--exclude files Explicitly exclude the specified files, as in:

zip -r foo foo -x \*.o

which will include the contents of foo in foo.zip while excluding all the files that end in .o. The backslash avoids the shell filename substitution, so that the name matching is performed by zip at all directory levels.

Also possible:

zip -r foo foo -x@exclude.lst

which will include the contents of foo in foo.zip while excluding all the files that match the patterns in the file exclude.lst.

The long option forms of the above are

zip -r foo foo --exclude \*.o

and

zip -r foo foo --exclude @exclude.lst

Multiple patterns can be specified, as in:

zip -r foo foo -x \*.o \*.c

If there is no space between -x and the pattern, just one value is assumed (no list):

zip -r foo foo -x\*.o

See -i for more on include and exclude.

-X

--no-extra Do not save extra file attributes (Extended Attributes on OS/2, uid/gid and file times on Unix). The zip format uses extra fields to include additional information for each entry. Some extra fields are specific to particular systems while others are applicable to all systems. Normally when zip reads entries from an existing archive, it reads the extra fields it knows, strips the rest, and adds the extra fields applicable to that system. With -X, zip strips all old fields and only includes the Unicode and Zip64 extra fields (currently these two extra fields cannot be disabled).

Negating this option, -X-, includes all the default extra fields, but also copies over any unrecognized extra fields.

-y

--symlinks For UNIX and VMS (V8.3 and later), store symbolic links as such in the zip archive, instead of compressing and storing the file referred to by the link. This can avoid multiple copies of files being included in the archive as zip recurses the directory trees and accesses files directly and by links.

-z

--archive-comment Prompt for a multi-line comment for the entire zip archive. The comment is ended by a line containing just a period, or an end of file condition (^D on Unix, ^Z on MSDOS, OS/2, and VMS). The comment can be taken from a file:

zip -z foo < foowhat

-Z cm

--compression-method cm Set the default compression method. Currently the main methods supported by zip are store and deflate. Compression method can be set to:

store - Setting the compression method to store forces zip to store entries with no compression. This is generally faster than compressing entries, but results in no space savings. This is the same as using -0 (compression level zero).

deflate - This is the default method for zip. If zip determines that storing is better than deflation, the entry will be stored instead.

bzip2 - If bzip2 support is compiled in, this compression method also becomes available. Only some modern unzips currently support the bzip2 compression method, so test the unzip you will be using before relying on archives using this method (compression method 12).

For example, to add bar.c to archive foo using bzip2 compression:

zip -Z bzip2 foo bar.c

The compression method can be abbreviated:

zip -Zb foo bar.c

-#

(-0, -1, -2, -3, -4, -5, -6, -7, -8, -9) Regulate the speed of compression using the specified digit #, where -0 indicates no compression (store all files), -1 indicates the fastest compression speed (less compression) and -9 indicates the slowest compression speed (optimal compression, ignores the suffix list). The default compression level is -6.

Though still being worked, the intention is this setting will control compression speed for all compression methods. Currently only deflation is controlled.

-!

--use-privileges [WIN32] Use privileges (if granted) to obtain all aspects of WinNT security.

-@

--names-stdin Take the list of input files from standard input. Only one filename per line.

-$

--volume-label [MSDOS, OS/2, WIN32] Include the volume label for the drive holding the first file to be compressed. If you want to include only the volume label or to force a specific drive, use the drive name as first file name, as in:

zip -$ foo a: c:bar

EXAMPLES

The simplest example:

zip stuff *

creates the archive stuff.zip (assuming it does not exist) and puts all the files in the current directory in it, in compressed form (the .zip suffix is added automatically, unless the archive name contains a dot already; this allows the explicit specification of other suffixes).

Because of the way the shell on Unix does filename substitution, files starting with "." are not included; to include these as well:

zip stuff .* *

Even this will not include any subdirectories from the current directory.

To zip up an entire directory, the command:

zip -r foo foo

creates the archive foo.zip, containing all the files and directories in the directory foo that is contained within the current directory.

You may want to make a zip archive that contains the files in foo, without recording the directory name, foo. You can use the -j option to leave off the paths, as in:

zip -j foo foo/*

If you are short on disk space, you might not have enough room to hold both the original directory and the corresponding compressed zip archive. In this case, you can create the archive in steps using the -m option. If foo contains the subdirectories tom, dick, and harry, you can:

zip -rm foo foo/tom

zip -rm foo foo/dick

zip -rm foo foo/harry

where the first command creates foo.zip, and the next two add to it. At the completion of each zip command, the last created archive is deleted, making room for the next zip command to function.

Use -s to set the split size and create a split archive. The size is given as a number followed optionally by one of k (kB), m (MB), g (GB), or t (TB). The command

zip -s 2g -r split.zip foo

creates a split archive of the directory foo with splits no bigger than 2 GB each. If foo contained 5 GB of contents and the contents were stored in the split archive without compression (to make this example simple), this would create three splits, split.z01 at 2 GB, split.z02 at 2 GB, and split.zip at a little over 1 GB.

The -sp option can be used to pause zip between splits to allow changing removable media, for example, but read the descriptions and warnings for both -s and -sp below.

Though zip does not update split archives, zip provides the new option -O (--output-file) to allow split archives to be updated and saved in a new archive. For example,

zip inarchive.zip foo.c bar.c --out outarchive.zip

reads archive inarchive.zip, even if split, adds the files foo.c and bar.c, and writes the resulting archive to outarchive.zip. If inarchive.zip is split then outarchive.zip defaults to the same split size. Be aware that outarchive.zip and any split files that are created with it are always overwritten without warning. This may be changed in the future.

PATTERN MATCHING

This section applies only to Unix. Watch this space for details on MSDOS and VMS operation. However, the special wildcard characters * and [] below apply to at least MSDOS also.

The Unix shells (sh, csh, bash, and others) normally do filename substitution (also called "globbing") on command arguments. Generally the special characters are:

?

match any single character

*

match any number of characters (including none)

[]

match any character in the range indicated within the brackets (example: [a-f], [0-9]). This form of wildcard matching allows a user to specify a list of characters between square brackets and if any of the characters match the expression matches. For example:

zip archive "*.[hc]"

would archive all files in the current directory that end in .h or .c.

Ranges of characters are supported:

zip archive "[a-f]*"

would add to the archive all files starting with "a" through "f".

Negation is also supported, where any character in that position not in the list matches. Negation is supported by adding ! or ^ to the beginning of the list:

zip archive "*.[!o]"

matches files that don't end in ".o".

On WIN32, [] matching needs to be turned on with the -RE option to avoid the confusion that names with [ or ] have caused.

When these characters are encountered (without being escaped with a backslash or quotes), the shell will look for files relative to the current path that match the pattern, and replace the argument with a list of the names that matched.

The zip program can do the same matching on names that are in the zip archive being modified or, in the case of the -x (exclude) or -i (include) options, on the list of files to be operated on, by using backslashes or quotes to tell the shell not to do the name expansion. In general, when zip encounters a name in the list of files to do, it first looks for the name in the file system. If it finds it, it then adds it to the list of files to do. If it does not find it, it looks for the name in the zip archive being modified (if it exists), using the pattern matching characters described above, if present. For each match, it will add that name to the list of files to be processed, unless this name matches one given with the -x option, or does not match any name given with the -i option.

The pattern matching includes the path, and so patterns like \*.o match names that end in ".o", no matter what the path prefix is. Note that the backslash must precede every special character (i.e. ?*[]), or the entire argument must be enclosed in double quotes ("").

In general, use backslashes or double quotes for paths that have wildcards to make zip do the pattern matching for file paths, and always for paths and strings that have spaces or wildcards for -i, -x, -R, -d, and -U and anywhere zip needs to process the wildcards.

ENVIRONMENT

The following environment variables are read and used by zip as described.

ZIPOPT

contains default options that will be used when running zip. The contents of this environment variable will get added to the command line just after the zip command.

ZIP

[Not on RISC OS and VMS] see ZIPOPT

Zip$Options

[RISC OS] see ZIPOPT

Zip$Exts

[RISC OS] contains extensions separated by a : that will cause native filenames with one of the specified extensions to be added to the zip file with basename and extension swapped.

ZIP_OPTS

[VMS] see ZIPOPT

SEE ALSO

compress(1), shar(1), tar(1), unzip(3), gzip(1)

DIAGNOSTICS

The exit status (or error level) approximates the exit codes defined by PKWARE and takes on the following values, except under VMS:

0

normal; no errors or warnings detected.

2

unexpected end of zip file.

3

a generic error in the zipfile format was detected. Processing may have completed successfully anyway; some broken zipfiles created by other archivers have simple work-arounds.

4

zip was unable to allocate memory for one or more buffers during program initialization.

5

a severe error in the zipfile format was detected. Processing probably failed immediately.

6

entry too large to be processed (such as input files larger than 2 GB when not using Zip64 or trying to read an existing archive that is too large) or entry too large to be split with zipsplit

7

invalid comment format

8

zip -T failed or out of memory

9

the user aborted zip prematurely with control-C (or similar)

10

zip encountered an error while using a temp file

11

read or seek error

12

zip has nothing to do

13

missing or empty zip file

14

error writing to a file

15

zip was unable to create a file to write to

16

bad command line parameters

18

zip could not open a specified file to read

19

zip was compiled with options not supported on this system

VMS interprets standard Unix (or PC) return values as other, scarier-looking things, so zip instead maps them into VMS-style status codes. In general, zip sets VMS Facility = 1955 (0x07A3), Code = 2* Unix_status, and an appropriate Severity (as specified in ziperr.h). More details are included in the VMS-specific documentation. See [.vms]NOTES.TXT and [.vms]vms_msg_gen.c.

BUGS

zip 3.0 is not compatible with PKUNZIP 1.10. Use zip 1.1 to produce zip files which can be extracted by PKUNZIP 1.10.

zip files produced by zip 3.0 must not be updated by zip 1.1 or PKZIP 1.10, if they contain encrypted members or if they have been produced in a pipe or on a non-seekable device. The old versions of zip or PKZIP would create an archive with an incorrect format. The old versions can list the contents of the zip file but cannot extract it anyway (because of the new compression algorithm). If you do not use encryption and use regular disk files, you do not have to care about this problem.

Under VMS, not all of the odd file formats are treated properly. Only stream-LF format zip files are expected to work with zip. Others can be converted using Rahul Dhesi's BILF program. This version of zip handles some of the conversion internally. When using Kermit to transfer zip files from VMS to MSDOS, type "set file type block" on VMS. When transferring from MSDOS to VMS, type "set file type fixed" on VMS. In both cases, type "set file type binary" on MSDOS.

Under some older VMS versions, zip may hang for file specifications that use DECnet syntax foo::*.*.

On OS/2, zip cannot match some names, such as those including an exclamation mark or a hash sign. This is a bug in OS/2 itself: the 32-bit DosFindFirst/Next don't find such names. Other programs such as GNU tar are also affected by this bug.

Under OS/2, the amount of Extended Attributes displayed by DIR is (for compatibility) the amount returned by the 16-bit version of DosQueryPathInfo(). Otherwise OS/2 1.3 and 2.0 would report different EA sizes when DIRing a file. However, the structure layout returned by the 32-bit DosQueryPathInfo() is a bit different, it uses extra padding bytes and link pointers (it's a linked list) to have all fields on 4-byte boundaries for portability to future RISC OS/2 versions. Therefore the value reported by zip (which uses this 32-bit-mode size) differs from that reported by DIR. zip stores the 32-bit format for portability, even the 16-bit MS-C-compiled version running on OS/2 1.3, so even this one shows the 32-bit-mode size.

AUTHORS

Copyright (C) 1997-2008 Info-ZIP.

Currently distributed under the Info-ZIP license.

Copyright (C) 1990-1997 Mark Adler, Richard B. Wales, Jean-loup Gailly, Onno van der Linden, Kai Uwe Rommel, Igor Mandrichenko, John Bush and Paul Kienitz.

Original copyright:

Permission is granted to any individual or institution to use, copy, or redistribute this software so long as all of the original files are included, that it is not sold for profit, and that this copyright notice is retained.

LIKE ANYTHING ELSE THAT'S FREE, ZIP AND ITS ASSOCIATED UTILITIES ARE PROVIDED AS IS AND COME WITH NO WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED. IN NO EVENT WILL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES RESULTING FROM THE USE OF THIS SOFTWARE.

Please send bug reports and comments using the web page at: www.info-zip.org. For bug reports, please include the version of zip (see zip -h), the make options used to compile it (see zip -v), the machine and operating system in use, and as much additional information as possible.

ACKNOWLEDGEMENTS

Thanks to R. P. Byrne for his Shrink.Pas program, which inspired this project, and from which the shrink algorithm was stolen; to Phil Katz for placing in the public domain the zip file format, compression format, and .ZIP filename extension, and for accepting minor changes to the file format; to Steve Burg for clarifications on the deflate format; to Haruhiko Okumura and Leonid Broukhis for providing some useful ideas for the compression algorithm; to Keith Petersen, Rich Wales, Hunter Goatley and Mark Adler for providing a mailing list and ftp site for the Info-ZIP group to use; and most importantly, to the Info-ZIP group itself (listed in the file infozip.who) without whose tireless testing and bug-fixing efforts a portable zip would not have been possible. Finally we should thank (blame) the first Info-ZIP moderator, David Kirschbaum, for getting us into this mess in the first place. The manual page was rewritten for Unix by R. P. C. Rodgers and updated by E. Gordon for zip 3.0.

NAME SYNOPSIS DESCRIPTION USE OPTIONS EXAMPLES PATTERN MATCHING ENVIRONMENT SEE ALSO DIAGNOSTICS BUGS AUTHORS ACKNOWLEDGEMENTS

This document was created by man2html using the manual pages.

Time: 16:33:52 GMT, September 14, 2024

office2pdf

TOC Index

NAME

office2pdf - convert Microsoft™ Office files to PDF

SYNOPSIS

WA2LWinTools/bin/office2pdf [ -h | -i | -u | -V ]

office2pdf [ -n ][ file... }

AVAILABILITY

WA2L/WinTools

DESCRIPTION

convert one or more Microsoft™ Office file(s) to *.pdf file(s).

Each recognized Office file file1.ext is converted to file1.pdf as long as the destination file ( file1.pdf ) does not exist already.

The office2pdf command should be installed to the 'Send To' context menu in 'Microsoft™ Windows Explorer' for most convenient usage. To do so, invoke office2pdf -i once.

OPTIONS

-h

usage message.

-i

install the office2pdf command as menu point 'office2pdf' to the 'Send To' context menu in 'Windows Explorer'.

-u

uninstall the office2pdf shortcut from the 'Send To' context menu in 'Windows Explorer'.

-V

print program version.

-n

non interactive execution. This prevents the message box dialog at the end of the program execution. Using -n the office2pdf command can be used in batch processing without any user intervention.

file...

list of *.ext files to convert to *.pdf . When installed in the 'Send To' menu the selected file(s) in 'Windows Explorer' are passed as a list of files to the office2pdf command and all given files are converted and saved as a separate PDF file.

If no file is specified, you are queried to select the file(s) by a open file box dialog where you then can select file(s) to be processed.

ENVIRONMENT

-

EXIT STATUS

0

no error.

1

files were skipped or conversion failed.

2

shortcut in 'SendTo' menu could not be removed.

4

usage message displayed.

5

program version printed.

6

program variant not known. This error occurs when the office2pdf command is renamed.

FILES

-

EXAMPLES

See: epub2mobi(1).

SEE ALSO

wintoolsintro(1), epub2mobi(1), config(1m), xps2pdf(1)

NOTES

The office2pdf command uses internally OfficeToPDF , a command that was developed by the 'Office To PDF' project members at http://officetopdf.codeplex.com/.

BUGS

Please note that the tool requires an installation of Office 2007, 2010, 2013 or 2016 to work.

AUTHOR

office2pdf was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:32 GMT, September 14, 2024

epub2mobi

TOC Index

NAME

epub2mobi - convert eBooks from ePUB to MOBI format

SYNOPSIS

WA2LWinTools/bin/epub2mobi [ -h | -i | -u | -V ]

epub2mobi [ -n ][ file... ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

convert one or more *.epub file(s) to *.mobi file(s).

The epub2mobi command provides a fast and efficient way to convert one or more ePUB eBooks to the MOBI file format that can be processed by the Kindle eBook reader from Amazon.

To convert eBook(s): mark them in the Windows™ Explorer, -> do a right click -> goto: 'Send to' -> select: 'epub2mobi'.

Each given file1.epub is converted to file1.mobi as long as the destination file ( file1.mobi ) does not exist already.

The epub2mobi command should be installed to the 'Send To' context menu in 'Microsoft™ Windows Explorer' for most convenient usage. To do so, invoke epub2mobi -i once.

OPTIONS

-h

usage message.

-i

install the epub2mobi command as menu point 'epub2mobi' to the 'Send To' context menu in 'Windows Explorer'.

-u

uninstall the epub2mobi shortcut from the 'Send To' context menu in 'Windows Explorer'.

-V

print program version.

-n

non interactive execution. This prevents the message box dialog at the end of the program execution. Using -n the epub2mobi command can be used in batch processing without any user intervention.

file...

list of *.epub files to convert to *.mobi . When installed in the 'Send To' menu the selected file(s) in 'Windows Explorer' are passed as a list of files to the epub2mobi command and all given ePUB files are converted and saved as a separate MOBI file.

If - is specified as file name, the file list is read from stdin (standard input).

If no file is specified, you are queried to select the file(s) by a open file box dialog where you then can select the file(s) to be processed.

ENVIRONMENT

-

EXIT STATUS

0

no error.

1

files were skipped or conversion failed.

2

shortcut in 'SendTo' menu could not be removed.

4

usage message displayed.

5

program version printed.

6

program variant not known. This error occurs when the epub2mobi command is renamed.

FILES

-

EXAMPLES

1) common usage: convert selected ePUB eBooks in a directory using the 'Send To' menu

This is the most convenient usage to convert one or more ePUB files to the MOBI eBook format.

start: Windows Explorer

-> browse: to your eBook directory

-> mark: *.epub files to be converted

-> right click

-> goto: 'Send to'

-> select: 'epub2mobi'

2) common usage: convert a single ePUB eBook starting epub2mobi thru the Windows™ 'Start' Menu

If the epub2mobi command was not installed to the 'Send To' context menu of Windows™ Explorer this method can be used to select and convert single ePUB eBooks to the MOBI format.

goto: Windows 'Start Menu'

-> goto: WA2LWinTools

-> start: 'epub2mobi'

-> select: *.epub file in file dialog

-> [ OK ]

3) common usage: convert a single ePUB eBook starting epub2mobi thru a double click on the epub2mobi command

If the epub2mobi command was not installed to the 'Send To' context menu of Windows™ Explorer and there is also not a 'Start Menu' configured for the WA2L/WinTools package, this method can be used to select and convert single ePUB eBooks to the MOBI format.

start: Windows Explorer

-> browse: to WA2LWinTools\bin\

-> start: epub2mobi

-> select: *.epub file in file dialog

-> [ OK ]

4) advanced usage: efficiently convert all ePUB books below a certain directory using the command line

The command line usage of the epub2mobi command provides some possibilities that allows some very efficient methods to convert eBooks.

Start wtshell or Console:

goto: Windows 'Start Menu'

-> goto: WA2LWinTools

-> start: wtshell or Console

[ C:\Users\fred\Desktop\WA2LWinTools\bin ]

[ fred@ACME ][*wtshell*/cmd]:

Change to the base directory where the ePUB books reside:

[ C:\Users\fred\Desktop\WA2LWinTools\bin ]

[ fred@ACME ][*wtshell*/cmd]: cd /d C:\Users\fred\Documents\my EBooks

List all ePUB books in that directory and in any directory below that (optional, this is only done to verify which books will be converted in the following step):

[ C:\Users\fred\Documents\my EBooks ]

[ fred@ACME ][*wtshell*/cmd]: dir /s /b *.epub

Convert all *.epub eBooks:

[ C:\Users\fred\Documents\my EBooks ]

[ fred@ACME ][*wtshell*/cmd]: dir /s /b *.epub | epub2mobi -

Alternatively you can also specify the path in the dir command as follows. Doing that you don't have to change to the directory first:

[ C:\Users\fred\Desktop\WA2LWinTools\bin ]

[ fred@ACME ][*wtshell*/cmd]:  dir /s /b "C:\Users\fred\Documents\my EBooks" *.epub | epub2mobi -

Quit the wtshell again:

[ C:\Users\fred\Documents\my EBooks ]

[ fred@ACME ][*wtshell*/cmd]: quit

SEE ALSO

wintoolsintro(1), config(1m), epub2mobi.cfg(4), office2pdf(1), ppt2png(1), xps2pdf(1), xps2png(1), https://www.amazon.com/gp/feature.html?docId=1000765211, http://sourceforge.net/projects/wa2l-wintools/

NOTES

The epub2mobi command uses internally ebook-convert from Calibre and (if conversion with Calibre failed or the Calibre conversion program ebook-convert.exe was not found on the system; see epub2mobi.cfg for details) KindleGen from Amazon to perform the eBook conversion.

Calibre is a powerful e-book management software developed by Kovid Goyal.

For more information about Calibre see: https://calibre-ebook.com/ .

The Calibre software is not bundled with WA2L/WinTools. Download it from: https://calibre-ebook.com/download_portable.

KindleGen is a command line tool which enables publishers to work in an automated environment with a variety of source content including HTML, XHTML or EPUB. KindleGen converts this source content to a single file which supports both KF8 and Mobi formats enabling publishers to create great-looking books that work on all Kindle devices and apps.

KindleGen is officially supported by Amazon to convert files to the Kindle format. Amazon recommends you to use KindleGen to create content that is compatible with all Kindle devices and apps. Files created with third-party software may not work properly on current or future Kindle devices and apps.

For more information about KindleGen see: https://www.amazon.com/gp/feature.html?docId=1000765211.

BUGS

On some eBooks the following error condition appears that prevents the ePUB eBook to be converted to MOBI:

Error(prcgen):E23006: Language not recognized in metadata.

The dc:Language field is mandatory. Aborting.

This condition was observed in version V2.9 build 1029-0897292 of Amazon kindlegen(Windows).

To nevertheless convert the ePUB e-Book to MOBI consider to install Calibre (see NOTES section) that will be used prior to the Kindlegen fallback to do the conversion.

AUTHOR

epub2mobi was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:05 GMT, September 14, 2024

epub2mobi.cfg

TOC Index

NAME

epub2mobi.cfg - configuration file for epub2mobi

SYNOPSIS

WA2LWinTools/etc/epub2mobi.cfg

AVAILABILITY

WA2L/WinTools

DESCRIPTION

This is the optional configuration file for the epub2mobi command.

FILEFORMAT

Rows starting with # are considered as comments.

The file format is OPTION=VALUE

Between the OPTION , the = and the VALUE are no spaces.

You can comment out any OPTION or completely remove the related setting line to use the default settings.

OPTIONS

EPUB2MOBI_CALIBRE_OPTIONS

set additional command line options for the ebook-convert command of Calibre that is internally used to create the mobi file from epub files if the conversion failed using the KindleGen command provided by Amazon™.

Internally the ebook-convert command is called as follows:

ebook-convert input.epub output.mobi EPUB2MOBI_CALIBRE_OPTIONS

Therefore the specified EPUB2MOBI_CALIBRE_OPTIONS are passed after the output.mobi file.

Example: EPUB2MOBI_CALIBRE_OPTIONS=--mobi-keep-original-images

Default: EPUB2MOBI_CALIBRE_OPTIONS=

EPUB2MOBI_CALIBRE_PATH

path to the ebook-convert.exe command of Calibre.

See also: NOTES section below.

In the EPUB2MOBI_CALIBRE_PATH setting the environment variables %USERNAME%, %USERPROFILE%, %ProgramFiles%, %ProgramFiles(x86)%, %APPDATA%, %INSTALLDIR%, and %INSTALLDRIVE% can be used.

Where the %INSTALLDIR% variable contains the install base directory of WA2L/WinTools and the %INSTALLDRIVE% the drive letter (including :)

Example: EPUB2MOBI_CALIBRE_PATH=%USERPROFILE%\Documents\bin\Calibre Portable\Calibre;%INSTALLDRIVE%\bin\Calibre Portable\Calibre

Default: EPUB2MOBI_CALIBRE_PATH=%INSTALLDIR%\..\Calibre Portable\Calibre;%ProgramFiles(x86)%\Calibre2;%ProgramFiles%\Calibre2;C:\Program Files\Calibre2

EXAMPLES

-

SEE ALSO

wintoolsintro(1), epub2mobi(1), https://manual.calibre-ebook.com/de/generated/de/ebook-convert.html, https://manual.calibre-ebook.com/en/generated/en/ebook-convert.html

NOTES

Calibre is not bundled with WA2L/WinTools and must therefore be installed separately somewhere on the system. A portable version can be downloaded from: https://calibre-ebook.com/download_portable.

BUGS

-

AUTHOR

epub2mobi.cfg was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION FILEFORMAT OPTIONS EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:05 GMT, September 14, 2024

ppt2png

TOC Index

NAME

ppt2png - save all slides of PowerPoint™ presentation(s) to separate image files

SYNOPSIS

WA2LWinTools/bin/ppt2png [ -h | -i | -u | -V ]

ppt2png [ file... ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

save each slide of PowerPoint™ presentation(s) to single image files ( *.png by default).

The image files have the identical name as the original presentation file with the slide number appended, as: Presentation File Name.pptx (Slide 07).png. The output file for a certain slide is only generated if there is not already a file with the same name existing.

The ppt2png command should be installed to the 'Send To' context menu in 'Microsoft™ Windows Explorer' for most convenient usage. To do so, invoke ppt2png -i once.

The default width of the PNG file produced is 1000 pixels. The image size can be changed by setting IMAGE_WIDTH=width or IMAGE_HEIGHT=height in the optional etc/ppt2png.cfg file.

OPTIONS

-h

usage message.

-i

install the ppt2png command as menu point 'ppt2png' to the 'Send To' context menu in 'Windows Explorer'.

-u

uninstall the ppt2png shortcut from the 'Send To' context menu in 'Windows Explorer'.

file...

list of *.pptx or *.ppt files to save the slides as images. When installed in the 'Send To' menu the selected file(s) in 'Windows Explorer' are passed as a list of files to the ppt2png command and all slides of all given presentation files are saved as separate image files.

If no file is specified, you are queried to select a file by a open file box dialog where you then can select one file to be processed.

ENVIRONMENT

-

EXIT STATUS

0

no error.

1

error occurred. See command output for more details. You have 120 seconds time to see the output of the command to identify the error condition(s).

4

usage message displayed.

5

version message displayed.

FILES

etc/ppt2png.cfg

optional configuration file for ppt2png. See: ppt2png.cfg(4) for more information.

lib/pagenumbers.pptx

test file containing numbered pages.

Copy this file to your working directory and play around with the ppt2png command.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), config(1m), xps2png(1), https://support.microsoft.com/de-ch/kb/827745, https://support.microsoft.com/en-gb/kb/827745

NOTES

If you have the pleasure to use a managed IT environment where your PC is maintained by your organization, you might notice that you are not able to export PowerPoint™ slides in higher resolutions as the default because you are not allowed to change the registry.

With ppt2png you can pass this hurdle, because now you can generate images with higher resolution/size by editing the etc/ppt2png.cfg configuration file and you don't need to touch the registry.

See also https://support.microsoft.com/de-ch/kb/827745 or https://support.microsoft.com/en-gb/kb/827745 regarding the change of the exporting resolution in PowerPoint™ by editing the registry.

BUGS

while processing the presentation files, ppt2png starts a visible PowerPoint™ application window; please do not touch the started application, else it interferes with the export process.

AUTHOR

ppt2png was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:42 GMT, September 14, 2024

ppt2png.cfg

TOC Index

NAME

ppt2png.cfg - configuration file for ppt2png

SYNOPSIS

WA2LWinTools/etc/ppt2png.cfg

AVAILABILITY

WA2L/WinTools

DESCRIPTION

This is the optional configuration file for the ppt2png command.

FILEFORMAT

Rows starting with # are considered as comments.

The file format is OPTION=VALUE

Between the OPTION , the = and the VALUE are no spaces.

You can comment out any OPTION or completely remove the related setting line to use the default settings.

OPTIONS

IMAGE_WIDTH

set the width in pixels of the image file created.

If this setting is not set, the width is calculated using the given IMAGE_HEIGHT of the output file and the page size of the PowerPoint™ presentation to keep the aspect ratio.

Example: IMAGE_WIDTH=800

Default: IMAGE_WIDTH=2000

IMAGE_HEIGHT

set the height in pixels of the image file created.

If this setting is set to 0 or is not set, the height is calculated using the given IMAGE_WIDTH of the output file and the page size of the PowerPoint™ presentation to keep the aspect ratio.

Example: IMAGE_HEIGHT=800

Default: IMAGE_HEIGHT=0

IMAGE_FORMAT

set the output image format. Possible settings are: png, jpg, jpeg, bmp, gif.

Example: IMAGE_FORMAT=bmp

Default: IMAGE_FORMAT=png

EXAMPLES

1) Simple example configuration file

#

# WA2LWinTools/etc/ppt2png.cfg - Configuration file for ppt2png

#

# [00] 17.11.2016 CWa   Initial Version

#

IMAGE_WIDTH=3000

IMAGE_HEIGHT=2250

SEE ALSO

wintoolsintro(1), ppt2jpg(1), ppt2jpg.cfg(4), ppt2png(1)

NOTES

-

BUGS

-

AUTHOR

ppt2png.cfg was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION FILEFORMAT OPTIONS EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:43 GMT, September 14, 2024

ppt2jpg

TOC Index

NAME

ppt2jpg - save all slides of PowerPoint™ presentation(s) to separate image (.jpg) files

SYNOPSIS

WA2LWinTools/bin/ppt2jpg [ -h | -i | -u | -V ]

ppt2jpg [ file... ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

save each slide of PowerPoint™ presentation(s) to single image files ( *.jpg by default).

The image files have the identical name as the original presentation file with the slide number appended, as: Presentation File Name.pptx (Slide 07).jpg. The output file for a certain slide is only generated if there is not already a file with the same name existing.

The ppt2jpg command should be installed to the 'Send To' context menu in 'Microsoft™ Windows Explorer' for most convenient usage. To do so, invoke ppt2jpg -i once.

The default width of the JPG file produced is 2000 pixels. The image size can be changed by setting IMAGE_WIDTH=width or IMAGE_HEIGHT=height in the optional etc/ppt2jpg.cfg file.

OPTIONS

-h

usage message.

-i

install the ppt2jpg command as menu point 'ppt2jpg' to the 'Send To' context menu in 'Windows Explorer'.

-u

uninstall the ppt2jpg shortcut from the 'Send To' context menu in 'Windows Explorer'.

file...

list of *.pptx or *.ppt files to save the slides as images. When installed in the 'Send To' menu the selected file(s) in 'Windows Explorer' are passed as a list of files to the ppt2jpg command and all slides of all given presentation files are saved as separate image files.

If no file is specified, you are queried to select a file by a open file box dialog where you then can select one file to be processed.

ENVIRONMENT

-

EXIT STATUS

0

no error.

1

error occurred. See command output for more details. You have 120 seconds time to see the output of the command to identify the error condition(s).

4

usage message displayed.

5

version message displayed.

FILES

etc/ppt2jpg.cfg

optional configuration file for ppt2jpg. See: ppt2jpg.cfg(4) for more information.

lib/pagenumbers.pptx

test file containing numbered pages.

Copy this file to your working directory and play around with the ppt2jpg command.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), config(1m), ppt2jpg.cfg(4), ppt2png(1), xps2png(1), https://support.microsoft.com/de-ch/kb/827745, https://support.microsoft.com/en-gb/kb/827745

NOTES

If you have the pleasure to use a managed IT environment where your PC is maintained by your organization, you might notice that you are not able to export PowerPoint™ slides in higher resolutions as the default because you are not allowed to change the registry.

With ppt2jpg you can pass this hurdle, because now you can generate images with higher resolution/size by editing the etc/ppt2jpg.cfg configuration file and you don't need to touch the registry.

See also https://support.microsoft.com/de-ch/kb/827745 or https://support.microsoft.com/en-gb/kb/827745 regarding the change of the exporting resolution in PowerPoint™ by editing the registry.

BUGS

while processing the presentation files, ppt2jpg starts a visible PowerPoint™ application window; please do not touch the started application, else it interferes with the export process.

AUTHOR

ppt2jpg was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2022 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:41 GMT, September 14, 2024

ppt2jpg.cfg

TOC Index

NAME

ppt2jpg.cfg - configuration file for ppt2jpg

SYNOPSIS

WA2LWinTools/etc/ppt2jpg.cfg

AVAILABILITY

WA2L/WinTools

DESCRIPTION

This is the optional configuration file for the ppt2jpg command.

FILEFORMAT

Rows starting with # are considered as comments.

The file format is OPTION=VALUE

Between the OPTION , the = and the VALUE are no spaces.

You can comment out any OPTION or completely remove the related setting line to use the default settings.

OPTIONS

IMAGE_WIDTH

set the width in pixels of the image file created.

If this setting is not set, the width is calculated using the given IMAGE_HEIGHT of the output file and the page size of the PowerPoint™ presentation to keep the aspect ratio.

Example: IMAGE_WIDTH=800

Default: IMAGE_WIDTH=2000

IMAGE_HEIGHT

set the height in pixels of the image file created.

If this setting is set to 0 or is not set, the height is calculated using the given IMAGE_WIDTH of the output file and the page size of the PowerPoint™ presentation to keep the aspect ratio.

Example: IMAGE_HEIGHT=800

Default: IMAGE_HEIGHT=0

IMAGE_FORMAT

set the output image format. Possible settings are: png, jpg, jpeg, bmp, gif.

Example: IMAGE_FORMAT=gif

Default: IMAGE_FORMAT=jpg

EXAMPLES

1) Simple example configuration file

#

# WA2LWinTools/etc/ppt2jpg.cfg - Configuration file for ppt2jpg

#

# [00] 12.03.2022 CWa   Initial Version

#

IMAGE_WIDTH=3000

IMAGE_HEIGHT=2250

SEE ALSO

wintoolsintro(1), ppt2jpg(1), ppt2png(1), ppt2png.cfg(4)

NOTES

-

BUGS

-

AUTHOR

ppt2jpg.cfg was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2022 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION FILEFORMAT OPTIONS EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:42 GMT, September 14, 2024

xps2png

TOC Index

NAME

xps2png - convert XPS files to PNG

SYNOPSIS

WA2LWinTools/bin/xps2png [ -h | -i | -u | -V ]

xps2png [ -n ][ file... ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

convert one or more *.xps file(s) to *.png file(s).

Each given file1.xps is converted to file1.png as long as the destination file ( file1.png ) does not exist already.

The xps2png command should be installed to the 'Send To' context menu in 'Microsoft™ Windows Explorer' for most convenient usage. To do so, invoke xps2png -i once.

The default resolution of the PNG file produced is 300 DPI. The resolution can be changed by setting XPS2PNG_RESOLUTION=resolution in the optional etc/xps2png.cfg file.

OPTIONS

-h

usage message.

-i

install the xps2png command as menu point 'xps2png' to the 'Send To' context menu in 'Windows Explorer'.

-u

uninstall the xps2png shortcut from the 'Send To' context menu in 'Windows Explorer'.

-V

print program version.

-n

non interactive execution. This prevents the message box dialog at the end of the program execution. Using -n the xps2png command can be used in batch processing without any user intervention.

file...

list of *.xps files to convert to *.png . When installed in the 'Send To' menu the selected file(s) in 'Windows Explorer' are passed as a list of files to the xps2png command and all given XPS files are converted and saved as a separate PDF file.

If no file is specified, you are queried to select the file(s) by a open file box dialog where you then can select file(s) to be processed.

ENVIRONMENT

-

EXIT STATUS

0

no error.

1

files were skipped or conversion failed.

2

shortcut in 'SendTo' menu could not be removed.

4

usage message displayed.

5

program version printed.

6

program variant not known. This error occurs when the xps2png command is renamed.

FILES

etc/xps2png.cfg

optional configuration file for xps2png. See: xps2png.cfg(4) for more information.

EXAMPLES

See: epub2mobi(1).

SEE ALSO

wintoolsintro(1), epub2mobi(1), config(1m), xps2pdf(1), xps2png.cfg(4)

NOTES

The xps2png command uses internally gxps , a command that is part of GhostXPS, an implementation of the Microsoft™ XPS document format built on top of Ghostscript.

For more information about gxps and GhostXPS, see: http://www.ghostscript.com/GhostXPS.html .

BUGS

-

AUTHOR

xps2png was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:33:26 GMT, September 14, 2024

xps2png.cfg

TOC Index

NAME

xps2png.cfg - configuration file for xps2png

SYNOPSIS

WA2LWinTools/etc/xps2png.cfg

AVAILABILITY

WA2L/WinTools

DESCRIPTION

This is the optional configuration file for the xps2png command.

FILEFORMAT

Rows starting with # are considered as comments.

The file format is OPTION=VALUE

Between the OPTION , the = and the VALUE are no spaces.

You can comment out any OPTION or completely remove the related setting line to use the default settings.

OPTIONS

XPS2PNG_RESOLUTION

set the resolution in DPI (Dots Per Inch) of the PNG file created.

Example: XPS2PNG_RESOLUTION=600

Default: XPS2PNG_RESOLUTION=300

EXAMPLES

1) Simple example configuration file

#

# WA2LWinTools/etc/xps2png.cfg - Configuration file for xps2png

#

# [00] 07.11.2015 CWa   Initial Version

#

XPS2PNG_RESOLUTION=600

SEE ALSO

wintoolsintro(1), xps2png(1)

NOTES

-

BUGS

-

AUTHOR

xps2png.cfg was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION FILEFORMAT OPTIONS EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:33:26 GMT, September 14, 2024

xps2pdf

TOC Index

NAME

xps2pdf - convert XPS files to PDF

SYNOPSIS

WA2LWinTools/bin/xps2pdf [ -h | -i | -u | -V ]

xps2pdf ] -n ][ file... ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

convert one or more *.xps file(s) to *.pdf file(s).

Each given file1.xps is converted to file1.pdf as long as the destination file ( file1.pdf ) does not exist already.

The xps2pdf command should be installed to the 'Send To' context menu in 'Microsoft™ Windows Explorer' for most convenient usage. To do so, invoke xps2pdf -i once.

OPTIONS

-h

usage message.

-i

install the xps2pdf command as menu point 'xps2pdf' to the 'Send To' context menu in 'Windows Explorer'.

-u

uninstall the xps2pdf shortcut from the 'Send To' context menu in 'Windows Explorer'.

-V

print program version.

file...

list of *.xps files to convert to *.pdf . When installed in the 'Send To' menu the selected file(s) in 'Windows Explorer' are passed as a list of files to the xps2pdf command and all given XPS files are converted and saved as a separate PDF file.

If no file is specified, you are queried to select the file(s) by a open file box dialog where you then can select file(s) to be processed.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage message displayed.

5

program version printed.

6

program variant not known. This error occurs when the xps2pdf command is renamed.

FILES

-

EXAMPLES

See: epub2mobi(1).

SEE ALSO

wintoolsintro(1), epub2mobi(1), config(1m), xps2png(1)

NOTES

The xps2pdf command uses internally gxps , a command that is part of GhostXPS, an implementation of the Microsoft™ XPS document format built on top of Ghostscript.

For more information about gxps and GhostXPS, see: http://www.ghostscript.com/GhostXPS.html .

BUGS

-

AUTHOR

xps2pdf was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:33:26 GMT, September 14, 2024

azw2epub

TOC Index

NAME

azw2epub - convert files from AZW and AZW3 to ePUB eBook format

SYNOPSIS

WA2LWinTools/bin/azw2epub [ -h | -i | -u | -V ]

azw2epub [ -n ][ file... ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

convert one or more *.azw or *.azw3 file(s) to *.epub file(s).

The azw2epub command provides a fast and efficient way to convert one or more AZW or AZW3 files to the ePUB eBook file format that can be read by many eBook readers.

To convert AZW(s): mark them in the Windows™ Explorer, -> do a right click -> goto: 'Send to' -> select: 'azw2epub'.

Each given file1.azw3 is converted to file1.epub as long as the destination file ( file1.epub ) does not exist already.

The azw2epub command should be installed to the 'Send To' context menu in 'Microsoft™ Windows Explorer' for most convenient usage. To do so, invoke azw2epub -i once.

OPTIONS

-h

usage message.

-i

install the azw2epub command as menu point 'azw2epub' to the 'Send To' context menu in 'Windows Explorer'.

-u

uninstall the azw2epub shortcut from the 'Send To' context menu in 'Windows Explorer'.

-V

print program version.

-n

non interactive execution. This prevents the message box dialog at the end of the program execution. Using -n the azw2epub command can be used in batch processing without any user intervention.

file...

list of *.azw or *.azw3 files to convert to *.epub . When installed in the 'Send To' menu the selected file(s) in 'Windows Explorer' are passed as a list of files to the azw2epub command and all given AZW files are converted and saved as a separate ePUB file.

If - is specified as file name, the file list is read from stdin (standard input).

If no file is specified, you are queried to select the file(s) by a open file box dialog where you then can select file(s) to be processed.

ENVIRONMENT

-

EXIT STATUS

0

no error.

1

files were skipped or conversion failed.

2

shortcut in 'SendTo' menu could not be removed.

4

usage message displayed.

5

program version printed.

6

program variant not known. This error occurs when the azw2epub command is renamed.

FILES

etc/azw2epub.cfg

optional configuration file for azw2epub. See: azw2epub.cfg(4) for more information.

EXAMPLES

See: epub2mobi(1).

SEE ALSO

wintoolsintro(1), config(1m), epub2mobi(1), azw2epub.cfg(4)

NOTES

The azw2epub command uses internally ebook-convert from Calibre to perform the eBook conversion.

Calibre is not bundled with WA2L/WinTools and must therefore be installed separately somewhere on the system. A portable version can be downloaded from: https://calibre-ebook.com/download_portable.

For more information about Calibre see: https://calibre-ebook.com/

BUGS

-

AUTHOR

azw2epub was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:31:43 GMT, September 14, 2024

azw2epub.cfg

TOC Index

NAME

azw2epub.cfg - configuration file for azw2epub

SYNOPSIS

WA2LWinTools/etc/azw2epub.cfg

AVAILABILITY

WA2L/WinTools

DESCRIPTION

This is the optional configuration file for the azw2epub command.

FILEFORMAT

Rows starting with # are considered as comments.

The file format is OPTION=VALUE

Between the OPTION , the = and the VALUE are no spaces.

You can comment out any OPTION or completely remove the related setting line to use the default settings.

OPTIONS

AZW2EPUB_CALIBRE_OPTIONS

set additional command line options for the ebook-convert command of Calibre that is internally used to create the ePUB file from AZW or AZW3 files.

Internally the ebook-convert command is called as follows:

ebook-convert input.azw3 output.epub AZW2EPUB_CALIBRE_OPTIONS

Therefore the specified AZW2EPUB_CALIBRE_OPTIONS are passed after the output.epub file.

Example: AZW2EPUB_CALIBRE_OPTIONS=--enable-heuristics

Default: AZW2EPUB_CALIBRE_OPTIONS=

AZW2EPUB_CALIBRE_PATH

path to the ebook-convert.exe command of Calibre.

See also: NOTES section below.

In the AZW2EPUB_CALIBRE_PATH setting the environment variables %USERNAME%, %USERPROFILE%, %ProgramFiles%, %ProgramFiles(x86)%, %APPDATA%, %INSTALLDIR%, and %INSTALLDRIVE% can be used.

Where the %INSTALLDIR% variable contains the install base directory of WA2L/WinTools and the %INSTALLDRIVE% the drive letter (including :)

Example: AZW2EPUB_CALIBRE_PATH=%USERPROFILE%\Documents\bin\Calibre Portable\Calibre;%INSTALLDRIVE%\bin\Calibre Portable\Calibre

Default: AZW2EPUB_CALIBRE_PATH=%INSTALLDIR%\..\Calibre Portable\Calibre;%ProgramFiles(x86)%\Calibre2;%ProgramFiles%\Calibre2;C:\Program Files\Calibre2

EXAMPLES

-

SEE ALSO

wintoolsintro(1), azw2epub(1), https://manual.calibre-ebook.com/de/generated/de/ebook-convert.html, https://manual.calibre-ebook.com/en/generated/en/ebook-convert.html

NOTES

Calibre is not bundled with WA2L/WinTools and must therefore be installed separately somewhere on the system. A portable version can be downloaded from: https://calibre-ebook.com/download_portable.

BUGS

-

AUTHOR

azw2epub.cfg was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION FILEFORMAT OPTIONS EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:31:44 GMT, September 14, 2024

azw2mobi

TOC Index

NAME

azw2mobi - convert files from AZW and AZW3 to MOBI eBook format

SYNOPSIS

WA2LWinTools/bin/azw2mobi [ -h | -i | -u | -V ]

azw2mobi [ -n ][ file... ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

convert one or more *.azw or *.azw3 file(s) to *.mobi file(s).

The azw2mobi command provides a fast and efficient way to convert one or more AZW or AZW3 files to the MOBI eBook file format that can be read by many eBook readers.

To convert AZW(s): mark them in the Windows™ Explorer, -> do a right click -> goto: 'Send to' -> select: 'azw2mobi'.

Each given file1.azw3 is converted to file1.mobi as long as the destination file ( file1.mobi ) does not exist already.

The azw2mobi command should be installed to the 'Send To' context menu in 'Microsoft™ Windows Explorer' for most convenient usage. To do so, invoke azw2mobi -i once.

OPTIONS

-h

usage message.

-i

install the azw2mobi command as menu point 'azw2mobi' to the 'Send To' context menu in 'Windows Explorer'.

-u

uninstall the azw2mobi shortcut from the 'Send To' context menu in 'Windows Explorer'.

-V

print program version.

-n

non interactive execution. This prevents the message box dialog at the end of the program execution. Using -n the azw2mobi command can be used in batch processing without any user intervention.

file...

list of *.azw or *.azw3 files to convert to *.mobi . When installed in the 'Send To' menu the selected file(s) in 'Windows Explorer' are passed as a list of files to the azw2mobi command and all given AZW files are converted and saved as a separate MOBI file.

If - is specified as file name, the file list is read from stdin (standard input).

If no file is specified, you are queried to select the file(s) by a open file box dialog where you then can select file(s) to be processed.

ENVIRONMENT

-

EXIT STATUS

0

no error.

1

files were skipped or conversion failed.

2

shortcut in 'SendTo' menu could not be removed.

4

usage message displayed.

5

program version printed.

6

program variant not known. This error occurs when the azw2mobi command is renamed.

FILES

etc/azw2mobi.cfg

optional configuration file for azw2mobi. See: azw2mobi.cfg(4) for more information.

EXAMPLES

See: epub2mobi(1).

SEE ALSO

wintoolsintro(1), config(1m), epub2mobi(1), azw2mobi.cfg(4)

NOTES

The azw2mobi command uses internally ebook-convert from Calibre to perform the eBook conversion.

Calibre is not bundled with WA2L/WinTools and must therefore be installed separately somewhere on the system. A portable version can be downloaded from: https://calibre-ebook.com/download_portable.

For more information about Calibre see: https://calibre-ebook.com/

BUGS

-

AUTHOR

azw2mobi was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:31:44 GMT, September 14, 2024

azw2mobi.cfg

TOC Index

NAME

azw2mobi.cfg - configuration file for azw2mobi

SYNOPSIS

WA2LWinTools/etc/azw2mobi.cfg

AVAILABILITY

WA2L/WinTools

DESCRIPTION

This is the optional configuration file for the azw2mobi command.

FILEFORMAT

Rows starting with # are considered as comments.

The file format is OPTION=VALUE

Between the OPTION , the = and the VALUE are no spaces.

You can comment out any OPTION or completely remove the related setting line to use the default settings.

OPTIONS

AZW2MOBI_CALIBRE_OPTIONS

set additional command line options for the ebook-convert command of Calibre that is internally used to create the MOBI file from AZW or AZW3 files.

Internally the ebook-convert command is called as follows:

ebook-convert input.azw3 output.mobi AZW2MOBI_CALIBRE_OPTIONS

Therefore the specified AZW2MOBI_CALIBRE_OPTIONS are passed after the output.mobi file.

Example: AZW2MOBI_CALIBRE_OPTIONS=--enable-heuristics

Default: AZW2MOBI_CALIBRE_OPTIONS=

AZW2MOBI_CALIBRE_PATH

path to the ebook-convert.exe command of Calibre.

See also: NOTES section below.

In the AZW2MOBI_CALIBRE_PATH setting the environment variables %USERNAME%, %USERPROFILE%, %ProgramFiles%, %ProgramFiles(x86)%, %APPDATA%, %INSTALLDIR%, and %INSTALLDRIVE% can be used.

Where the %INSTALLDIR% variable contains the install base directory of WA2L/WinTools and the %INSTALLDRIVE% the drive letter (including :)

Example: AZW2MOBI_CALIBRE_PATH=%USERPROFILE%\Documents\bin\Calibre Portable\Calibre;%INSTALLDRIVE%\bin\Calibre Portable\Calibre

Default: AZW2MOBI_CALIBRE_PATH=%INSTALLDIR%\..\Calibre Portable\Calibre;%ProgramFiles(x86)%\Calibre2;%ProgramFiles%\Calibre2;C:\Program Files\Calibre2

EXAMPLES

-

SEE ALSO

wintoolsintro(1), azw2mobi(1), https://manual.calibre-ebook.com/de/generated/de/ebook-convert.html, https://manual.calibre-ebook.com/en/generated/en/ebook-convert.html

NOTES

Calibre is not bundled with WA2L/WinTools and must therefore be installed separately somewhere on the system. A portable version can be downloaded from: https://calibre-ebook.com/download_portable.

BUGS

-

AUTHOR

azw2mobi.cfg was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION FILEFORMAT OPTIONS EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:31:45 GMT, September 14, 2024

mobi2epub

TOC Index

NAME

mobi2epub - convert eBooks from MOBI to ePUB format

SYNOPSIS

WA2LWinTools/bin/mobi2epub [ -h | -i | -u | -V ]

mobi2epub [ -n ][ file... ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

convert one or more *.mobi file(s) to *.epub file(s).

The mobi2epub command provides a fast and efficient way to convert one or more MOBI eBooks to the ePUB file format that can be processed by many eBook readers.

To convert eBook(s): mark them in the Windows™ Explorer, -> do a right click -> goto: 'Send to' -> select: 'mobi2epub'.

Each given file1.mobi is converted to file1.epub as long as the destination file ( file1.epub ) does not exist already.

The mobi2epub command should be installed to the 'Send To' context menu in 'Microsoft™ Windows Explorer' for most convenient usage. To do so, invoke mobi2epub -i once.

OPTIONS

-h

usage message.

-i

install the mobi2epub command as menu point 'mobi2epub' to the 'Send To' context menu in 'Windows Explorer'.

-u

uninstall the mobi2epub shortcut from the 'Send To' context menu in 'Windows Explorer'.

-V

print program version.

-n

non interactive execution. This prevents the message box dialog at the end of the program execution. Using -n the mobi2epub command can be used in batch processing without any user intervention.

file...

list of *.mobi files to convert to *.epub . When installed in the 'Send To' menu the selected file(s) in 'Windows Explorer' are passed as a list of files to the mobi2epub command and all given ePUB files are converted and saved as a separate MOBI file.

If - is specified as file name, the file list is read from stdin (standard input).

If no file is specified, you are queried to select the file(s) by a open file box dialog where you then can select the file(s) to be processed.

ENVIRONMENT

-

EXIT STATUS

0

no error.

1

files were skipped or conversion failed.

2

shortcut in 'SendTo' menu could not be removed.

4

usage message displayed.

5

program version printed.

6

program variant not known. This error occurs when the mobi2epub command is renamed.

FILES

etc/mobi2epub.cfg

optional configuration file for the mobi2epub command.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), config(1m), epub2mobi(4), mobi2epub.cfg(4), https://www.amazon.com/gp/feature.html?docId=1000765211, http://sourceforge.net/projects/wa2l-wintools/

NOTES

The mobi2epub command uses internally ebook-convert from Calibre.

Calibre is a powerful e-book management software developed by Kovid Goyal.

For more information about Calibre see: https://calibre-ebook.com/ .

The Calibre software is not bundled with WA2L/WinTools. Download it from: https://calibre-ebook.com/download_portable.

BUGS

-

AUTHOR

mobi2epub was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:26 GMT, September 14, 2024

mobi2epub.cfg

TOC Index

NAME

mobi2epub.cfg - configuration file for mobi2epub

SYNOPSIS

WA2LWinTools/etc/mobi2epub.cfg

AVAILABILITY

WA2L/WinTools

DESCRIPTION

This is the optional configuration file for the mobi2epub command.

FILEFORMAT

Rows starting with # are considered as comments.

The file format is OPTION=VALUE

Between the OPTION , the = and the VALUE are no spaces.

You can comment out any OPTION or completely remove the related setting line to use the default settings.

OPTIONS

MOBI2EPUB_CALIBRE_OPTIONS

set additional command line options for the ebook-convert command of Calibre that is internally used to create the epub file from mobi files.

Internally the ebook-convert command is called as follows:

ebook-convert input.mobi output.epub MOBI2EPUB_CALIBRE_OPTIONS

Therefore the specified MOBI2EPUB_CALIBRE_OPTIONS are passed after the output.epub file.

Example: MOBI2EPUB_CALIBRE_OPTIONS=--mobi-keep-original-images

Default: MOBI2EPUB_CALIBRE_OPTIONS=

MOBI2EPUB_CALIBRE_PATH

path to the ebook-convert.exe command of Calibre.

See also: NOTES section below.

In the MOBI2EPUB_CALIBRE_PATH setting the environment variables %USERNAME%, %USERPROFILE%, %ProgramFiles%, %ProgramFiles(x86)%, %APPDATA%, %INSTALLDIR%, and %INSTALLDRIVE% can be used.

Where the %INSTALLDIR% variable contains the install base directory of WA2L/WinTools and the %INSTALLDRIVE% the drive letter (including :)

Example: MOBI2MOBI_CALIBRE_PATH=%USERPROFILE%\Documents\bin\Calibre Portable\Calibre;%INSTALLDRIVE%\bin\Calibre Portable\Calibre

Default: MOBI2MOBI_CALIBRE_PATH=%INSTALLDIR%\..\Calibre Portable\Calibre;%ProgramFiles(x86)%\Calibre2;%ProgramFiles%\Calibre2;C:\Program Files\Calibre2

EXAMPLES

-

SEE ALSO

wintoolsintro(1), epub2mobi(1), mobi2epub(1), https://manual.calibre-ebook.com/de/generated/de/ebook-convert.html, https://manual.calibre-ebook.com/en/generated/en/ebook-convert.html

NOTES

Calibre is not bundled with WA2L/WinTools and must therefore be installed separately somewhere on the system. A portable version can be downloaded from: https://calibre-ebook.com/download_portable.

BUGS

-

AUTHOR

mobi2epub.cfg was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION FILEFORMAT OPTIONS EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:26 GMT, September 14, 2024

pdf2png

TOC Index

NAME

pdf2png - convert SVG files to PNG

SYNOPSIS

WA2LWinTools/bin/pdf2png [ -h | -i | -u | -V ]

pdf2png [ -n ][ file... ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

convert one or more *.pdf file(s) to *.png file(s).

Each given file1.pdf is converted to file1.png as long as the destination file ( file1.png ) does not exist already.

The pdf2png command should be installed to the 'Send To' context menu in 'Microsoft™ Windows Explorer' for most convenient usage. To do so, invoke pdf2png -i once respectively select the 'File conversion' checkbox in the config(1m) command.

To change the default command line options of the convert(3) command that is internally used to perform the conversion do this by specifying those options in the PDF2PNG_OPTIONS=options setting in the optional etc/pdf2png.cfg file.

OPTIONS

-h

usage message.

-i

install the pdf2png command as menu point 'pdf2png' to the 'Send To' context menu in 'Windows Explorer'.

-u

uninstall the pdf2png shortcut from the 'Send To' context menu in 'Windows Explorer'.

-V

print program version.

-n

non interactive execution. This prevents the message box dialog at the end of the program execution. Using -n the pdf2png command can be used in batch processing without any user intervention.

file...

list of *.pdf files to convert to *.png . When installed in the 'Send To' menu the selected file(s) in 'Windows Explorer' are passed as a list of files to the pdf2png command and all given PDF files are converted and saved as a separate PNG file.

If no file is specified, you are queried to select the file(s) by a open file box dialog where you then can select one file(s) to be processed.

ENVIRONMENT

-

EXIT STATUS

0

no error.

1

files were skipped or conversion failed.

2

shortcut in 'Send To' menu could not be removed.

4

usage message displayed.

5

program version printed.

6

program variant not known. This error occurs when the pdf2png command is renamed.

FILES

etc/pdf2png.cfg

optional configuration file for pdf2png. See: pdf2png.cfg(4) for more information.

EXAMPLES

See: epub2mobi(1).

SEE ALSO

wintoolsintro(1), epub2mobi(1), config(1m), pdf2png.cfg(4), xps2pdf(1), xps2png(1), https://www.imagemagick.org/script/convert.php

NOTES

The pdf2png command uses internally convert, a command that is part of the ImageMagick™ package.

For more information about convert and ImageMagick, see: https://www.imagemagick.org/script/convert.php .

BUGS

-

AUTHOR

pdf2png was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:36 GMT, September 14, 2024

convert

TOC Index

NAME

convert - convert between image formats as well as resize an image, blur, crop, despeckle, dither, draw on, flip, join, re-sample, and much more.

SYNOPSIS

convert [input-option] input-file [output-option] output-file

OVERVIEW

The convert program is a member of the ImageMagick(1) suite of tools. Use it to convert between image formats as well as resize an image, blur, crop, despeckle, dither, draw on, flip, join, re-sample, and much more.

For more information about the convert command, point your browser to file:///usr/share/doc/ImageMagick-6/www/convert.html or http://www.imagemagick.org/script/convert.php.

DESCRIPTION

Image Settings:

-adjoin              join images into a single multi-image file

-affine matrix       affine transform matrix

-alpha option        activate, deactivate, reset, or set the alpha channel

-antialias           remove pixel-aliasing

-authenticate value  decrypt image with this password

-attenuate value     lessen (or intensify) when adding noise to an image

-background color    background color

-bias value          add bias when convolving an image

-black-point-compensation

use black point compensation

-blue-primary point  chromaticity blue primary point

-bordercolor color   border color

-caption string      assign a caption to an image

-cdl filename        color correct with a color decision list

-channel type        apply option to select image channels

-clip                clip along the first path from the 8BIM profile

-clip-mask filename  associate a clip mask with the image

-clip-path id        clip along a named path from the 8BIM profile

-colors value        preferred number of colors in the image

-colorspace type     alternate image colorspace

-comment string      annotate image with comment

-compose operator    set image composite operator

-compress type       type of pixel compression when writing the image

-decipher filename   convert cipher pixels to plain pixels

-define format:option

define one or more image format options

-delay value         display the next image after pausing

-density geometry    horizontal and vertical density of the image

-depth value         image depth

-direction type      render text right-to-left or left-to-right

-display server      get image or font from this X server

-dispose method      layer disposal method

-dither method       apply error diffusion to image

-encipher filename   convert plain pixels to cipher pixels

-encoding type       text encoding type

-endian type         endianness (MSB or LSB) of the image

-family name         render text with this font family

-features distance   analyze image features (e.g. contrast, correlation)

-fill color          color to use when filling a graphic primitive

-filter type         use this filter when resizing an image

-flatten             flatten a sequence of images

-font name           render text with this font

-format "string"     output formatted image characteristics

-fuzz distance       colors within this distance are considered equal

-gravity type        horizontal and vertical text placement

-green-primary point chromaticity green primary point

-intensity method    method to generate intensity value from pixel

-intent type         type of rendering intent when managing the image color

-interlace type      type of image interlacing scheme

-interline-spacing value

set the space between two text lines

-interpolate method  pixel color interpolation method

-interword-spacing value

set the space between two words

-kerning value       set the space between two letters

-label string        assign a label to an image

-limit type value    pixel cache resource limit

-loop iterations     add Netscape loop extension to your GIF animation

-mask filename       associate a mask with the image

-matte               store matte channel if the image has one

-mattecolor color    frame color

-metric type         measure differences between images with this metric

-moments             report image moments

-monitor             monitor progress

-orient type         image orientation

-page geometry       size and location of an image canvas (setting)

-ping                efficiently determine image attributes

-pointsize value     font point size

-precision value     maximum number of significant digits to print

-preview type        image preview type

-quality value       JPEG/MIFF/PNG compression level

-quiet               suppress all warning messages

-red-primary point   chromaticity red primary point

-regard-warnings     pay attention to warning messages

-remap filename      transform image colors to match this set of colors

-respect-parentheses settings remain in effect until parenthesis boundary

-sampling-factor geometry

horizontal and vertical sampling factor

-scene value         image scene number

-seed value          seed a new sequence of pseudo-random numbers

-size geometry       width and height of image

-statistic type geometry

replace each pixel with corresponding statistic from the neighborhood

-stretch type        render text with this font stretch

-stroke color        graphic primitive stroke color

-strokewidth value   graphic primitive stroke width

-style type          render text with this font style

-support factor      resize support: > 1.0 is blurry, < 1.0 is sharp

-synchronize         synchronize image to storage device

-taint               declare the image as modified

-texture filename    name of texture to tile onto the image background

-tile-offset geometry

tile offset

-treedepth value     color tree depth

-transparent-color color

transparent color

-undercolor color    annotation bounding box color

-units type          the units of image resolution

-verbose             print detailed information about the image

-view                FlashPix viewing transforms

-virtual-pixel method

virtual pixel access method

-weight type         render text with this font weight

-white-point point   chromaticity white point

Image Operators:

-adaptive-blur geometry

adaptively blur pixels; decrease effect near edges

-adaptive-resize geometry

adaptively resize image with data dependent triangulation

-adaptive-sharpen geometry

adaptively sharpen pixels; increase effect near edges

-annotate geometry text

annotate the image with text

-auto-gamma          automagically adjust gamma level of image

-auto-level          automagically adjust color levels of image

-auto-orient         automatically orient image

-bench iterations    measure performance

-black-threshold value

force all pixels below the threshold into black

-blue-shift factor   simulate a scene at nighttime in the moonlight

-blur geometry       reduce image noise and reduce detail levels

-border geometry     surround image with a border of color

-brightness-contrast geometry

improve brightness / contrast of the image

-canny geometry      detect edges in the image

-charcoal radius     simulate a charcoal drawing

-chop geometry       remove pixels from the image interior

-clamp               keep pixel values in range (0-QuantumRange)

-clip                clip along the first path from the 8BIM profile

-clip-mask filename  associate a clip mask with the image

-clip-path id        clip along a named path from the 8BIM profile

-colorize value      colorize the image with the fill color

-color-matrix matrix apply color correction to the image

-connected-component connectivity

connected-components uniquely labeled

-contrast            enhance or reduce the image contrast

-contrast-stretch geometry

improve contrast by `stretching' the intensity range

-convolve coefficients

apply a convolution kernel to the image

-cycle amount        cycle the image colormap

-deskew threshold    straighten an image

-despeckle           reduce the speckles within an image

-distort method args

distort images according to given method ad args

-draw string         annotate the image with a graphic primitive

-edge radius         apply a filter to detect edges in the image

-emboss radius       emboss an image

-enhance             apply a digital filter to enhance a noisy image

-equalize            perform histogram equalization to an image

-evaluate operator value

evaluate an arithmetic, relational, or logical expression

-extent geometry     set the image size

-extract geometry    extract area from image

-fft                 implements the discrete Fourier transform (DFT)

-flip                flip image vertically

-floodfill geometry color

floodfill the image with color

-flop                flop image horizontally

-frame geometry      surround image with an ornamental border

-function name       apply a function to the image

-gamma value         level of gamma correction

-gaussian-blur geometry

reduce image noise and reduce detail levels

-geometry geometry   preferred size or location of the image

-grayscale method    convert image to grayscale

-hough-lines geometry

identify lines in the image

-identify            identify the format and characteristics of the image

-ift                 implements the inverse discrete Fourier transform (DFT)

-implode amount      implode image pixels about the center

-interpolative-resize geometry

resize image using 'point sampled' interpolation

-lat geometry        local adaptive thresholding

-layers method       optimize or compare image layers

-level value         adjust the level of image contrast

-level-colors color,color

level image with the given colors

-linear-stretch geometry

improve contrast by `stretching with saturation' the intensity range

-liquid-rescale geometry

rescale image with seam-carving

-magnify             double the size of the image with pixel art scaling

-mean-shift geometry delineate arbitrarily shaped clusters in the image

-median geometry     apply a median filter to the image

-mode geometry       make each pixel the 'predominant color' of the neighborhood

-modulate value      vary the brightness, saturation, and hue

-monochrome          transform image to black and white

-morphology method kernel

apply a morphology method to the image

-motion-blur geometry

simulate motion blur

-negate              replace each pixel with its complementary color

-noise geometry      add or reduce noise in an image

-normalize           transform image to span the full range of colors

-opaque color        change this color to the fill color

-ordered-dither NxN

add a noise pattern to the image with specific amplitudes

-paint radius        simulate an oil painting

-perceptible epsilon

pixel value less than |epsilon| become epsilon or -epsilon

-polaroid angle      simulate a Polaroid picture

-posterize levels    reduce the image to a limited number of color levels

-print string        interpret string and print to console

-profile filename    add, delete, or apply an image profile

-quantize colorspace reduce colors in this colorspace

-radial-blur angle   radial blur the image

-raise value         lighten/darken image edges to create a 3-D effect

-random-threshold low,high

random threshold the image

-region geometry     apply options to a portion of the image

-render              render vector graphics

-repage geometry     size and location of an image canvas

-resample geometry   change the resolution of an image

-resize geometry     resize the image

-roll geometry       roll an image vertically or horizontally

-rotate degrees      apply Paeth rotation to the image

-sample geometry     scale image with pixel sampling

-scale geometry      scale the image

-segment values      segment an image

-selective-blur geometry

selectively blur pixels within a contrast threshold

-sepia-tone threshold

simulate a sepia-toned photo

-set property value  set an image property

-shade degrees       shade the image using a distant light source

-shadow geometry     simulate an image shadow

-sharpen geometry    sharpen the image

-shave geometry      shave pixels from the image edges

-shear geometry      slide one edge of the image along the X or Y axis

-sigmoidal-contrast geometry

lightness rescaling using sigmoidal contrast enhancement

-sketch geometry     simulate a pencil sketch

-solarize threshold  negate all pixels above the threshold level

-sparse-color method args

fill in a image based on a few color points

-splice geometry     splice the background color into the image

-spread amount       displace image pixels by a random amount

-strip               strip image of all profiles and comments

-swirl degrees       swirl image pixels about the center

-threshold value     threshold the image

-thumbnail geometry  create a thumbnail of the image

-tile filename       tile image when filling a graphic primitive

-tint value          tint the image with the fill color

-transform           affine transform image

-transparent color   make this color transparent within the image

-transpose           flip image vertically and rotate 90 degrees

-transverse          flop image horizontally and rotate 270 degrees

-trim                trim image edges

-type type           image type

-unique-colors       discard all but one of any pixel color

-unsharp geometry    sharpen the image

-vignette geometry   soften the edges of the image in vignette style

-wave geometry       alter an image along a sine wave

-white-threshold value

force all pixels above the threshold into white

Image Sequence Operators:

-append              append an image sequence top to bottom (use +append for left to right)

-clut                apply a color lookup table to the image

-coalesce            merge a sequence of images

-combine             combine a sequence of images

-compare             mathematically and visually annotate the difference between an image and its reconstruction

-complex operator    perform complex mathematics on an image sequence

-composite           composite image

-crop geometry       cut out a rectangular region of the image

-deconstruct         break down an image sequence into constituent parts

-evaluate-sequence operator

evaluate an arithmetic, relational, or logical expression

-flatten             flatten a sequence of images

-fx expression       apply mathematical expression to an image channel(s)

-hald-clut           apply a Hald color lookup table to the image

-morph value         morph an image sequence

-mosaic              create a mosaic from an image sequence

-poly terms          build a polynomial from the image sequence and the corresponding terms (coefficients and degree pairs)

-process arguments   process the image with a custom image filter

-separate            separate an image channel into a grayscale image

-smush geometry      smush an image sequence together

-write filename      write images to this file

Image Stack Operators:

-clone indexes       clone an image

-delete indexes      delete the image from the image sequence

-duplicate count,indexes

duplicate an image one or more times

-insert index        insert last image into the image sequence

-reverse             reverse image sequence

-swap indexes        swap two images in the image sequence

Miscellaneous Options:

-debug events        display copious debugging information

-distribute-cache port

distributed pixel cache spanning one or more servers

-help                print program options

-log format          format of debugging information

-list type           print a list of supported option arguments

-version             print version information

Use any setting or operator as an output-option. Only a limited number of setting are input-option. They include: -antialias, -caption, -density, -define, -encoding, -font, -pointsize, -size, and -texture as well as any of the miscellaneous options.

By default, the image format of `file' is determined by its magic number. To specify a particular image format, precede the filename with an image format name and a colon (i.e. ps:image) or specify the image type as the filename suffix (i.e. image.ps). Specify 'file' as '-' for standard input or output.

SEE ALSO

wintoolsintro(1), svg2png(1), svg2png.cfg(4)

COPYRIGHT

Copyright (C) 1999-2014 ImageMagick Studio LLC. Additional copyrights and licenses apply to this software, see file:///usr/share/doc/ImageMagick-6/www/license.html or http://www.imagemagick.org/script/license.php

NAME SYNOPSIS OVERVIEW DESCRIPTION SEE ALSO COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:31:54 GMT, September 14, 2024

svg2png

TOC Index

NAME

svg2png - convert SVG files to PNG

SYNOPSIS

WA2LWinTools/bin/svg2png [ -h | -i | -u | -V ]

svg2png [ -n ][ file... ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

convert one or more *.svg file(s) to *.png file(s).

Each given file1.svg is converted to file1.png as long as the destination file ( file1.png ) does not exist already.

The svg2png command should be installed to the 'Send To' context menu in 'Microsoft™ Windows Explorer' for most convenient usage. To do so, invoke svg2png -i once.

To change the default command line options of the convert(3) command that is internally used to perform the conversion do this by specifying those options in the SVG2PNG_OPTIONS=options setting in the optional etc/svg2png.cfg file.

OPTIONS

-h

usage message.

-i

install the svg2png command as menu point 'svg2png' to the 'Send To' context menu in 'Windows Explorer'.

-u

uninstall the svg2png shortcut from the 'Send To' context menu in 'Windows Explorer'.

-V

print program version.

-n

non interactive execution. This prevents the message box dialog at the end of the program execution. Using -n the svg2png command can be used in batch processing without any user intervention.

file...

list of *.svg files to convert to *.png . When installed in the 'Send To' menu the selected file(s) in 'Windows Explorer' are passed as a list of files to the svg2png command and all given SVG files are converted and saved as a separate PDF file.

If no file is specified, you are queried to select the file(s) by a open file box dialog where you then can select one file(s) to be processed.

ENVIRONMENT

-

EXIT STATUS

0

no error.

1

files were skipped or conversion failed.

2

shortcut in 'SendTo' menu could not be removed.

4

usage message displayed.

5

program version printed.

6

program variant not known. This error occurs when the svg2png command is renamed.

FILES

etc/svg2png.cfg

optional configuration file for svg2png. See: svg2png.cfg(4) for more information.

EXAMPLES

See: epub2mobi(1).

SEE ALSO

wintoolsintro(1), epub2mobi(1), config(1m), svg2png.cfg(4), xps2pdf(1), xps2png(1), https://www.imagemagick.org/script/convert.php

NOTES

The svg2png command uses internally convert, a command that is part of the ImageMagick™ package.

For more information about convert and ImageMagick, see: https://www.imagemagick.org/script/convert.php .

BUGS

-

AUTHOR

svg2png was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:33:06 GMT, September 14, 2024

svg2png.cfg

TOC Index

NAME

svg2png.cfg - configuration file for svg2png

SYNOPSIS

WA2LWinTools/etc/svg2png.cfg

AVAILABILITY

WA2L/WinTools

DESCRIPTION

This is the optional configuration file for the svg2png command.

FILEFORMAT

Rows starting with # are considered as comments.

The file format is OPTION=VALUE

Between the OPTION , the = and the VALUE are no spaces.

You can comment out any OPTION or completely remove the related setting line to use the default settings.

OPTIONS

SVG2PNG_OPTIONS

set the command line options for the convert(3) command that is internally used to create the PNG file from SVG files.

Internally the convert command is called as follows:

convert input.svg SVG2PNG_OPTIONS output.png

Therefore the specified SVG2PNG_OPTIONS are passed between the input.svg and the output.png files.

Example: SVG2PNG_OPTIONS=-transparent white -geometry x200

Default: SVG2PNG_OPTIONS=

EXAMPLES

1) Scale an image in %

#

# WA2LWinTools/etc/svg2png.cfg - Configuration file for svg2png

#

# [00] 28.03.2017 CWa   Initial Version

#

# scale image to 25%

# and replace white with transparent background:

#

SVG2PNG_OPTIONS=-scale 25% -transparent white

2) Scale an image to a certain height

#

# WA2LWinTools/etc/svg2png.cfg - Configuration file for svg2png

#

# [00] 28.03.2017 CWa   Initial Version

#

# scale image to a height of 200 pixels with the same aspect ratio

# and replace white with transparent background:

#

SVG2PNG_OPTIONS=-geometry x200 -transparent white

3) Rotate an image by 90 degrees

#

# WA2LWinTools/etc/svg2png.cfg - Configuration file for svg2png

#

# [00] 28.03.2017 CWa   Initial Version

#

# rotate image by 90 degrees (clockwise)

# and replace white with transparent background:

#

SVG2PNG_OPTIONS=-rotate 90 -transparent white

SEE ALSO

wintoolsintro(1), svg2png(1), http://www.imagemagick.org/script/index.php, http://www.imagemagick.org/script/command-line-options.php, http://www.imagemagick.org/script/convert.php

NOTES

-

BUGS

-

AUTHOR

svg2png.cfg was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION FILEFORMAT OPTIONS EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:33:06 GMT, September 14, 2024

pdf2png.cfg

TOC Index

NAME

pdf2png.cfg - configuration file for pdf2png

SYNOPSIS

WA2LWinTools/etc/pdf2png.cfg

AVAILABILITY

WA2L/WinTools

DESCRIPTION

This is the optional configuration file for the pdf2png command.

FILEFORMAT

Rows starting with # are considered as comments.

The file format is OPTION=VALUE

Between the OPTION , the = and the VALUE are no spaces.

You can comment out any OPTION or completely remove the related setting line to use the default settings.

OPTIONS

PDF2PNG_OPTIONS

set the command line options for the convert(3) command that is internally used to create the PNG file from PDF files.

Internally the convert command is called as follows:

convert PDF2PNG_OPTIONS input.pdf output.png

Therefore the specified PDF2PNG_OPTIONS are passed before the input.pdf file.

Example: PDF2PNG_OPTIONS=-density 300

Default: PDF2PNG_OPTIONS=-density 400 -resize 25%

EXAMPLES

-

SEE ALSO

wintoolsintro(1), pdf2png(1), http://www.imagemagick.org/script/index.php, http://www.imagemagick.org/script/command-line-options.php, http://www.imagemagick.org/script/convert.php

NOTES

-

BUGS

-

AUTHOR

pdf2png.cfg was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION FILEFORMAT OPTIONS EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:36 GMT, September 14, 2024

pdf2ppt

TOC Index

NAME

pdf2ppt - convert PDF files to PowerPoint (PPT) presentations

SYNOPSIS

WA2LWinTools/bin/pdf2ppt [ -h | -i | -u | -V ]

pdf2ppt [ -n ][ file... ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

convert one or more *.pdf file(s) to *.ppt file(s).

Each given file1.pdf is converted to file1.ppt as long as the destination file ( file1.ppt ) does not exist already.

The pdf2ppt command should be installed to the 'Send To' context menu in 'Microsoft™ Windows Explorer' for most convenient usage. To do so, invoke pdf2ppt -i once.

To perform the conversion 'Microsoft™ PowerPoint' has to be installed on the system.

OPTIONS

-h

usage message.

-i

install the pdf2ppt command as menu point 'pdf2ppt' to the 'Send To' context menu in 'Windows Explorer'.

-u

uninstall the pdf2ppt shortcut from the 'Send To' context menu in 'Windows Explorer'.

-V

print program version.

-n

non interactive execution. This prevents the message box dialog at the end of the program execution. Using -n the pdf2ppt command can be used in batch processing without any user intervention.

file...

list of *.pdf files to convert to *.ppt . When installed in the 'Send To' menu the selected file(s) in 'Windows Explorer' are passed as a list of files to the pdf2ppt command and all given SVG files are converted and saved as a separate PDF file.

If no file is specified, you are queried to select the file(s) by a open file box dialog where you then can select file(s) to be processed.

ENVIRONMENT

-

EXIT STATUS

0

no error.

1

files were skipped or conversion failed.

2

shortcut in 'SendTo' menu could not be removed.

4

usage message displayed.

5

program version printed.

6

program variant not known. This error occurs when the pdf2ppt command is renamed.

FILES

-

EXAMPLES

See: epub2mobi(1).

SEE ALSO

wintoolsintro(1), epub2mobi(1), config(1m), xps2pdf(1), xps2png(1), http://soft.rubypdf.com/software/pdf2ppt/pdf2ppt-acrobat-free

NOTES

To perform the conversion 'Microsoft™ PowerPoint' has to be installed on the system.

The pdf2ppt command uses internally pdf2ppt - Acrobat Free developed by Steven Lee, RubyPdf Technologies, <rocsky@gmail.com>.

For more information see: http://soft.rubypdf.com/software/pdf2ppt/pdf2ppt-acrobat-free

BUGS

while processing the presentation files, pdf2ppt starts a visible PowerPoint™ application window; please do not touch the started application, else it might interfere with the export process.

AUTHOR

pdf2ppt was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:37 GMT, September 14, 2024

pdf2mobi

TOC Index

NAME

pdf2mobi - convert files from PDF to MOBI eBook format

SYNOPSIS

WA2LWinTools/bin/pdf2mobi [ -h | -i | -u | -V ]

pdf2mobi [ -n ][ file... ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

convert one or more *.pdf file(s) to *.mobi file(s).

The pdf2mobi command provides a fast and efficient way to convert one or more PDF files to the MOBI eBook file format that can be read by the Kindle™ eBook reader.

To convert PDF(s): mark them in the Windows™ Explorer, -> do a right click -> goto: 'Send to' -> select: 'pdf2mobi'.

Each given file1.pdf is converted to file1.mobi as long as the destination file ( file1.mobi ) does not exist already.

The pdf2mobi command should be installed to the 'Send To' context menu in 'Microsoft™ Windows Explorer' for most convenient usage. To do so, invoke pdf2mobi -i once.

OPTIONS

-h

usage message.

-i

install the pdf2mobi command as menu point 'pdf2mobi' to the 'Send To' context menu in 'Windows Explorer'.

-u

uninstall the pdf2mobi shortcut from the 'Send To' context menu in 'Windows Explorer'.

-V

print program version.

-n

non interactive execution. This prevents the message box dialog at the end of the program execution. Using -n the pdf2mobi command can be used in batch processing without any user intervention.

file...

list of *.pdf files to convert to *.mobi . When installed in the 'Send To' menu the selected file(s) in 'Windows Explorer' are passed as a list of files to the pdf2mobi command and all given PDF files are converted and saved as a separate MOBI file.

If - is specified as file name, the file list is read from stdin (standard input).

If no file is specified, you are queried to select the file(s) by a open file box dialog where you then can select file(s) to be processed.

ENVIRONMENT

-

EXIT STATUS

0

no error.

1

files were skipped or conversion failed.

2

shortcut in 'SendTo' menu could not be removed.

4

usage message displayed.

5

program version printed.

6

program variant not known. This error occurs when the pdf2mobi command is renamed.

FILES

etc/pdf2mobi.cfg

optional configuration file for pdf2mobi. See: pdf2mobi.cfg(4) for more information.

EXAMPLES

See: epub2mobi(1).

SEE ALSO

wintoolsintro(1), config(1m), epub2mobi(1), pdf2mobi.cfg(4)

NOTES

The pdf2mobi command uses internally ebook-convert from Calibre to perform the eBook conversion.

Calibre is not bundled with WA2L/WinTools and must therefore be installed separately somewhere on the system. A portable version can be downloaded from: https://calibre-ebook.com/download_portable.

For more information about Calibre see: https://calibre-ebook.com/

BUGS

-

AUTHOR

pdf2mobi was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:35 GMT, September 14, 2024

pdf2mobi.cfg

TOC Index

NAME

pdf2mobi.cfg - configuration file for pdf2mobi

SYNOPSIS

WA2LWinTools/etc/pdf2mobi.cfg

AVAILABILITY

WA2L/WinTools

DESCRIPTION

This is the optional configuration file for the pdf2mobi command.

FILEFORMAT

Rows starting with # are considered as comments.

The file format is OPTION=VALUE

Between the OPTION , the = and the VALUE are no spaces.

You can comment out any OPTION or completely remove the related setting line to use the default settings.

OPTIONS

PDF2MOBI_CALIBRE_OPTIONS

set additional command line options for the ebook-convert command of Calibre that is internally used to create the MOBI file from PDF files.

Internally the ebook-convert command is called as follows:

ebook-convert input.pdf output.mobi PDF2MOBI_CALIBRE_OPTIONS

Therefore the specified PDF2MOBI_CALIBRE_OPTIONS are passed after the output.mobi file.

Example: PDF2MOBI_CALIBRE_OPTIONS=--enable-heuristics

Default: PDF2MOBI_CALIBRE_OPTIONS=

PDF2MOBI_CALIBRE_PATH

path to the ebook-convert.exe command of Calibre.

See also: NOTES section below.

In the PDF2MOBI_CALIBRE_PATH setting the environment variables %USERNAME%, %USERPROFILE%, %ProgramFiles%, %ProgramFiles(x86)%, %APPDATA%, %INSTALLDIR%, and %INSTALLDRIVE% can be used.

Where the %INSTALLDIR% variable contains the install base directory of WA2L/WinTools and the %INSTALLDRIVE% the drive letter (including :)

Example: PDF2MOBI_CALIBRE_PATH=%USERPROFILE%\Documents\bin\Calibre Portable\Calibre;%INSTALLDRIVE%\bin\Calibre Portable\Calibre

Default: PDF2MOBI_CALIBRE_PATH=%INSTALLDIR%\..\Calibre Portable\Calibre;%ProgramFiles(x86)%\Calibre2;%ProgramFiles%\Calibre2;C:\Program Files\Calibre2

EXAMPLES

-

SEE ALSO

wintoolsintro(1), pdf2mobi(1), https://manual.calibre-ebook.com/de/generated/de/ebook-convert.html, https://manual.calibre-ebook.com/en/generated/en/ebook-convert.html

NOTES

Calibre is not bundled with WA2L/WinTools and must therefore be installed separately somewhere on the system. A portable version can be downloaded from: https://calibre-ebook.com/download_portable.

BUGS

-

AUTHOR

pdf2mobi.cfg was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION FILEFORMAT OPTIONS EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:35 GMT, September 14, 2024

png2jpg

TOC Index

NAME

png2jpg - convert PNG files to JPG

SYNOPSIS

WA2LWinTools/bin/png2jpg [ -h | -i | -u | -V ]

png2jpg [ -n ][ file... ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

convert one or more *.png file(s) to *.jpg file(s).

Each given file1.png is converted to file1.jpg as long as the destination file ( file1.jpg ) does not exist already.

The png2jpg command should be installed to the 'Send To' context menu in 'Microsoft™ Windows Explorer' for most convenient usage. To do so, invoke png2jpg -i once.

To change the default command line options of the convert(3) command that is internally used to perform the conversion do this by specifying those options in the PNG2JPG_OPTIONS=options setting in the optional etc/png2jpg.cfg file.

OPTIONS

-h

usage message.

-i

install the png2jpg command as menu point 'png2jpg' to the 'Send To' context menu in 'Windows Explorer'.

-u

uninstall the png2jpg shortcut from the 'Send To' context menu in 'Windows Explorer'.

-V

print program version.

-n

non interactive execution. This prevents the message box dialog at the end of the program execution. Using -n the png2jpg command can be used in batch processing without any user intervention.

file...

list of *.png files to convert to *.jpg . When installed in the 'Send To' menu the selected file(s) in 'Windows Explorer' are passed as a list of files to the png2jpg command and all given PNG files are converted and saved as a separate JPG file.

If no file is specified, you are queried to select the file(s) by a open file box dialog where you then can select one file(s) to be processed.

ENVIRONMENT

-

EXIT STATUS

0

no error.

1

files were skipped or conversion failed.

2

shortcut in 'SendTo' menu could not be removed.

4

usage message displayed.

5

program version printed.

6

program variant not known. This error occurs when the png2jpg command is renamed.

FILES

etc/png2jpg.cfg

optional configuration file for png2jpg. See: png2jpg.cfg(4) for more information.

EXAMPLES

See: epub2mobi(1).

SEE ALSO

wintoolsintro(1), epub2mobi(1), config(1m), png2jpg.cfg(4), xps2pdf(1), xps2png(1), https://www.imagemagick.org/script/convert.php

NOTES

The png2jpg command uses internally convert, a command that is part of the ImageMagick™ package.

For more information about convert and ImageMagick, see: https://www.imagemagick.org/script/convert.php .

BUGS

-

AUTHOR

png2jpg was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:40 GMT, September 14, 2024

png2jpg.cfg

TOC Index

NAME

png2jpg.cfg - configuration file for png2jpg

SYNOPSIS

WA2LWinTools/etc/png2jpg.cfg

AVAILABILITY

WA2L/WinTools

DESCRIPTION

This is the optional configuration file for the png2jpg command.

FILEFORMAT

Rows starting with # are considered as comments.

The file format is OPTION=VALUE

Between the OPTION , the = and the VALUE are no spaces.

You can comment out any OPTION or completely remove the related setting line to use the default settings.

OPTIONS

PNG2JPG_OPTIONS

set the command line options for the convert(3) command that is internally used to create the PNG file from PNG files.

Internally the convert command is called as follows:

convert input.png PNG2JPG_OPTIONS output.jpg

Therefore the specified PNG2JPG_OPTIONS are passed between the input.png and the output.jpg files.

Example: PNG2JPG_OPTIONS=-geometry x200

Default: PNG2JPG_OPTIONS=

EXAMPLES

-

SEE ALSO

wintoolsintro(1), png2jpg(1), http://www.imagemagick.org/script/index.php, http://www.imagemagick.org/script/command-line-options.php, http://www.imagemagick.org/script/convert.php

NOTES

-

BUGS

-

AUTHOR

png2jpg.cfg was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION FILEFORMAT OPTIONS EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:41 GMT, September 14, 2024

pdf2epub

TOC Index

NAME

pdf2epub - convert files from PDF to ePUB eBook format

SYNOPSIS

WA2LWinTools/bin/pdf2epub [ -h | -i | -u | -V ]

pdf2epub [ -n ][ file... ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

convert one or more *.pdf file(s) to *.epub file(s).

The pdf2epub command provides a fast and efficient way to convert one or more PDF files to the ePUB eBook file format that can be read by many eBook readers.

To convert PDF(s): mark them in the Windows™ Explorer, -> do a right click -> goto: 'Send to' -> select: 'pdf2epub'.

Each given file1.pdf is converted to file1.epub as long as the destination file ( file1.epub ) does not exist already.

The pdf2epub command should be installed to the 'Send To' context menu in 'Microsoft™ Windows Explorer' for most convenient usage. To do so, invoke pdf2epub -i once.

OPTIONS

-h

usage message.

-i

install the pdf2epub command as menu point 'pdf2epub' to the 'Send To' context menu in 'Windows Explorer'.

-u

uninstall the pdf2epub shortcut from the 'Send To' context menu in 'Windows Explorer'.

-V

print program version.

-n

non interactive execution. This prevents the message box dialog at the end of the program execution. Using -n the pdf2epub command can be used in batch processing without any user intervention.

file...

list of *.pdf files to convert to *.epub . When installed in the 'Send To' menu the selected file(s) in 'Windows Explorer' are passed as a list of files to the pdf2epub command and all given PDF files are converted and saved as a separate ePUB file.

If - is specified as file name, the file list is read from stdin (standard input).

If no file is specified, you are queried to select the file(s) by a open file box dialog where you then can select file(s) to be processed.

ENVIRONMENT

-

EXIT STATUS

0

no error.

1

files were skipped or conversion failed.

2

shortcut in 'SendTo' menu could not be removed.

4

usage message displayed.

5

program version printed.

6

program variant not known. This error occurs when the pdf2epub command is renamed.

FILES

etc/pdf2epub.cfg

optional configuration file for pdf2epub. See: pdf2epub.cfg(4) for more information.

EXAMPLES

See: epub2mobi(1).

SEE ALSO

wintoolsintro(1), config(1m), epub2mobi(1), pdf2epub.cfg(4)

NOTES

The pdf2epub command uses internally ebook-convert from Calibre to perform the eBook conversion.

Calibre is not bundled with WA2L/WinTools and must therefore be installed separately somewhere on the system. A portable version can be downloaded from: https://calibre-ebook.com/download_portable.

For more information about Calibre see: https://calibre-ebook.com/

BUGS

-

AUTHOR

pdf2epub was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:34 GMT, September 14, 2024

pdf2epub.cfg

TOC Index

NAME

pdf2epub.cfg - configuration file for pdf2epub

SYNOPSIS

WA2LWinTools/etc/pdf2epub.cfg

AVAILABILITY

WA2L/WinTools

DESCRIPTION

This is the optional configuration file for the pdf2epub command.

FILEFORMAT

Rows starting with # are considered as comments.

The file format is OPTION=VALUE

Between the OPTION , the = and the VALUE are no spaces.

You can comment out any OPTION or completely remove the related setting line to use the default settings.

OPTIONS

PDF2EPUB_CALIBRE_OPTIONS

set additional command line options for the ebook-convert command of Calibre that is internally used to create the ePUB file from PDF files.

Internally the ebook-convert command is called as follows:

ebook-convert input.pdf output.epub PDF2EPUB_CALIBRE_OPTIONS

Therefore the specified PDF2EPUB_CALIBRE_OPTIONS are passed after the output.epub file.

Example: PDF2EPUB_CALIBRE_OPTIONS=--enable-heuristics

Default: PDF2EPUB_CALIBRE_OPTIONS=

PDF2EPUB_CALIBRE_PATH

path to the ebook-convert.exe command of Calibre.

See also: NOTES section below.

In the PDF2EPUB_CALIBRE_PATH setting the environment variables %USERNAME%, %USERPROFILE%, %ProgramFiles%, %ProgramFiles(x86)%, %APPDATA%, %INSTALLDIR%, and %INSTALLDRIVE% can be used.

Where the %INSTALLDIR% variable contains the install base directory of WA2L/WinTools and the %INSTALLDRIVE% the drive letter (including :)

Example: PDF2EPUB_CALIBRE_PATH=%USERPROFILE%\Documents\bin\Calibre Portable\Calibre;%INSTALLDRIVE%\bin\Calibre Portable\Calibre

Default: PDF2EPUB_CALIBRE_PATH=%INSTALLDIR%\..\Calibre Portable\Calibre;%ProgramFiles(x86)%\Calibre2;%ProgramFiles%\Calibre2;C:\Program Files\Calibre2

EXAMPLES

-

SEE ALSO

wintoolsintro(1), pdf2epub(1), https://manual.calibre-ebook.com/de/generated/de/ebook-convert.html, https://manual.calibre-ebook.com/en/generated/en/ebook-convert.html

NOTES

Calibre is not bundled with WA2L/WinTools and must therefore be installed separately somewhere on the system. A portable version can be downloaded from: https://calibre-ebook.com/download_portable.

BUGS

-

AUTHOR

pdf2epub.cfg was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION FILEFORMAT OPTIONS EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:35 GMT, September 14, 2024

RemoveExternalLinks

TOC Index

NAME

RemoveExternalLinks - remove external links from Excel workbooks

SYNOPSIS

WA2LWinTools/bin/RemoveExternalLinks [ -h | -i | -u | -V ]

RemoveExternalLinks [ file... ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

The RemoveExternalLinks removes external links from Excel™ files.

This utility helps when the removal of external links in Excel™ using:

Excel → Data → Edit Links → Break Link

is not successful.

The RemoveExternalLinks command needs Excel to repair the Excel file after removal of the external links.

Each given file1.xlsx is saved to file1 (<number>).xlsx . The <number> is incremented until no destination file already exists.

Normally the RemoveExternalLinks can fix and save the processed Excel file automatically. If this is not possible the Excel program is started loading the modified file and the repair and save actions have to be executed interactively.

When the Excel command is not found on the system, specify the search path to Excel.exe in the EXCEL_PATH=path1;path2;... setting in the optional configuration file etc/RemoveExternalLinks.cfg.

The RemoveExternalLinks command should be installed to the 'Send To' context menu in 'Microsoft™ Windows Explorer' for most convenient usage. To do so, invoke RemoveExternalLinks -i once, respectively select the related checkbox in the config(1m) command.

OPTIONS

-h

usage message.

-i

install the RemoveExternalLinks command as menu point 'RemoveExternalLinks' to the 'Send To' context menu in 'Windows Explorer'.

-u

uninstall the RemoveExternalLinks shortcut from the 'Send To' context menu in 'Windows Explorer'.

-V

print program version.

file...

list of *.xlsx, *.xlsm, *.xltx, or *.xltm files to remove the external links from.

When installed in the 'Send To' menu the selected file(s) in 'Windows Explorer' are passed as a list of files to the RemoveExternalLinks command and in all given Excel files the external links (if existing) are removed and the modified file is saved as a new Excel file.

If no file is specified, you are queried to select the file(s) by an open file box dialog.

ENVIRONMENT

-

EXIT STATUS

0

no error.

1

files were skipped or conversion failed.

2

shortcut in 'Send To' menu could not be removed.

4

usage message displayed.

5

program version printed.

6

program variant not known. This error occurs when the RemoveExternalLinks command is renamed.

FILES

etc/RemoveExternalLinks.cfg

optional configuration file for RemoveExternalLinks. See: removeexternallinks.cfg(4) for more information.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), config(1m), removeexternallinks.cfg(4)

NOTES

-

BUGS

The RemoveExternalLinks command needs Microsoft™ Office (respectively Excel) to be installed on the system.

Sometimes the file repair of Excel resulted in a loss of formatting in the Excel workbook. Therefore please review the repaired file after save.

AUTHOR

RemoveExternalLinks was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:52 GMT, September 14, 2024

RemoveExternalLinks.cfg

TOC Index

NAME

RemoveExternalLinks.cfg - configuration file for RemoveExternalLinks

SYNOPSIS

WA2LWinTools/etc/RemoveExternalLinks.cfg

AVAILABILITY

WA2L/WinTools

DESCRIPTION

This is the optional configuration file for the RemoveExternalLinks command.

FILEFORMAT

Rows starting with # are considered as comments.

The file format is OPTION=VALUE

Between the OPTION , the = and the VALUE are no spaces.

You can comment out any OPTION or completely remove the related setting line to use the default settings.

OPTIONS

EXCEL_PATH

The EXCEL_PATH can be specified as a semicolon (;) separated list of directories if there are more possibilities to find the Excel.exe command on the system(s).

The path specified in EXCEL_PATH=path is pre-pended to the system %PATH% variable.

Example: EXCEL_PATH=%ProgramFiles(x86)%Microsoft OfficeOffice17

Default: EXCEL_PATH=%ProgramFiles(x86)%Microsoft OfficeOffice16;%ProgramFiles(x86)%Microsoft OfficeOffice15;%ProgramFiles(x86)%Microsoft OfficeOffice14

EXAMPLES

1) Simple example configuration file

#

# RemoveExternalLinks.cfg - Configuration file for RemoveExternalLinks

#

# [00] 12.03.2019 CWa   Initial Version

#

EXCEL_PATH=%ProgramFiles(x86)%Microsoft OfficeOffice17

SEE ALSO

wintoolsintro(1), removeexternallinks(1)

NOTES

-

BUGS

-

AUTHOR

RemoveExternalLinks.cfg was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION FILEFORMAT OPTIONS EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:52 GMT, September 14, 2024

wav2mp3

TOC Index

NAME

wav2mp3 - convert WAV music files to MP3

SYNOPSIS

WA2LWinTools/bin/wav2mp3 [ -h | -i | -u | -V ]

wav2mp3 [ -n ][ file... ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

convert one or more *.wav file(s) to *.mp3 file(s).

Each given file1.wav is converted to file1.mp3 as long as the destination file ( file1.mp3 ) does not exist already.

The wav2mp3 command should be installed to the 'Send To' context menu in 'Microsoft™ Windows Explorer' for most convenient usage. To do so, invoke wav2mp3 -i once.

OPTIONS

-h

usage message.

-i

install the wav2mp3 command as menu point 'wav2mp3' to the 'Send To' context menu in 'Windows Explorer'.

-u

uninstall the wav2mp3 shortcut from the 'Send To' context menu in 'Windows Explorer'.

-V

print program version.

file...

list of *.wav files to convert to *.mp3 . When installed in the 'Send To' menu the selected file(s) in 'Windows Explorer' are passed as a list of files to the wav2mp3 command and all given WAV files are converted and saved as separate MP3 files.

If no file is specified, you are queried to select the file(s) by a open file box dialog where you then can select file(s) to be processed.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage message displayed.

5

program version printed.

6

program variant not known. This error occurs when the wav2mp3 command is renamed.

FILES

-

EXAMPLES

See: epub2mobi(1).

SEE ALSO

wintoolsintro(1), config(1m), epub2mobi(1), lame(3), mp3cutter(1), wav2mp3.cfg(4)

NOTES

The wav2mp3 command uses internally lame, a command from the 'LAME Project'.

For more information about lame see http://lame.sourceforge.net/ or https://github.com/Chocobo1/lame_win32-build/releases.

BUGS

The program screen output does not look that clean as desired.

AUTHOR

wav2mp3 was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:33:16 GMT, September 14, 2024

lame

TOC Index

NAME

lame - create mp3 audio files

SYNOPSIS

lame [options] <infile> <outfile>

DESCRIPTION

LAME is a program which can be used to create compressed audio files. (Lame ain't an MP3 encoder). These audio files can be played back by popular MP3 players such as mpg123 or madplay. To read from stdin, use "-" for <infile>. To write to stdout, use "-" for <outfile>.

OPTIONS

Input options:

-r

Assume the input file is raw pcm. Sampling rate and mono/stereo/jstereo must be specified on the command line. For each stereo sample, LAME expects the input data to be ordered left channel first, then right channel. By default, LAME expects them to be signed integers with a bitwidth of 16. Without -r, LAME will perform several fseek()'s on the input file looking for WAV and AIFF headers.

Might not be available on your release.

-x

Swap bytes in the input file or output file when using --decode.

For sorting out little endian/big endian type problems. If your encodings sounds like static, try this first.

Without using -x, LAME will treat input file as native endian.

-s sfreq

sfreq = 8/11.025/12/16/22.05/24/32/44.1/48

Required only for raw PCM input files. Otherwise it will be determined from the header of the input file.

LAME will automatically resample the input file to one of the supported MP3 samplerates if necessary.

--bitwidth n

Input bit width per sample.

n = 8, 16, 24, 32 (default 16)

Required only for raw PCM input files. Otherwise it will be determined from the header of the input file.

--signed

Instructs LAME that the samples from the input are signed (the default for 16, 24 and 32 bits raw pcm data).

Required only for raw PCM input files.

--unsigned

Instructs LAME that the samples from the input are unsigned (the default for 8 bits raw pcm data, where 0x80 is zero).

Required only for raw PCM input files and only available at bitwidth 8.

--little-endian

Instructs LAME that the samples from the input are in little-endian form.

Required only for raw PCM input files.

--big-endian

Instructs LAME that the samples from the input are in big-endian form.

Required only for raw PCM input files.

--mp2input

Assume the input file is a MPEG Layer II (ie MP2) file.

If the filename ends in ".mp2" LAME will assume it is a MPEG Layer II file. For stdin or Layer II files which do not end in .mp2 you need to use this switch.

--mp3input

Assume the input file is a MP3 file.

Useful for downsampling from one mp3 to another. As an example, it can be useful for streaming through an IceCast server.

If the filename ends in ".mp3" LAME will assume it is an MP3. For stdin or MP3 files which do not end in .mp3 you need to use this switch.

--nogap file1 file2 ...

gapless encoding for a set of contiguous files

--nogapout dir

output dir for gapless encoding (must precede --nogap)

Operational options:

-m mode

mode = s, j, f, d, m, l, r

Joint-stereo is the default mode for stereo files with VBR when -V is more than 4 or fixed bitrates of 160kbs or less. At higher fixed bitrates or higher VBR settings, the default is stereo.

(s)imple stereo

In this mode, the encoder makes no use of potentially existing correlations between the two input channels. It can, however, negotiate the bit demand between both channel, i.e. give one channel more bits if the other contains silence or needs less bits because of a lower complexity.

(j)oint stereo

In this mode, the encoder will make use of a correlation between both channels. The signal will be matrixed into a sum ("mid"), computed by L+R, and difference ("side") signal, computed by L-R, and more bits are allocated to the mid channel. This will effectively increase the bandwidth if the signal does not have too much stereo separation, thus giving a significant gain in encoding quality.

Using mid/side stereo inappropriately can result in audible compression artifacts. To much switching between mid/side and regular stereo can also sound bad. To determine when to switch to mid/side stereo, LAME uses a much more sophisticated algorithm than that described in the ISO documentation, and thus is safe to use in joint stereo mode.

(f)orced MS stereo

This mode will force MS stereo on all frames. It is slightly faster than joint stereo, but it should be used only if you are sure that every frame of the input file has very little stereo separation.

(d)ual mono

In this mode, the 2 channels will be totally independently encoded. Each channel will have exactly half of the bitrate. This mode is designed for applications like dual languages encoding (for example: English in one channel and French in the other). Using this encoding mode for regular stereo files will result in a lower quality encoding.

(m)ono

The input will be encoded as a mono signal. If it was a stereo signal, it will be downsampled to mono. The downmix is calculated as the sum of the left and right channel, attenuated by 6 dB.

(l)eft channel only

The input will be encoded as a mono signal. If it was a stereo signal, the left channel will be encoded only.

(r)ight channel only

The input will be encoded as a mono signal. If it was a stereo signal, the right channel will be encoded only.

-a

Mix the stereo input file to mono and encode as mono.

The downmix is calculated as the sum of the left and right channel, attenuated by 6 dB.

This option is only needed in the case of raw PCM stereo input (because LAME cannot determine the number of channels in the input file). To encode a stereo PCM input file as mono, use lame -m s -a.

For WAV and AIFF input files, using -m will always produce a mono .mp3 file from both mono and stereo input.

-d

Allows the left and right channels to use different block size types.

--freeformat

Produces a free format bitstream. With this option, you can use -b with any bitrate higher than 8 kbps.

However, even if an mp3 decoder is required to support free bitrates at least up to 320 kbps, many players are unable to deal with it.

Tests have shown that the following decoders support free format:

FreeAmp up to 440 kbps

in_mpg123 up to 560 kbps

l3dec up to 310 kbps

LAME up to 560 kbps

MAD up to 640 kbps

--decode

Uses LAME for decoding to a wav file. The input file can be any input type supported by encoding, including layer II files. LAME uses a bugfixed version of mpglib for decoding.

If -t is used (disable wav header), LAME will output raw pcm in native endian format. You can use -x to swap bytes order.

This option is not usable if the MP3 decoder was explicitly disabled in the build of LAME.

-t

Disable writing of the INFO Tag on encoding.

This tag in embedded in frame 0 of the MP3 file. It includes some information about the encoding options of the file, and in VBR it lets VBR aware players correctly seek and compute playing times of VBR files.

When --decode is specified (decode to WAV), this flag will disable writing of the WAV header. The output will be raw pcm, native endian format. Use -x to swap bytes.

--comp arg

Instead of choosing bitrate, using this option, user can choose compression ratio to achieve.

--scale n

--scale-l n

--scale-r n

Scales input (every channel, only left channel or only right channel) by n. This just multiplies the PCM data (after it has been converted to floating point) by n.

n > 1: increase volume

n = 1: no effect

n < 1: reduce volume

Use with care, since most MP3 decoders will truncate data which decodes to values greater than 32768.

--replaygain-fast

Compute ReplayGain fast but slightly inaccurately.

This computes "Radio" ReplayGain on the input data stream after user-specified volume-scaling and/or resampling.

The ReplayGain analysis does not affect the content of a compressed data stream itself, it is a value stored in the header of a sound file. Information on the purpose of ReplayGain and the algorithms used is available from http://www.replaygain.org/.

Only the "RadioGain" Replaygain value is computed, it is stored in the LAME tag. The analysis is performed with the reference volume equal to 89dB. Note: the reference volume has been changed from 83dB on transition from version 3.95 to 3.95.1.

This switch is enabled by default.

See also: --replaygain-accurate, --noreplaygain

--replaygain-accurate

Compute ReplayGain more accurately and find the peak sample.

This enables decoding on the fly, computes "Radio" ReplayGain on the decoded data stream, finds the peak sample of the decoded data stream and stores it in the file.

The ReplayGain analysis does not affect the content of a compressed data stream itself, it is a value stored in the header of a sound file. Information on the purpose of ReplayGain and the algorithms used is available from http://www.replaygain.org/.

By default, LAME performs ReplayGain analysis on the input data (after the user-specified volume scaling). This behavior might give slightly inaccurate results because the data on the output of a lossy compression/decompression sequence differs from the initial input data. When --replaygain-accurate is specified the mp3 stream gets decoded on the fly and the analysis is performed on the decoded data stream. Although theoretically this method gives more accurate results, it has several disadvantages:

*

tests have shown that the difference between the ReplayGain values computed on the input data and decoded data is usually not greater than 0.5dB, although the minimum volume difference the human ear can perceive is about 1.0dB

*

decoding on the fly significantly slows down the encoding process

The apparent advantage is that:

*

with --replaygain-accurate the real peak sample is determined and stored in the file. The knowledge of the peak sample can be useful to decoders (players) to prevent a negative effect called 'clipping' that introduces distortion into the sound.

Only the "RadioGain" ReplayGain value is computed, it is stored in the LAME tag. The analysis is performed with the reference volume equal to 89dB. Note: the reference volume has been changed from 83dB on transition from version 3.95 to 3.95.1.

This option is not usable if the MP3 decoder was explicitly disabled in the build of LAME. (Note: if LAME is compiled without the MP3 decoder, ReplayGain analysis is performed on the input data after user-specified volume scaling).

See also: --replaygain-fast, --noreplaygain --clipdetect

--noreplaygain

Disable ReplayGain analysis.

By default ReplayGain analysis is enabled. This switch disables it.

See also: --replaygain-fast, --replaygain-accurate

--clipdetect

Clipping detection.

Enable --replaygain-accurate and print a message whether clipping occurs and how far in dB the waveform is from full scale.

This option is not usable if the MP3 decoder was explicitly disabled in the build of LAME.

See also: --replaygain-accurate

--preset type | [cbr] kbps

Use one of the built-in presets.

Have a look at the PRESETS section below.

--preset help gives more infos about the the used options in these presets.

--preset type | [cbr] kbps

Use one of the built-in presets.

--noasm type

Disable specific assembly optimizations ( mmx / 3dnow / sse ). Quality will not increase, only speed will be reduced. If you have problems running Lame on a Cyrix/Via processor, disabling mmx optimizations might solve your problem.

Verbosity:

--disptime n

Set the delay in seconds between two display updates.

--nohist

By default, LAME will display a bitrate histogram while producing VBR mp3 files. This will disable that feature.

Histogram display might not be available on your release.

-S

--silent

--quiet

Do not print anything on the screen.

--verbose

Print a lot of information on the screen.

--help

Display a list of available options.

Noise shaping & psycho acoustic algorithms:

-q qual

0 <= qual <= 9

Bitrate is of course the main influence on quality. The higher the bitrate, the higher the quality. But for a given bitrate, we have a choice of algorithms to determine the best scalefactors and Huffman encoding (noise shaping).

-q 0:

use slowest & best possible version of all algorithms. -q 0 and -q 1 are slow and may not produce significantly higher quality.

-q 2:

recommended. Same as -h.

-q 5:

default value. Good speed, reasonable quality.

-q 7:

same as -f. Very fast, ok quality. Psycho acoustics are used for pre-echo & M/S, but no noise shaping is done.

-q 9:

disables almost all algorithms including psy-model. Poor quality.

-h

Use some quality improvements. Encoding will be slower, but the result will be of higher quality. The behavior is the same as the -q 2 switch.

This switch is always enabled when using VBR.

-f

This switch forces the encoder to use a faster encoding mode, but with a lower quality. The behavior is the same as the -q 7 switch.

Noise shaping will be disabled, but psycho acoustics will still be computed for bit allocation and pre-echo detection.

CBR (constant bitrate, the default) options:

-b n

For MPEG-1 (sampling frequencies of 32, 44.1 and 48 kHz)

n = 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320

For MPEG-2 (sampling frequencies of 16, 22.05 and 24 kHz)

n = 8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 128, 144, 160

For MPEG-2.5 (sampling frequencies of 8, 11.025 and 12 kHz)

n = 8, 16, 24, 32, 40, 48, 56, 64

Default is 128 for MPEG1 and 64 for MPEG2.

--cbr

enforce use of constant bitrate

ABR (average bitrate) options:

--abr n

Turns on encoding with a targeted average bitrate of n kbits, allowing to use frames of different sizes. The allowed range of n is 8 - 310, you can use any integer value within that range.

It can be combined with the -b and -B switches like: lame --abr 123 -b 64 -B 192 a.wav a.mp3 which would limit the allowed frame sizes between 64 and 192 kbits.

The use of -B is NOT RECOMMENDED. A 128 kbps CBR bitstream, because of the bit reservoir, can actually have frames which use as many bits as a 320 kbps frame. VBR modes minimize the use of the bit reservoir, and thus need to allow 320 kbps frames to get the same flexibility as CBR streams.

VBR (variable bitrate) options:

-v

use variable bitrate (--vbr-new)

--vbr-old

Invokes the oldest, most tested VBR algorithm. It produces very good quality files, though is not very fast. This has, up through v3.89, been considered the "workhorse" VBR algorithm.

--vbr-new

Invokes the newest VBR algorithm. During the development of version 3.90, considerable tuning was done on this algorithm, and it is now considered to be on par with the original --vbr-old. It has the added advantage of being very fast (over twice as fast as --vbr-old).

-V n

0 <= n <= 9

Enable VBR (Variable BitRate) and specifies the value of VBR quality (default = 4). 0 = highest quality.

ABR and VBR options:

-b bitrate

For MPEG-1 (sampling frequencies of 32, 44.1 and 48 kHz)

n = 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320

For MPEG-2 (sampling frequencies of 16, 22.05 and 24 kHz)

n = 8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 128, 144, 160

For MPEG-2.5 (sampling frequencies of 8, 11.025 and 12 kHz)

n = 8, 16, 24, 32, 40, 48, 56, 64

Specifies the minimum bitrate to be used. However, in order to avoid wasted space, the smallest frame size available will be used during silences.

-B bitrate

For MPEG-1 (sampling frequencies of 32, 44.1 and 48 kHz)

n = 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320

For MPEG-2 (sampling frequencies of 16, 22.05 and 24 kHz)

n = 8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 128, 144, 160

For MPEG-2.5 (sampling frequencies of 8, 11.025 and 12 kHz)

n = 8, 16, 24, 32, 40, 48, 56, 64

Specifies the maximum allowed bitrate.

Note: If you own an mp3 hardware player build upon a MAS 3503 chip, you must set maximum bitrate to no more than 224 kpbs.

-F

Strictly enforce the -b option.

This is mainly for use with hardware players that do not support low bitrate mp3.

Without this option, the minimum bitrate will be ignored for passages of analog silence, i.e. when the music level is below the absolute threshold of human hearing (ATH).

Experimental options:

-X n

0 <= n <= 7

When LAME searches for a "good" quantization, it has to compare the actual one with the best one found so far. The comparison says which one is better, the best so far or the actual. The -X parameter selects between different approaches to make this decision, -X0 being the default mode:

-X0

The criteria are (in order of importance):

* less distorted scalefactor bands

* the sum of noise over the thresholds is lower

* the total noise is lower

-X1

The actual is better if the maximum noise over all scalefactor bands is less than the best so far.

-X2

The actual is better if the total sum of noise is lower than the best so far.

-X3

The actual is better if the total sum of noise is lower than the best so far and the maximum noise over all scalefactor bands is less than the best so far plus 2dB.

-X4

Not yet documented.

-X5

The criteria are (in order of importance):

* the sum of noise over the thresholds is lower

* the total sum of noise is lower

-X6

The criteria are (in order of importance):

* the sum of noise over the thresholds is lower

* the maximum noise over all scalefactor bands is lower

* the total sum of noise is lower

-X7

The criteria are:

* less distorted scalefactor bands

or

* the sum of noise over the thresholds is lower

-Y

lets LAME ignore noise in sfb21, like in CBR

MP3 header/stream options:

-e emp

emp = n, 5, c

n = (none, default)

5 = 0/15 microseconds

c = citt j.17

All this does is set a flag in the bitstream. If you have a PCM input file where one of the above types of (obsolete) emphasis has been applied, you can set this flag in LAME. Then the mp3 decoder should de-emphasize the output during playback, although most decoders ignore this flag.

A better solution would be to apply the de-emphasis with a standalone utility before encoding, and then encode without -e.

-c

Mark the encoded file as being copyrighted.

-o

Mark the encoded file as being a copy.

-p

Turn on CRC error protection.

It will add a cyclic redundancy check (CRC) code in each frame, allowing to detect transmission errors that could occur on the MP3 stream. However, it takes 16 bits per frame that would otherwise be used for encoding, and then will slightly reduce the sound quality.

--nores

Disable the bit reservoir. Each frame will then become independent from previous ones, but the quality will be lower.

--strictly-enforce-ISO

With this option, LAME will enforce the 7680 bit limitation on total frame size.

This results in many wasted bits for high bitrate encodings but will ensure strict ISO compatibility. This compatibility might be important for hardware players.

Filter options:

--lowpass freq

Set a lowpass filtering frequency in kHz. Frequencies above the specified one will be cutoff.

--lowpass-width freq

Set the width of the lowpass filter. The default value is 15% of the lowpass frequency.

--highpass freq

Set an highpass filtering frequency in kHz. Frequencies below the specified one will be cutoff.

--highpass-width freq

Set the width of the highpass filter in kHz. The default value is 15% of the highpass frequency.

--resample sfreq

sfreq = 8, 11.025, 12, 16, 22.05, 24, 32, 44.1, 48

Select output sampling frequency (only supported for encoding).

If not specified, LAME will automatically resample the input when using high compression ratios.

ID3 tag options:

--tt title

audio/song title (max 30 chars for version 1 tag)

--ta artist

audio/song artist (max 30 chars for version 1 tag)

--tl album

audio/song album (max 30 chars for version 1 tag)

--ty year

audio/song year of issue (1 to 9999)

--tc comment

user-defined text (max 30 chars for v1 tag, 28 for v1.1)

--tn track[/total]

audio/song track number and (optionally) the total number of tracks on the original recording. (track and total each 1 to 255. Providing just the track number creates v1.1 tag, providing a total forces v2.0).

--tg genre

audio/song genre (name or number in list)

--add-id3v2

force addition of version 2 tag

--id3v1-only

add only a version 1 tag

--id3v2-only

add only a version 2 tag

--id3v2-latin1

add following options in ISO-8859-1 text encoding.

--id3v2-utf16

add following options in unicode text encoding.

--space-id3v1

pad version 1 tag with spaces instead of nulls

--pad-id3v2

same as --pad-id3v2-size 128

--pad-id3v2-size num

adds version 2 tag, pad with extra "num" bytes

--genre-list

print alphabetically sorted ID3 genre list and exit

--ignore-tag-errors

ignore errors in values passed for tags, use defaults in case an error occurs

Analysis options:

-g

run graphical analysis on <infile>. <infile> can also be a .mp3 file. (This feature is a compile time option. Your binary may for speed reasons be compiled without this.)

ID3 TAGS

LAME is able to embed ID3 v1, v1.1 or v2 tags inside the encoded MP3 file. This allows to have some useful information about the music track included inside the file. Those data can be read by most MP3 players.

Lame will smartly choose which tags to use. It will add ID3 v2 tags only if the input comments won't fit in v1 or v1.1 tags, i.e. if they are more than 30 characters. In this case, both v1 and v2 tags will be added, to ensure reading of tags by MP3 players which are unable to read ID3 v2 tags.

ENCODING MODES

LAME is able to encode your music using one of its 3 encoding modes: constant bitrate (CBR), average bitrate (ABR) and variable bitrate (VBR).

Constant Bitrate (CBR)

This is the default encoding mode, and also the most basic. In this mode, the bitrate will be the same for the whole file. It means that each part of your mp3 file will be using the same number of bits. The musical passage being a difficult one to encode or an easy one, the encoder will use the same bitrate, so the quality of your mp3 is variable. Complex parts will be of a lower quality than the easiest ones. The main advantage is that the final files size won't change and can be accurately predicted.

Average Bitrate (ABR)

In this mode, you choose the encoder will maintain an average bitrate while using higher bitrates for the parts of your music that need more bits. The result will be of higher quality than CBR encoding but the average file size will remain predictable, so this mode is highly recommended over CBR. This encoding mode is similar to what is referred as vbr in AAC or Liquid Audio (2 other compression technologies).

Variable bitrate (VBR)

In this mode, you choose the desired quality on a scale from 9 (lowest quality/biggest distortion) to 0 (highest quality/lowest distortion). Then encoder tries to maintain the given quality in the whole file by choosing the optimal number of bits to spend for each part of your music. The main advantage is that you are able to specify the quality level that you want to reach, but the inconvenient is that the final file size is totally unpredictable.

PRESETS

The --preset switches are aliases over LAME settings.

To activate these presets:

For VBR modes (generally highest quality):

--preset medium

This preset should provide near transparency to most people on most music.

--preset standard

This preset should generally be transparent to most people on most music and is already quite high in quality.

--preset extreme

If you have extremely good hearing and similar equipment, this preset will generally provide slightly higher quality than the standard mode.

For CBR 320kbps (highest quality possible from the --preset switches):

--preset insane

This preset will usually be overkill for most people and most situations, but if you must have the absolute highest quality with no regard to filesize, this is the way to go.

For ABR modes (high quality per given bitrate but not as high as VBR):

--preset kbps

Using this preset will usually give you good quality at a specified bitrate. Depending on the bitrate entered, this preset will determine the optimal settings for that particular situation. While this approach works, it is not nearly as flexible as VBR, and usually will not attain the same level of quality as VBR at higher bitrates.

The following options are also available for the corresponding profiles:

standard|extreme

cbr kbps

cbr

If you use the ABR mode (read above) with a significant bitrate such as 80, 96, 112, 128, 160, 192, 224, 256, 320, you can use the cbr option to force CBR mode encoding instead of the standard ABR mode. ABR does provide higher quality but CBR may be useful in situations such as when streaming an MP3 over the Internet may be important.

EXAMPLES

Fixed bit rate jstereo 128kbs encoding:

lame sample.wav sample.mp3

Fixed bit rate jstereo 128 kbps encoding, highest quality (recommended):

lame -h sample.wav sample.mp3

Fixed bit rate jstereo 112 kbps encoding:

lame -b 112 sample.wav sample.mp3

To disable joint stereo encoding (slightly faster, but less quality at bitrates <= 128 kbps):

lame -m s sample.wav sample.mp3

Fast encode, low quality (no psycho-acoustics):

lame -f sample.wav sample.mp3

Variable bitrate (use -V n to adjust quality/filesize):

lame -h -V 6 sample.wav sample.mp3

Streaming mono 22.05 kHz raw pcm, 24 kbps output:

cat inputfile | lame -r -m m -b 24 -s 22.05 - - > output

Streaming mono 44.1 kHz raw pcm, with downsampling to 22.05 kHz:

cat inputfile | lame -r -m m -b 24 --resample 22.05 - - > output

Encode with the standard preset:

lame --preset standard sample.wav sample.mp3

BUGS

Probably there are some.

SEE ALSO

-

AUTHORS

LAME originally developed by Mike Cheng and now maintained by

Mark Taylor, and the LAME team.

GPSYCHO psycho-acoustic model by Mark Taylor.

(See http://www.mp3dev.org/).

mpglib by Michael Hipp

Manual page by William Schelter, Nils Faerber, Alexander Leidinger,

and Rog['e]rio Brito.

NAME SYNOPSIS DESCRIPTION OPTIONS ID3 TAGS ENCODING MODES PRESETS EXAMPLES BUGS SEE ALSO AUTHORS

This document was created by man2html using the manual pages.

Time: 16:32:14 GMT, September 14, 2024

MP3Cutter

TOC Index

NAME

MP3Cutter - Cut MP3 and WAV Audio Files

SYNOPSIS

WA2LWinTools/bin/MP3Cutter [ -h | -i | -u | -V ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

Free MP3Cutter and Editor is an extremely simple and handy Windows™ software for editing MP3 files.

To cut/edit your MP3 file, just start the program and complete the following steps:

Step 1:

Click the folder icon to open an MP3 file for editing

The waveform graph and editing command buttons are then displayed.

Step 2:

Define a selection, if needed, for the editing commands

Just click on the graph to set the current position for playback, then click toolbar button [<- or ->] to set this position as start or end of selection.

You can also click and drag on the graph to define the selection area directly.

Step 3:

Click any of the command buttons below the graph

See the Editing Commands section below for short descriptions of the available commands.

Step 4:

Click the floppy icon to save all changes made to the document

You can choose a new location for the file when it is being saved for the first time.

Editing Commands:

Delete Selected

Deletes selected part from the document.

Delete Unselected

Deletes unselected part from the document.

Change Volume

Changes audio volume by specifying a percentage value.

Maximize Volume

Increases volume as high as possible without distortion.

Fade In

Gradually increases the volume throughout the selection.

Fade Out

Gradually decreases the volume throughout the selection.

Convert to Stereo

Duplicates mono track to make a stereo track.

Convert to Mono

Mixes all channels to make a mono track.

OPTIONS

-h

usage message.

Start MP3Cutter.

-i

install the MP3Cutter command to 'Startup' in the Windows Start Menu.

-u

uninstall the MP3Cutter shortcut from 'Startup' in the Windows Start Menu.

-V

print program version.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage message displayed.

5

version message displayed.

FILES

-

EXAMPLES

-

SEE ALSO

wintoolsintro(1), config(1m), wav2mp3(1), http://www.musetips.com

NOTES

Parts of this manpages were extracted from the documentation of MP3Cutter.

BUGS

-

AUTHOR

MP3Cutter was developed by MuseTips <http://www.musetips.com> (see: http://www.musetips.com) and integrated into WA2L/WinTools by Christian Walther. Send suggestions and bug reports related to the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2023 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:28 GMT, September 14, 2024

wav2mp3.cfg

TOC Index

NAME

wav2mp3.cfg - configuration file for wav2mp3

SYNOPSIS

WA2LWinTools/etc/wav2mp3.cfg

AVAILABILITY

WA2L/WinTools

DESCRIPTION

This is the optional configuration file for the wav2mp3 command.

FILEFORMAT

Rows starting with # are considered as comments.

The file format is OPTION=VALUE

Between the OPTION , the = and the VALUE are no spaces.

You can comment out any OPTION or completely remove the related setting line to use the default settings.

OPTIONS

WAV2MP3_OPTIONS

set the command line options for the lame(3) command that is internally used to create the MP3 file from WAV files.

Internally the lame command is called as follows:

lame WAV2MP3_OPTIONS input.wav output.mp3

Therefore the specified WAV2MP3_OPTIONS are passed directly after the lame command and before the input.wav file.

Example: WAV2MP3_OPTIONS=-V 3

Default: WAV2MP3_OPTIONS=-V 2

EXAMPLES

1) Set Quality to 3

#

# WA2LWinTools/etc/wav2mp3.cfg - Configuration file for wav2mp3

#

# [00] 28.03.2017 CWa   Initial Version

#

WAV2MP3_OPTIONS=-V 4

SEE ALSO

wintoolsintro(1), lame(3), wav2mp3(1), http://lame.sourceforge.net/, https://github.com/Chocobo1/lame_win32-build/releases

NOTES

-

BUGS

-

AUTHOR

wav2mp3.cfg was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION FILEFORMAT OPTIONS EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:33:16 GMT, September 14, 2024

wma2mp3

TOC Index

NAME

wma2mp3 - convert WMA music files to MP3

SYNOPSIS

WA2LWinTools/bin/wma2mp3 [ -h | -i | -u | -V ]

wma2mp3 [ -n ][ file... ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

convert one or more *.wma file(s) to *.mp3 file(s).

Each given file1.wma is converted to file1.mp3 as long as the destination file ( file1.mp3 ) does not exist already.

The wma2mp3 command should be installed to the 'Send To' context menu in 'Microsoft™ Windows Explorer' for most convenient usage. To do so, invoke wma2mp3 -i once.

OPTIONS

-h

usage message.

-i

install the wma2mp3 command as menu point 'wma2mp3' to the 'Send To' context menu in 'Windows Explorer'.

-u

uninstall the wma2mp3 shortcut from the 'Send To' context menu in 'Windows Explorer'.

-V

print program version.

-n

non interactive execution. This prevents the message box dialog at the end of the program execution. Using -n the avi2mp4 command can be used in batch processing without any user intervention.

file...

list of *.wma files to convert to *.mp3 . When installed in the 'Send To' menu the selected file(s) in 'Windows Explorer' are passed as a list of files to the wma2mp3 command and all given WMA files are converted and saved as separate MP3 files.

If no file is specified, you are queried to select the file(s) by a open file box dialog where you then can select file(s) to be processed.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage message displayed.

5

program version printed.

6

program variant not known. This error occurs when the wma2mp3 command is renamed.

FILES

etc/wma2mp3.cfg

optional configuration file for wma2mp3.

EXAMPLES

See: epub2mobi(1).

SEE ALSO

wintoolsintro(1), config(1m), epub2mobi(1), lame(3), wav2mp3(1), wma2mp3.cfg(4), wma2wav(3)

NOTES

The wma2mp3 command uses internally lame, a command from the 'LAME Project' and wma2wav from 'Lord Mulder'.

For more information about lame see http://lame.sourceforge.net/ or https://github.com/Chocobo1/lame_win32-build/releases.

For more information about wma2wav see http://muldersoft.com/ or https://github.com/lordmulder/wma2wav/releases.

BUGS

The program screen output does not look that clean as desired.

The final error message that says the file cannot be closed can be ignored.

AUTHOR

wma2mp3 was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:33:22 GMT, September 14, 2024

wma2mp3.cfg

TOC Index

NAME

wma2mp3.cfg - configuration file for wma2mp3

SYNOPSIS

WA2LWinTools/etc/wma2mp3.cfg

AVAILABILITY

WA2L/WinTools

DESCRIPTION

This is the optional configuration file for the wma2mp3 command.

FILEFORMAT

Rows starting with # are considered as comments.

The file format is OPTION=VALUE

Between the OPTION , the = and the VALUE are no spaces.

You can comment out any OPTION or completely remove the related setting line to use the default settings.

OPTIONS

WMA2WAV_OPTIONS

set the command line options for the wma2wav(3) command that is internally used to create a WAV data stream from WMA files.

Internally the wma2wav command is called as follows:

wma2wav WMA2WAV_OPTIONS -i input.wma -o -

Therefore the specified WMA2WAV_OPTIONS are passed directly after the wma2wav command and before the -i option.

Example: WMA2WAV_OPTIONS=-s

Default: WMA2WAV_OPTIONS=

LAME_OPTIONS

set the command line options for the lame(3) command that is internally used to create the MP3 file from WAV files.

Internally the lame command is called as follows:

lame LAME_OPTIONS -w - output.mp3

Therefore the specified LAME_OPTIONS are passed directly after the lame command and before the - (=stdin) file.

Example: LAME_OPTIONS=-V 3

Default: LAME_OPTIONS=-V 2

EXAMPLES

1) Set Quality to 3

#

# WA2LWinTools/etc/wma2mp3.cfg - Configuration file for wma2mp3

#

# [00] 28.03.2017 CWa   Initial Version

#

LAME_OPTIONS=-V 4

WMA2WAV_OPTIONS=-s

SEE ALSO

wintoolsintro(1), lame(3), wma2mp3(1), wma2wav(1), http://lame.sourceforge.net/, https://github.com/Chocobo1/lame_win32-build/releases, https://github.com/lordmulder/wma2wav/releases

NOTES

-

BUGS

-

AUTHOR

wma2mp3.cfg was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION FILEFORMAT OPTIONS EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:33:23 GMT, September 14, 2024

copyaslink

TOC Index

NAME

copyaslink - copy file as local hyperlink URL to clipboard

SYNOPSIS

WA2LWinTools/bin/copyaslink [ -h | -i | -u | -V ]

copyaslink file...

AVAILABILITY

WA2L/WinTools

DESCRIPTION

copy selected files and/or directories as local hyperlink URL to clipboard.

Then the URL(s) can be inserted into an other application simply by using 'paste' or 'Ctrl+V'.

When the SHIFT key is pressed during command execution, no double quotes are printed around the path.

OPTIONS

-h

usage message.

-i

install the copyaslink command as menu point 'copyaslink' to the 'Send To' context menu in 'Windows Explorer'.

-u

uninstall the copyaslink shortcut from the 'Send To' context menu in 'Windows Explorer'.

-V

print program version.

file...

list of files of which to create a copy. When installed in the 'Send To' menu the selected file(s) in 'Windows Explorer' are passed as a list of files to the copyaslink command.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage message displayed.

5

version message displayed.

FILES

-

EXAMPLES

-

SEE ALSO

wintoolsintro(1), copyasuxpath(1), copyaswinpath(1), config(1m)

NOTES

-

BUGS

-

AUTHOR

copyaslink was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:31:55 GMT, September 14, 2024

copyasuxpath

TOC Index

NAME

copyasuxpath - copy file as slash-separated path to clipboard

SYNOPSIS

WA2LWinTools/bin/copyasuxpath [ -h | -i | -u | -V ]

copyasuxpath file...

AVAILABILITY

WA2L/WinTools

DESCRIPTION

copy selected files and/or directories as slash-separated path to clipboard.

Then the file path(s) can be inserted into an other application simply by using 'paste' or 'Ctrl+V'.

When the SHIFT key is pressed during command execution, no double quotes are printed around the path.

OPTIONS

-h

usage message.

-i

install the copyasuxpath command as menu point 'copyasuxpath' to the 'Send To' context menu in 'Windows Explorer'.

-u

uninstall the copyasuxpath shortcut from the 'Send To' context menu in 'Windows Explorer'.

-V

print program version.

file...

list of files of which to create a copy. When installed in the 'Send To' menu the selected file(s) in 'Windows Explorer' are passed as a list of files to the copyasuxpath command.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage message displayed.

5

version message displayed.

FILES

-

EXAMPLES

-

SEE ALSO

wintoolsintro(1), copyaslink(1), copyaswinpath(1), config(1m)

NOTES

-

BUGS

-

AUTHOR

copyasuxpath was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:31:55 GMT, September 14, 2024

copyaswinpath

TOC Index

NAME

copyaswinpath - copy file as backslash-separated path to clipboard

SYNOPSIS

WA2LWinTools/bin/copyaswinpath [ -h | -i | -u | -V ]

copyaswinpath file...

AVAILABILITY

WA2L/WinTools

DESCRIPTION

copy selected files and/or directories as backslash-separated path to clipboard.

Then the file path(s) can be inserted into an other application simply by using 'paste' or 'Ctrl+V'.

When the SHIFT key is pressed during command execution, no double quotes are printed around the path.

OPTIONS

-h

usage message.

-i

install the copyaswinpath command as menu point 'copyaswinpath' to the 'Send To' context menu in 'Windows Explorer'.

-u

uninstall the copyaswinpath shortcut from the 'Send To' context menu in 'Windows Explorer'.

-V

print program version.

file...

list of files of which to create a copy. When installed in the 'Send To' menu the selected file(s) in 'Windows Explorer' are passed as a list of files to the copyaswinpath command.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage message displayed.

5

version message displayed.

FILES

-

EXAMPLES

-

SEE ALSO

wintoolsintro(1), copyaslink(1), copyasuxpath(1), config(1m)

NOTES

The functionality of copyaswinpath is also available as 'copy as path' context menu entry in 'Windows Explorer' when selecting files, pressing the 'Shift' key while right clicking the selected files.

BUGS

-

AUTHOR

copyaswinpath was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:31:55 GMT, September 14, 2024

CSVFileEdit

TOC Index

NAME

CSVFileEdit - edit csv/semicolon-delimited text files

SYNOPSIS

WA2LWinTools/bin/CSVFileEdit [ -h | -i | -u | -V ]

CSVFileEdit [ file ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

CSVFileEdit is a small but efficient CSV file editor utility that allows you to easily view and edit the content of CSV files.

Although CSV stands for "Comma-Separated Value", the program also supports colon, semicolon, pipe, asterisk and dollar sign ($) separators, as well as .tsv, .txt and .tab file extensions (*.tsv: open/save/drag & drop | *.txt: open/drag & drop | *.tab: open/save).

OPTIONS

-h

usage message.

-i

install the CSVFileEdit command as menu point 'CSVFileEdit' to the 'Send To' context menu in 'Windows Explorer'.

-u

uninstall the CSVFileEdit shortcut from the 'Send To' context menu in 'Windows Explorer'.

-V

print program version.

file

CSV file to load.

ENVIRONMENT

-

EXIT STATUS

0

always.

FILES

etc/CSVFileEdit.cfg

configuration file of CSVFileEdit.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), config(1m), list2(1), spread32(1), csvfileview(1), https://github.com/darhmedia/DMcsvEditor

NOTES

This man page is a partial extract of https://www.portablefreeware.com/?id=2183.

BUGS

-

AUTHOR

DMcsvEditor (aka. dmcsv) was developed by Darth Media, Trivadar <https://github.com/darhmedia> (https://www.portablefreeware.com/?id=2183, https://code.google.com/archive/p/dmcsveditor/, https://github.com/darhmedia/DMcsvEditor) and integrated into WA2L/WinTools as CSVFileEdit by Christian Walther. Send suggestions and bug reports regarding the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2022 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:31:57 GMT, September 14, 2024

List2

TOC Index

NAME

List2 - create lists and tables

SYNOPSIS

WA2LWinTools/bin/List2 [ -h | -i | -u | -V ]

List2 [ file.lis ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

List2 is a small program for creating lists or tables. Features include: the ability to rename, insert, and delete columns; insert and delete rows; find and replace; clipboard cut, copy, paste to and from cells; export to html; import or export tab-delimited text; printing with print preview.

Features:

-

the ability to rename, insert, and delete columns

-

insert and delete rows

-

find and replace

-

clipboard cut, copy, paste to and from cells

-

export to html

-

import or export tab-delimited text

-

printing with print preview

Bear in mind, List2 is not a spreadsheet, and it is most definitely not Excel™. It is intended for simple lists and tables -- nothing more.

The List2 command can be installed on the Windows™ 'Desktop' for most convenient usage. To do so, invoke List2 -i once.

OPTIONS

-h

usage message.

-i

install the List2 command on the Windows™ 'Desktop'.

-u

uninstall the List2 shortcut from the Windows™ 'Desktop'.

-V

print program version.

file.lis

a file to load into List2.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage message displayed.

5

program version printed.

6

program variant not known. This error occurs when the List2 command is renamed.

FILES

etc/List2.cfg

configuration file of List2.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), config(1m), csvfileedit(1), csvfileview(1), spread32(1), http://www.aplusfreeware.com/categories/business/spreadsheets.html

NOTES

List2 was developed by bitride. See (http://www.aplusfreeware.com/categories/business/spreadsheets.html) for more information.

Parts of this manual page are extracted from the web page: http://www.aplusfreeware.com/categories/business/spreadsheets.html.

BUGS

-

AUTHOR

List2 was developed by bitride as ListSquared and integrated into WA2L/WinTools by Christian Walther as List2. Send suggestions and bug reports regarding the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:15 GMT, September 14, 2024

CSVFileView

TOC Index

NAME

CSVFileView - view csv/tab-delimited text files

SYNOPSIS

WA2LWinTools/bin/CSVFileView [ -h | -i | -u | -V ]

CSVFileView [ options ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

CSVFileView is a simple CSV file viewer/converter utility that allows you to easily view the content of CSV or tab-delimited file created by NirSoft utilities (http://www.nirsoft.net/) or by any other software, in a simple table viewer.

You can sort the lines according to one of the fields, remove unwanted fields and change their order, and then save the result back into CSV file, tab-delimited file, XML file, or HTML report.

See full CSVFileView description on: http://www.nirsoft.net/utils/csv_file_view.html

OPTIONS

-h

usage message.

-i

install the CSVFileView command as menu point 'CSVFileView' to the 'Send To' context menu in 'Windows Explorer'.

-u

uninstall the CSVFileView shortcut from the 'Send To' context menu in 'Windows Explorer'.

-V

print program version.

options

options.

See full CSVFileView option description in section Command-Line Options on: http://www.nirsoft.net/utils/csv_file_view.html

ENVIRONMENT

-

EXIT STATUS

0

always.

FILES

etc/CSVFileView.cfg

configuration file of CSVFileView.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), config(1m), csvfileedit(1), list2(1), spread32(1), http://www.nirsoft.net/utils/csv_file_view.html

NOTES

This manpage is a partial extract of the home page http://www.nirsoft.net/utils/csv_file_view.html which has been written by Nir Sofer <nirsofer@yahoo.com>. See the mentioned web page to view the complete CSVFileView description.

BUGS

CSVFileView cannot load extremely large csv files.

AUTHOR

CSVFileView was developed by Nir Sofer <nirsofer@yahoo.com> ( http://www.nirsoft.net/utils/csv_file_view.html ) and integrated into WA2L/WinTools by Christian Walther. Send suggestions and bug reports regarding the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2022 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:31:57 GMT, September 14, 2024

Spread32

TOC Index

NAME

Spread32 - small but complete spreadsheet program

SYNOPSIS

WA2LWinTools/bin/Spread32 [ -h | -i | -u | -V ]

Spread32 [ file.xls | file.csv | file.txt | file.pxl ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

Spread32 is fully compatible with Microsoft Excel! It is essentially a mini-Excel with all of the basic features that you would expect in a competent spreadsheet program. Run macros, draw objects, generate charts, calculate functions and formulas, its all here. And it reads and writes xls, csv, text and pxl formats.

For a complete description of Spread32 see spread32.Help(1) in the HTML documentation.

Features:

-

256 columns x 65536 rows x 255 sheets

-

supported operations: + - * / ^ % &

-

306 functions

-

cut, copy, paste, clear

-

insert/delete rows and columns

-

hide/unhide rows and columns

-

hide/show row and column headings

-

find text in formula or result

-

goto specified cell

-

sort selected cells, rows, columns or whole sheet with multiple keys

-

freeze panes

-

sheet/column/row/cell formatting:

-

charts (column, line, scatter)

-

named ranges

-

import/export Excel files

-

import/export Pocket Excel files

-

import/export CSV files

The Spread32 command can be installed on the Windows™ 'Desktop' for most convenient usage. To do so, invoke Spread32 -i once.

OPTIONS

-h

usage message.

-i

install the Spread32 command on the Windows™ 'Desktop'.

-u

uninstall the Spread32 shortcut from the Windows™ 'Desktop'.

-V

print program version.

file

a file to load into Spread32.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage message displayed.

5

program version printed.

6

program variant not known. This error occurs when the Spread32 command is renamed.

FILES

-

EXAMPLES

-

SEE ALSO

wintoolsintro(1), config(1m), csvfileedit(1), csvfileview(1), list2(1), spread32.Help(1), http://www.aplusfreeware.com/categories/business/spreadsheets.html

NOTES

Spread32 was developed by Bye Design Ltd. See (http://www.aplusfreeware.com/categories/business/spreadsheets.html) for more information.

Parts of this manual page are extracted from the web page: http://www.aplusfreeware.com/categories/business/spreadsheets.html.

BUGS

-

AUTHOR

Spread32 was developed by Bye Design Ltd and integrated into WA2L/WinTools by Christian Walther. Send suggestions and bug reports regarding the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:33:01 GMT, September 14, 2024

Spread32 Help

(C) 2001 Bye Design Ltd

Basics

Menu options

Formulas

Functions

Charts

Macros

Objects

Basics

A spreadsheet file is made up of pages, called "sheets". There are different types of sheets: Worksheets - which are used for storing data and doing calculations, Chart sheets - which are used for displaying graphs and charts, and Macro sheets - which are used for storing the instructions that make up custom (user-defined) functions and commands.

A worksheet consists of many boxes, called "cells", arranged in a grid. There are 65536 rows and 256 columns of these. The rows are number from 1 to 65536, and the columns are named after the letters of the alphabet, going from A to Z, then AA, AB ... AZ, BA, BB ... etc all the way up to IV, which is the 256th column.

An individual row is referred to by its row number, an individual column is referred to by its column name, and an individual cell is referred to by the column name and row number that it is in. For example the cell in the top left corner of a worksheet is referred to as cell A1, because it is in column A and row 1.

The sheets are referred to by their sheet names. When new sheets are added they are given default names such as Sheet1, Sheet2 etc. You can change these names by using the Format Sheet Rename menu option. The sheet names are displayed on tabs at the bottom of the screen. To select a particular sheet to be displayed, either tap on the sheet name tab, or use the arrow buttons in the bottom left corner.

The currently active, or 'cursor' cell is displayed with a thick black border around it. If there is a formula in this cell then it will be displayed in the formula bar at the top of the screen, and if you want to enter a formula then this is the cell where the formula will be stored. To move the cursor to a different cell you can use the up/down/left/right arrow keys on your keyboard, or use your mouse or pointer to click on a different cell.

Most operations on the spreadsheet affect the currently selected cells, called the selection. Normally there is only one cell selected, that is the cursor cell. For many operations you will want to select more than one cell. You can do this by moving the cursor to one corner of the area to be selected (see above) and then either hold down the shift key and use the arrow keys to extend the selection as far as necessary, or drag your mouse or pointer across the screen to the far corner of the area to be selected. The selected cells will be displayed with their colours reversed.

Menu options

File menu

Edit menu

Insert menu

Format menu

File menu

New

Opens a new blank workbook.

Open

Displays the File Open dialog box for you to choose a spreadsheet file to open.

Recent

Displays a list of the 9 most recently used (i.e. opened or saved) files as a shortcut for opening them.

Close

Closes the current workbook, after prompting you to save any changes.

Save

Saves the current workbook back into the file it was opened from. If this spreadsheet was created with the File New menu option rather than opened with the File Open menu option, then you will be asked for a file name to save it under.

Save as

Displays the File Save dialog box for you to choose a name and location for saving the current workbook.

Window

Displays a list of the currently open workbooks and allows you to select a different one as the active workbook.

Print

Prints the currently displayed sheet.

Exit

This shuts down the program, after prompting you to save any changed workbooks.

Edit menu

Undo

This option undoes the last change you made to the spreadsheet, should you make a mistake or just change your mind. There are currently 16 levels of Undo, that is, the program remembers the last 16 things that you did and can step back through them using this menu option.

Cut

This option removes the contents of the currently selected cells and places them on the clipboard, so that you can paste them somewhere else. Only one selection can be stored on the clipboard at a time, so this will replace whatever was previously on the clipboard.

Copy

This option copies the contents of the currently selected cells and places them on the clipboard, so that you can paste them somewhere else. Only one selection can be stored on the clipboard at a time, so this will replace whatever was previously on the clipboard.

Paste

This option takes the contents of the clipboard and puts it into the currently selected cells.

Paste Special

When cells are cut or copied to the clipboard, the program stores not only what is displayed in the cell, but also the formula that is in the cell and the formatting. The Paste menu option will paste all of this information into the target cells, but this menu option allows you to paste just some of that information. A dialog box is displayed for you to choose what is pasted.

Fill

Down

Copies the top row of the selection into the other rows of the selection.

Right

Copies the left column of the selection into the other columns of the selection.

Up

Copies the bottom row of the selection into the other rows of the selection.

Left

Copies the right column of the selection into the other columns of the selection.

Series

Displays a dialog box that allows you to fill the current selection with a series of numbers or dates.

Clear

All

Removes the contents and formatting of the currently selected cells.

Formats

Removes only the formatting of the currently selected cells, leaves the contents unchanged.

Contents

Removes only the contents of the currently selected cells, leaves the formatting unchanged.

Comments

Removes any comments associated with the currently selected cells.

Delete

If entire rows or columns have been selected then this menu option will delete the selected rows or columns. Otherwise (that is, one or more cells have been selected) a dialog box will be displayed containing 4 options: (1) Shift cells left - delete the selected cells and move the cells on the right of them to the left to take their places, (2) Shift cells up - delete the selected cells and move the cells below them up to take their places, (3) Entire row - delete the entire rows that the selection spans, the rows below will be moved up, (4) Entire column - delete the entire columns that the selection spans, the columns to the right will be moved left.

Delete Sheet

Delete the currently displayed worksheet, chart or macro sheet. If there is only one worksheet in your spreadsheet file, you will not be allowed to delete it.

Move or Copy Sheet

Allows you to move or copy the current sheet to a different position in the file.

Find

Allows you to look for cells that contain specified things. This menu option displays a dialog box asking you 4 things: (1) the text that you want to search for, (2) whether to look for it in the formulas (what was typed into the cells) or in the values (what is displayed in the cells), (3) whether the search is to be case-sensitive (whether you want upper and lower case letters to be treated as different), and (4) whether to find cells that are equal to the text that you typed or just contain the text that you typed. Entering these and pressing Find next will move the cursor to the first cell after the current cursor position that matches your request. The dialog box stays on the screen until it is cancelled, so repeated pressing of the Find next button will take you to each of the cells that match your request.

Replace

Allows you to search for text in cell formulas and optionally replace one or all occurrences.

Go To

Allows you to move directly to another part of the worksheet. This menu option displays a dialog box that asks you for a cell reference. Entering the reference and pressing OK will move the cursor to the specified cell.

Insert menu

Cells

If entire rows or columns have been selected then this menu option will insert the selected rows or columns. Otherwise (that is, one or more cells have been selected) a dialog box will be displayed containing 4 options: (1) Shift cells right - the cells to the right of the selection will be moved to the right to make room for the new cells, (2) Shift cells down - the cells below the selection will be moved down to make room for the new cells, (3) Entire row - the entire rows that the selection spans will be inserted, (4) Entire column - the entire columns that the selection spans will be inserted.

Rows

Inserts one or more new rows where the selection is.

Columns

Inserts one or more new columns where the selection is.

Worksheet

Inserts a blank worksheet at the end of the spreadsheet file.

Chart

Sheet

Inserts a new chart sheet at the end of the spreadsheet file. If no cells have been selected then the Format Chart dialog box will be displayed, otherwise a default column chart will be built using the selected data.

Object

Inserts a new chart object on the current worksheet. Drag the pointer across the worksheet to indicate where the chart should be placed. If no cells have been selected then the Format Chart dialog box will be displayed, otherwise a default column chart will be built using the selected data.

Macro

Inserts a blank macro sheet at the end of the spreadsheet file. Macro sheets are used for storing custom (user-defined) functions and commands.

Function

Displays a dialog box from which you can select a function to be inserted into the current cell formula.

Name

Define

Displays a dialog box showing the names that have been defined for references in this spreadsheet file. It allows you to add new names, change the references of existing names, or to delete names that are no longer required.

Comment

This option allows you to add a comment to the currently selected cell. If there is already a comment attached to the cell, then this option will be changed to Edit comment, and the existing comment will be displayed for you to change. You can press the Escape key to leave without entering or changing the comment, or you can click outside the comment box to save the changes. When a cell contains a comment, there will be a comment indicator in the top-right corner of the cell. To display a comment you can either use this menu option, or you can click and hold the pointer on the cell for 1/2 a second, the comment will be displayed until you move or release the pointer. To remove a comment from a cell, use the Edit Clear Comments menu option.

Control

Label

Inserts a label.

Group box

Inserts a group box.

Command button

Inserts a command button.

Check box

Inserts a check box.

Option button

Inserts an option button.

List box

Inserts a list box.

Combo box

Inserts a combo box.

Scroll bar

Inserts a horizontal or vertical scroll bar.

Spin control

Inserts a spin control.

Drawing

Line

Inserts a line.

Rectangle

Inserts a rectangle.

Oval

Inserts an oval.

Text box

Inserts a text box.

Format menu

Cells

Displays a dialog box that allows you to change the way that the contents of the selected cells are displayed. You can change the way that numbers, amounts of money, dates, times and text are formatted. You can change the colour of the text, the pattern and colour of the cell background, and the type and colour of the cell borders.

Row

Height

Displays a dialog box showing the current height of the selected rows in points (the unit of measurement used for text), and allows you to change it. You can also change the row height by dragging the separator between the row numbers.

AutoFit

Sets the row height to the largest required for the values displayed in the row. You can also autofit a row by double-clicking on the separator below the row number.

Hide

Hides the selected rows.

Unhide

Unhides the selected rows. Because you cannot select individual hidden rows, you will have to use the Edit Go To menu option to move the cursor to the required row, or select all the rows from the one above the hidden rows to the one below, before using this option.

Column

Width

Displays a dialog box showing the current width of the selected columns in characters, and allows you to change it. You can also change the column width by dragging the separator between the column headings.

AutoFit

Sets the column width to the largest required for the values displayed in the selected cells. You can also autofit a column by double-clicking on the separator to the right of the column heading.

Hide

Hides the selected columns.

Unhide

Unhides the selected columns. Because you cannot select individual hidden columns, you will have to use the Edit Go To menu option to move the cursor to the required column, or select all the columns from the one to the left of the hidden columns to the one to the right, before using this option.

Standard Width

Displays a dialog box showing the default width of the columns on the current sheet, and allows you to change it.

Sheet

Rename

Displays a dialog box showing the current sheet name, and allows you to change it.

Hide

Allows you to hide the currently displayed sheet.

Unhide

Allows you to select a hidden sheet to be displayed.

Gridlines

Allows you to turn the gridlines on and off for the current sheet.

Headings

Allows you to turn the row and column headings on and off for the current sheet.

Zoom

Allows you to set the zoom level for the current sheet.

Protect

Allows you to turn protection on and off for the current sheet. When protection is on, only cells that are not locked (set by using the Format Cells menu option) can be changed.

Formulas

Allows you to toggle the display of the cell formulas and cell values for the current sheet.

Tab color

Allows you to change the tab color for the current sheet.

File

Allows you to select whether the Vertical scrollbar, Horizontal scrollbar and Sheet tabs are to be displayed for sheets in the current file.

Program

Allows you to select whether the Toolbar, Formula bar and Status bar are to be displayed by the program.

Conditional

Allows you to select alternative formatting for cells depending on conditions.

Freeze

On a worksheet, this allows you to fix the currently displayed row and/or column headings so that they will not move when the sheet is scrolled. When you use this option, the rows above the cursor cell and the columns to the left of it will be fixed. For example, if you want the top row to stay the same when you page down through the sheet, move the cursor to cell A2 and then use this menu option, the row above cell A2, which is row 1, will stay displayed when you page through the sheet, and as there are no columns to the left of cell A2, no columns will be fixed. When this option has been used, the menu option changes to 'Unfreeze' which allows you to free the rows and columns again.

Data

Sort

Displays a dialog box that allows you to sort the currently selected cells, either by rows or columns, in ascending or descending order.

AutoFilter

Allows you to filter the spreadsheet rows by specifying selection criteria.

Form

Allows you to display, update and search a table of data one record at a time.

Validation

Allows you to restrict the range of values that can be entered into a cell, or display a drop-down list to choose a value from, and display input and error messages.

Goal seek

Allows you to set a cell to a specific value by changing another cell.

Chart

On a chart sheet, this displays a dialog box that allows you to change the type of the chart, the data that is used, and the way in which the chart is formatted.

Control

Displays a dialog box that allows you to set the attributes of the currently selected Control object.

Drawing

Displays a dialog box that allows you to set the attributes of the currently selected Drawing object.

Formulas

To enter text or number information into the spreadsheet, just move the cursor to the required cell, type the text or number in the formula bar and press the enter key. In most spreadsheets you will want to do some calculations with this text and number information. This is done using formulas. Formulas are entered into cells using an equal sign followed by the expression to be evaluated. The result of the calculation will be displayed in the cell that contains the formula. Examples:

=2+2

Will display the value 4.

="Hello " & "world!"

Will display Hello world!.

=SUM(A1:A10)

Will add up the values in cells A1 to A10 and display the total.

Note that although you will usually see function names (like SUM above) in upper case, you can enter them in upper or lower case. The same applies to cell names, you could enter A1 or a1 to refer to the top left cell.

Many formulas, like SUM, allow you to specify not just one cell but a whole block of cells as a parameter. This is done by specifying the name of the cell at one corner of the block, followed by a colon, followed by the name of the cell at the opposite corner. For example the 2x2 square of cells in the top left corner of a worksheet could be specified by A1:B2 (or A2:B1, or B1:A2 etc, it doesn't matter which corner is specified first).

To refer to cells on other sheets, prefix the cell or range reference with the sheet name followed by an exclamation mark, for example Sheet1!A1 or Sheet1!A1:B2. If the sheet name contains spaces, you will need to put it in single quotes, like this: 'Other sheet'!A1.

Some formulas, such as =MMULT(A1:B2,C1:D2) (which multiplies two matrices together), can return more than one value. These are called Array formulas. To use these, you will first need to select a block of cells of the correct size and shape for the expected results, then type your formula into the formula bar, and enter it not by pressing the Enter key, but by holding down the Shift and Control keys and then pressing the Enter key. This tells the program that this is an Array formula.

Functions

Database

Date/time

Engineering

Financial

Information

Logical

Lookup/reference

Math/trigonometry

Statistical

Text

Macro control

Macro command

DDE/external

Database functions

[ ] indicates optional parameters

DAVERAGE(database_range, field, criteria_range)

DCOUNT(database_range, [field], criteria_range)

DCOUNTA(database_range, [field], criteria_range)

DGET(database_range, field, criteria_range)

DMAX(database_range, field, criteria_range)

DMIN(database_range, field, criteria_range)

DPRODUCT(database_range, field, criteria_range)

DSTDEV(database_range, field, criteria_range)

DSTDEVP(database_range, field, criteria_range)

DSUM(database_range, field, criteria_range)

DVAR(database_range, field, criteria_range)

DVARP(database_range, field, criteria_range)

Date/time functions

[ ] indicates optional parameters

DATE(year, month, day)

DATEDIF(date1, date2, units)

DATEVALUE(date_text)

DAY(serial_number)

DAYS360(start_date, end_date, [method])

EDATE(start_date, months)

EOMONTH(start_date, months)

HOUR(serial_number)

MINUTE(serial_number)

MONTH(serial_number)

NETWORKDAYS(start_date, end_date, [holidays])

NOW()

SECOND(serial_number)

TIME(hour, minute, second)

TIMEVALUE(time_text)

TODAY()

WEEKDAY(serial_number, [return_type])

WEEKNUM(serial_number, [return_type])

WORKDAY(start_date, number_days, [holidays])

YEAR(serial_number)

YEARFRAC(start_date, end_date, [basis])

Engineering functions

[ ] indicates optional parameters

BESSELI(x, n)

BESSELJ(x, n)

BESSELK(x, n)

BESSELY(x, n)

BIN2DEC(number)

BIN2HEX(number, [places])

BIN2OCT(number, [places])

COMPLEX(real_num, imag_num, [suffix])

CONVERT(number, from_unit, to_unit)

DEC2BIN(number, [places])

DEC2HEX(number, [places])

DEC2OCT(number, [places])

DELTA(number1, [number2])

ERF(lower_limit, [upper_limit])

ERFC(x)

FACTDOUBLE(number)

GESTEP(number, [step])

HEX2BIN(number, [places])

HEX2DEC(number)

HEX2OCT(number, [places])

IMABS(inumber)

IMAGINARY(inumber)

IMARGUMENT(inumber)

IMCONJUGATE(inumber)

IMCOS(inumber)

IMDIV(inumber1, inumber2)

IMEXP(inumber)

IMLN(inumber)

IMLOG10(inumber)

IMLOG2(inumber)

IMPOWER(inumber, power)

IMPRODUCT(inumber1, [inumber2, ...])

IMREAL(inumber)

IMSIN(inumber)

IMSQRT(inumber)

IMSUB(inumber1, inumber2)

IMSUM(inumber1, [inumber2, ...])

OCT2BIN(number, [places])

OCT2DEC(number)

OCT2HEX(number, [places])

Financial functions

[ ] indicates optional parameters

ACCRINT(issue_date, first_interest_date, settlement_date, rate, par, frequency, [basis])

ACCRINTM(issue_date, maturity_date, rate, [par], [basis])

AMORDEGRC(cost, purchase_date, first_period_date, salvage, period, rate, [basis])

AMORLINC(cost, purchase_date, first_period_date, salvage, period, rate, [basis])

COUPDAYBS(settlement_date, maturity_date, frequency, [basis])

COUPDAYS(settlement_date, maturity_date, frequency, [basis])

COUPDAYSNC(settlement_date, maturity_date, frequency, [basis])

COUPNCD(settlement_date, maturity_date, frequency, [basis])

COUPNUM(settlement_date, maturity_date, frequency, [basis])

COUPPCD(settlement_date, maturity_date, frequency, [basis])

CUMIPMT(rate, nper, pv, start_period, end_period, type)

CUMPRINC(rate, nper, pv, start_period, end_period, type)

DB(cost, salvage, life, period, [month])

DDB(cost, salvage, life, period, [factor])

DISC(settlement_date, maturity_date, pr, redemption, [basis])

DOLLARDE(fractional_dollar, fraction)

DOLLARFR(decimal_dollar, fraction)

DURATION(settlement_date, maturity_date, coupon, yield, frequency, [basis])

EFFECT(nominal_rate, npery)

FV(rate, term, [payment], [pv], [type])

FVSCHEDULE(principal, schedule_range)

INTRATE(settlement_date, maturity_date, investment_amount, redemption_amount, [basis])

IPMT(rate, period, term, pv, [fv], [type])

IRR(values_range, [guess])

ISPMT(rate, period, term, pv)

MDURATION(settlement_date, maturity_date, coupon, yield, frequency, [basis])

MIRR(values_range, finance_rate, reinvest_rate)

NOMINAL(effect_rate, npery)

NPER(rate, payment, pv, [fv], [type])

NPV(rate, value1, [value2, ...])

ODDFPRICE(settlement_date, maturity_date, issue_date, first_coupon_date, rate, yield, redemption, frequency, [basis])

ODDFYIELD(settlement_date, maturity_date, issue_date, first_coupon_date, rate, price, redemption, frequency, [basis])

ODDLPRICE(settlement_date, maturity_date, last_coupon_date, rate, yield, redemption, frequency, [basis])

ODDLYIELD(settlement_date, maturity_date, last_coupon_date, rate, price, redemption, frequency, [basis])

PMT(rate, term, [pv], [fv], [type])

PPMT(rate, period, term, pv, [fv], [type])

PRICE(settlement_date, maturity_date, rate, yield, redemption, frequency, [basis])

PRICEDISC(settlement_date, maturity_date, discount, redemption, [basis])

PRICEMAT(settlement_date, maturity_date, issue_date, rate, yield, [basis])

PV(rate, term, [payment], [fv], [type])

RATE(term, payment, pv, [fv], [type], [guess])

RECEIVED(settlement_date, maturity_date, investment, discount, [basis])

SLN(cost, salvage, life)

SYD(cost, salvage, life, period)

TBILLEQ(settlement_date, maturity_date, discount)

TBILLPRICE(settlement_date, maturity_date, discount)

TBILLYIELD(settlement_date, maturity_date, price)

VDB(cost, salvage, life, start_period, end_period, [factor], [no_switch])

XIRR(values_range, dates_range, [guess])

XNPV(rate, values_range, dates_range)

YIELD(settlement_date, maturity_date, rate, price, redemption, frequency, [basis])

YIELDDISC(settlement_date, maturity_date, price, redemption, [basis])

YIELDMAT(settlement_date, maturity_date, issue_date, rate, price, [basis])

Information functions

[ ] indicates optional parameters

CELL(info_type, [reference])

COUNTBLANK(range)

ERROR.TYPE(error_val)

INFO(type_text)

ISBLANK(value)

ISERR(value)

ISERROR(value)

ISEVEN(number)

ISLOGICAL(value)

ISNA(value)

ISNONTEXT(value)

ISNUMBER(value)

ISODD(number)

ISREF(value)

ISTEXT(value)

N(value)

NA()

TYPE(value)

Logical functions

[ ] indicates optional parameters

AND(logical1, [logical2, ...])

FALSE()

IF(logical_test, [value_if_true], [value_if_false])

NOT(logical)

OR(logical1, [logical2, ...])

TRUE()

Lookup/reference functions

[ ] indicates optional parameters

ADDRESS(row_num, column_num, [abs_num], [a1], [sheet_text])

AREAS(reference)

CHOOSE(index_num, value1, [value2, ...])

COLUMN([reference])

COLUMNS(range)

HLOOKUP(lookup_value, table_range, row_index_num, [range_lookup])

HYPERLINK(link_location, [friendly_name])

INDEX(reference, [row_num], [col_num], [area_num])

INDIRECT(ref_text, [a1])

LOOKUP(lookup_value, lookup_range, [result_range])

MATCH(lookup_value, lookup_range, [match_type])

OFFSET(reference, rows, cols, [height], [width])

ROW([reference])

ROWS(range)

TRANSPOSE(array)

VLOOKUP(lookup_value, table_range, col_index_num, [range_lookup])

Math/trigonometry functions

[ ] indicates optional parameters

ABS(number)

ACOS(number)

ACOSH(number)

ASIN(number)

ASINH(number)

ATAN(number)

ATAN2(x_num, y_num)

ATANH(number)

CEILING(number, significance)

COMBIN(number, number_chosen)

COS(number)

COSH(number)

COUNTIF(range, criteria)

DEGREES(angle)

EVEN(number)

EXP(number)

FACT(number)

FLOOR(number, significance)

GCD(number1, [number2, ...])

INT(number)

LCM(number1, [number2, ...])

LN(number)

LOG(number, [base])

LOG10(number)

MDETERM(range)

MINVERSE(array)

MMULT(array1, array2)

MOD(number, divisor)

MROUND(number, multiple)

MULTINOMIAL(number1, [number2, ...])

ODD(number)

PI()

POWER(number, power)

PRODUCT(number1, [number2, ...])

QUOTIENT(numerator, denominator)

RADIANS(angle)

RAND()

RANDBETWEEN(smallest, largest)

ROMAN(number, [form])

ROUND(number, num_digits)

ROUNDDOWN(number, [num_digits])

ROUNDUP(number, [num_digits])

SERIESSUM(x, n, m, coefficients)

SIGN(number)

SIN(number)

SINH(number)

SQRT(number)

SQRTPI(number)

SUBTOTAL(function_num, ref1, [ref2, ...])

SUM(number1, [number2, ...])

SUMIF(range, criteria, [sum_range])

SUMPRODUCT(range1, [range2, ...])

SUMSQ(number1, [number2, ...])

SUMX2MY2(x_range, y_range)

SUMX2PY2(x_range, y_range)

SUMXMY2(x_range, y_range)

TAN(number)

TANH(number)

TRUNC(number, [num_digits])

Statistical functions

[ ] indicates optional parameters

AVEDEV(number1, [number2, ...])

AVERAGE(number1, [number2, ...])

AVERAGEA(value1, [value2, ...])

BETADIST(x, alpha, beta, [A], [B])

BETAINV(probability, alpha, beta, [A], [B])

BINOMDIST(number_successes, trials, probability, cumulative)

CHIDIST(x, degrees_freedom)

CHIINV(probability, degrees_freedom)

CHITEST(actual_range, expected_range)

CONFIDENCE(alpha, standard_deviation, size)

CORREL(range1, range2)

COUNT(value1, [value2, ...])

COUNTA(value1, [value2, ...])

COVAR(range1, range2)

CRITBINOM(trials, probability_s, alpha)

DEVSQ(number1, [number2, ...])

EXPONDIST(x, lambda, cumulative)

FDIST(x, degrees_freedom1, degrees_freedom2)

FINV(probability, degrees_freedom1, degrees_freedom2)

FISHER(x)

FISHERINV(y)

FORECAST(x, y_range, x_range)

FREQUENCY(data_array, bins_array)

FTEST(range1, range2)

GAMMADIST(x, alpha, beta, cumulative)

GAMMAINV(probability, alpha, beta)

GAMMALN(x)

GEOMEAN(number1, [number2, ...])

GROWTH(known_ys, [known_xs], [new_xs], [const])

HARMEAN(number1, [number2, ...])

HYPGEOMDIST(sample_s, number_sample, population_s, number_population)

INTERCEPT(y_range, x_range)

KURT(number1, [number2, ...])

LARGE(range, k)

LINEST(known_ys, [known_xs], [const], [stats])

LOGEST(known_ys, [known_xs], [const], [stats])

LOGINV(probability, mean, standard_dev)

LOGNORMDIST(x, mean, standard_dev)

MAX(number1, [number2, ...])

MAXA(value1, [value2, ...])

MEDIAN(number1, [number2, ...])

MIN(number1, [number2, ...])

MINA(value1, [value2, ...])

MODE(number1, [number2, ...])

NEGBINOMDIST(number_f, number_s, probability_s)

NORMDIST(x, mean, standard_dev, cumulative)

NORMINV(probability, mean, standard_dev)

NORMSDIST(z)

NORMSINV(probability)

PEARSON(range1, range2)

PERCENTILE(range, k)

PERCENTRANK(range, x, [significance])

PERMUT(number, number_chosen)

POISSON(x, mean, cumulative)

PROB(x_range, prob_range, lower_limit, [upper_limit])

QUARTILE(range, quart)

RANK(number, range, [order])

RSQ(y_range, x_range)

SKEW(number1, [number2, ...])

SLOPE(y_range, x_range)

SMALL(range, k)

STANDARDIZE(x, mean, standard_dev)

STDEV(number1, [number2, ...])

STDEVA(value1, [value2, ...])

STDEVP(number1, [number2, ...])

STDEVPA(value1, [value2, ...])

STEYX(y_range, x_range)

TDIST(x, degrees_freedom, tails)

TINV(probability, degrees_freedom)

TREND(known_ys, [known_xs], [new_xs], [const])

TRIMMEAN(range, percent)

TTEST(range1, range2, tails, type)

VAR(number1, [number2, ...])

VARA(value1, [value2, ...])

VARP(number1, [number2, ...])

VARPA(value1, [value2, ...])

WEIBULL(x, alpha, beta, cumulative)

ZTEST(range, x, [sigma])

Text functions

[ ] indicates optional parameters

CHAR(number)

CLEAN(text)

CODE(text)

CONCATENATE(text1, [text2, ...])

DOLLAR(number, [decimals])

EXACT(text1, text2)

FIND(find_text, within_text, [start_num])

FIXED(number, [decimals], [no_commas])

LEFT(text, [num_chars])

LEN(text)

LOWER(text)

MID(text, start_num, num_chars)

PROPER(text)

REPLACE(old_text, start_num, num_chars, new_text)

REPT(text, number_times)

RIGHT(text, [num_chars])

SEARCH(find_text, within_text, [start_num])

SUBSTITUTE(text, old_text, new_text, [instance_num])

T(value)

TEXT(value, format_text)

TRIM(text)

UPPER(text)

VALUE(text)

Macro control functions

[ ] indicates optional parameters

ARGUMENT([name_text], [type], [reference])

BREAK()

ELSE()

ELSE.IF(logical_test)

END.IF()

GOTO(reference)

IF(logical_test)

NEXT()

RETURN([value])

SET.NAME(name_text, [value])

SET.VALUE(reference, values)

WAIT([serial_number])

WHILE(logical_test)

Macro command functions

[ ] indicates optional parameters

ACTIVATE([window_text], [pane_num])

ACTIVE.CELL()

ALERT(message_text, [type_num], [help_ref])

BEEP([tone_num])

CALCULATE.DOCUMENT()

CALCULATE.NOW()

CALLER()

CLEAR([type_num])

COLUMN.WIDTH([width_num], [reference], [standard], [type_num], [standard_num])

COPY([from_reference], [to_reference])

CUT([from_reference], [to_reference])

DATA.FORM()

DATA.SERIES([rowcol], [type_num], [date_num], [step_value], [stop_value], [trend])

DEREF(reference)

EDIT.DELETE([shift_num])

EVALUATE(formula_text)

FILL.DOWN()

FILL.LEFT()

FILL.RIGHT()

FILL.UP()

FONT.PROPERTIES([font], [font_style], [size], [strikethrough], [superscript], [subscript], [outline], [shadow], [underline], [color], [normal], [background], [start_char], [char_count])

FORMAT.NUMBER(format_text)

FORMULA(formula_text, [reference])

FORMULA.GOTO([reference], [corner])

GET.OBJECT(type_num, [object_id], [start_num], [count_num], [item_index])

GOAL.SEEK(target_cell, target_value, variable_cell)

INPUT(message_text, [type_num], [title_text], [default], [x_pos], [y_pos], [help_ref])

INSERT([shift_num])

ON.SHEET([sheet_text], [macro_text], [activate_logical])

PASTE([to_reference])

PASTE.SPECIAL([paste_num], [operation_num], [skip_blanks], [transpose])

PROTECT.DOCUMENT([contents], [windows], [password], [objects], [scenarios])

REFTEXT(reference, [a1])

ROW.HEIGHT([height_num], [reference], [standard_height], [type_num])

SELECT([selection], [active_cell])

SELECT.END(direction_num)

SELECT.LAST.CELL()

SELECTION()

SORT([orientation], [key1], [order1], [key2], [order2], [key3], [order3], [header], [custom], [case])

TEXTREF(text, [a1])

WORKBOOK.ACTIVATE(sheet_name)

WORKBOOK.DELETE([sheet_name])

WORKBOOK.INSERT([type_num])

WORKBOOK.NAME(old_sheet_name, new_sheet_name)

DDE/external functions

[ ] indicates optional parameters

CALL(module_text, procedure, type_text, [argument1, ...])

Database functions

DAVERAGE(database_range, field, criteria_range)

Returns the average of the values of a specified field in a database range.

database_range

A reference to the cells that contain the database (including the column headings). It is usually easiest to use a defined name for this.

field

The column number or column heading name of the values of which you want to find the average.

criteria_range

A reference to cells that contain the criteria that you want to use when selecting records from the database to process. You can specify the same range as used for the database_range parameter if you want to select all the rows.

DCOUNT(database_range, [field], criteria_range)

Returns the count of the number of rows in the database that meet the selection criteria and where the specified field contains a number.

database_range

A reference to the cells that contain the database (including the column headings). It is usually easiest to use a defined name for this.

field

The column number or column heading name of the values that you want to count. If this parameter is omitted then the function will return the number of database rows that meet the selection criteria.

criteria_range

A reference to cells that contain the criteria that you want to use when selecting records from the database to process. You can specify the same range as used for the database_range parameter if you want to select all the rows.

DCOUNTA(database_range, [field], criteria_range)

Returns the count of the number of rows in the database that meet the selection criteria and where the specified field is not blank.

database_range

A reference to the cells that contain the database (including the column headings). It is usually easiest to use a defined name for this.

field

The column number or column heading name of the values that you want to count. If this parameter is omitted then the function will return the number of database rows that meet the selection criteria.

criteria_range

A reference to cells that contain the criteria that you want to use when selecting records from the database to process. You can specify the same range as used for the database_range parameter if you want to select all the rows.

DGET(database_range, field, criteria_range)

Returns the value of a specified field from the row in the database range that meets the selection criteria. There should be one and only one row that meets the selection criteria. If no rows meet the criteria then the error #VALUE! is returned. If more than one row meets the criteria then the error #NUM! is returned.

database_range

A reference to the cells that contain the database (including the column headings). It is usually easiest to use a defined name for this.

field

The column number or column heading name of the value that you want to retrieve.

criteria_range

A reference to cells that contain the criteria that you want to use when selecting records from the database to process. You can specify the same range as used for the database_range parameter if you want to select all the rows.

DMAX(database_range, field, criteria_range)

Returns the maximum of the values of a specified field in a database range.

database_range

A reference to the cells that contain the database (including the column headings). It is usually easiest to use a defined name for this.

field

The column number or column heading name of the values of which you want to find the maximum.

criteria_range

A reference to cells that contain the criteria that you want to use when selecting records from the database to process. You can specify the same range as used for the database_range parameter if you want to select all the rows.

DMIN(database_range, field, criteria_range)

Returns the minimum of the values of a specified field in a database range.

database_range

A reference to the cells that contain the database (including the column headings). It is usually easiest to use a defined name for this.

field

The column number or column heading name of the values of which you want to find the minimum.

criteria_range

A reference to cells that contain the criteria that you want to use when selecting records from the database to process. You can specify the same range as used for the database_range parameter if you want to select all the rows.

DPRODUCT(database_range, field, criteria_range)

Returns the product of the values of a specified field in a database range.

database_range

A reference to the cells that contain the database (including the column headings). It is usually easiest to use a defined name for this.

field

The column number or column heading name of the values that you want to multiply together.

criteria_range

A reference to cells that contain the criteria that you want to use when selecting records from the database to process. You can specify the same range as used for the database_range parameter if you want to select all the rows.

DSTDEV(database_range, field, criteria_range)

Returns the standard deviation (based on a population sample) of the values of a specified field in a database range.

database_range

A reference to the cells that contain the database (including the column headings). It is usually easiest to use a defined name for this.

field

The column number or column heading name of the values of which you want to find the standard deviation.

criteria_range

A reference to cells that contain the criteria that you want to use when selecting records from the database to process. You can specify the same range as used for the database_range parameter if you want to select all the rows.

DSTDEVP(database_range, field, criteria_range)

Returns the standard deviation (based on the entire population) of the values of a specified field in a database range.

database_range

A reference to the cells that contain the database (including the column headings). It is usually easiest to use a defined name for this.

field

The column number or column heading name of the values of which you want to find the standard deviation.

criteria_range

A reference to cells that contain the criteria that you want to use when selecting records from the database to process. You can specify the same range as used for the database_range parameter if you want to select all the rows.

DSUM(database_range, field, criteria_range)

Returns the sum of the values of a specified field in a database range.

database_range

A reference to the cells that contain the database (including the column headings). It is usually easiest to use a defined name for this.

field

The column number or column heading name of the values of which you want to find the sum.

criteria_range

A reference to cells that contain the criteria that you want to use when selecting records from the database to process. You can specify the same range as used for the database_range parameter if you want to select all the rows.

DVAR(database_range, field, criteria_range)

Returns the variance (based on a population sample) of the values of a specified field in a database range.

database_range

A reference to the cells that contain the database (including the column headings). It is usually easiest to use a defined name for this.

field

The column number or column heading name of the values of which you want to find the variance.

criteria_range

A reference to cells that contain the criteria that you want to use when selecting records from the database to process. You can specify the same range as used for the database_range parameter if you want to select all the rows.

DVARP(database_range, field, criteria_range)

Returns the variance (based on the entire population) of the values of a specified field in a database range.

database_range

A reference to the cells that contain the database (including the column headings). It is usually easiest to use a defined name for this.

field

The column number or column heading name of the values of which you want to find the variance.

criteria_range

A reference to cells that contain the criteria that you want to use when selecting records from the database to process. You can specify the same range as used for the database_range parameter if you want to select all the rows.

Date/time functions

DATE(year, month, day)

Returns the date value corresponding to a specified year, month and day. Note that only dates from 1900 onwards can be used.

year

The year number. If you enter a number less than 1900 then 1900 will be added to the value.

month

The month number. Preferably between 1 and 12.

day

The day number. Preferably between 1 and 31.

DATEDIF(date1, date2, units)

Returns the difference between two dates in the units that you specify.

date1

The 'from' date.

date2

The 'to' date. This should be greater than or equal to the 'from' date.

units

The units in which you want the difference expressed. The possible values are:

"y"

The difference in years.

"m"

The difference in months.

"d"

The difference in days.

"ym"

The difference in months, dropping any whole years (the result will always be between 0 and 11).

"yd"

The difference in days, dropping any whole years (the result will always be between 0 and 365).

"md"

The difference in days, dropping any whole months (the result will always be between 0 and 30).

DATEVALUE(date_text)

Returns the date value that corresponds to a date in text form. Note that only dates from 1900 onwards can be used. You should not need to use this function, as dates are automatically converted from text to date values when they are used in formulas.

date_text

The date that you want to convert. It can contain date separators and/or a month name. If only the day and month is supplied then the year will default to the current year.

DAY(serial_number)

Returns the day number (between 1 and 31) from the specified date value.

serial_number

The date value from which you want to extract the day number.

DAYS360(start_date, end_date, [method])

Returns the number of days between two dates using a 360-day year (30 day months).

start_date

The 'from' date.

end_date

The 'to' date.

method

Indicates how to deal with end dates that are the 31st of the month (the start date will always be moved from the 31st to the 30th). The options are:

FALSE

US (NASD) method (if start date is less than the 30th then set end date to 1st of next month, else set end date to 30th).

TRUE

European method (end date moved form 31st to 30th).

If this parameter is omitted it defaults to FALSE.

EDATE(start_date, months)

Returns the date that is the start date plus or minus a number of months.

start_date

The 'from' date.

months

The number of months to be added or subtracted.

EOMONTH(start_date, months)

Returns the date that is the last day of the month calculated from the start date plus or minus a number of months.

start_date

The 'from' date.

months

The number of months to be added or subtracted.

HOUR(serial_number)

Returns the hour number (between 0 and 23) from the specified date/time value.

serial_number

The date/time value from which you want to extract the hour number.

MINUTE(serial_number)

Returns the minute number (between 0 and 59) from the specified date/time value.

serial_number

The date/time value from which you want to extract the minute number.

MONTH(serial_number)

Returns the month number (between 1 and 12) from the specified date/time value.

serial_number

The date/time value from which you want to extract the month number.

NETWORKDAYS(start_date, end_date, [holidays])

Returns the number of working days (weekdays) between the start and end dates, excluding any holidays.

start_date

The 'from' date.

end_date

The 'to' date.

holidays

A date or array of dates or a reference to a list of dates that are to be treated as non-working days.

NOW()

Returns the serial number corresponding to the current date and time.

SECOND(serial_number)

Returns the second number (between 0 and 59) from the specified date/time value.

serial_number

The date/time value from which you want to extract the second number.

TIME(hour, minute, second)

Returns the serial number corresponding to a specified hour, minute and second.

hour

The hour number. Preferably between 0 and 23.

minute

The minute number. Preferably between 0 and 59.

second

The second number. Preferably between 0 and 59.

TIMEVALUE(time_text)

Returns the time value that corresponds to a time in text form. You should not need to use this function, as times are automatically converted from text to time values when they are used in formulas.

time_text

The time that you want to convert. It can contain time separators and/or AM/PM designators. If seconds or minutes and seconds are not specified then they will default to zero.

TODAY()

Returns the serial number corresponding to the current date.

WEEKDAY(serial_number, [return_type])

Returns a number representing the day of the week of a given date.

serial_number

The date/time value from which you want the day of the week.

return_type

The range of values returned and what they represent. The possible values are:

1

From 1 to 7, where 1 = Sunday and 7 = Saturday.

2

From 1 to 7, where 1 = Monday and 7 = Sunday.

3

From 0 to 6, where 0 = Monday and 6 = Sunday.

If this parameter is omitted it defaults to 1.

WEEKNUM(serial_number, [return_type])

Returns the week of the year of a given date.

serial_number

The date/time value from which you want the week number.

return_type

The method used to calculate the week number. The possible values are:

0

International Standard (ISO) week numbers. Weeks begin on Monday. Week 1 is the first week where 4 or more days are in the specified year.

1

Microsoft week numbers. Weeks begin on Sunday. Week 1 is the week that contains January 1st.

2

Microsoft week numbers. Weeks begin on Monday. Week 1 is the week that contains January 1st.

If this parameter is omitted it defaults to 1.

WORKDAY(start_date, number_days, [holidays])

Returns the working day that is the start date plus or minus a number of working days (weekdays), excluding any holidays.

start_date

The 'from' date.

number_days

The number of working days to add or subtract.

holidays

A date or array of dates or a reference to a list of dates that are to be treated as non-working days.

YEAR(serial_number)

Returns the year number (greater than or equal to 1900) from the specified date/time value.

serial_number

The date/time value from which you want to extract the year number.

YEARFRAC(start_date, end_date, [basis])

Returns the fraction of a year represented by the difference between two dates.

start_date

The 'from' date.

end_date

The 'to' date.

basis

The method used to represent the number of days in the period versus the number of days in a year. The possible values are:

0

US (NASD) 30/360

1

Actual/actual

2

Actual/360

3

Actual/365

4

European 30/360

If this parameter is omitted it defaults to 0.

Engineering functions

BESSELI(x, n)

Returns the value of the modified Bessel function.

x

The value at which you want to evaluate the function.

n

The order of the Bessel function.

BESSELJ(x, n)

Returns the value of the Bessel function.

x

The value at which you want to evaluate the function.

n

The order of the Bessel function.

BESSELK(x, n)

Returns the value of the modified Bessel function.

x

The value at which you want to evaluate the function.

n

The order of the Bessel function.

BESSELY(x, n)

Returns the value of the Bessel function.

x

The value at which you want to evaluate the function.

n

The order of the Bessel function.

BIN2DEC(number)

Returns the decimal equivalent of a binary number.

number

The binary number to be converted. It can be a number or a string up to 10 (binary) digits long.

BIN2HEX(number, [places])

Returns a string that is the hexadecimal equivalent of a binary number.

number

The binary number to be converted. It can be a number or a string up to 10 (binary) digits long.

places

The minimum length required in the returned string. If the string is less than this length then it will be padded with leading zeros. If this parameter is omitted it defaults to zero.

BIN2OCT(number, [places])

Returns a string that is the octal equivalent of a binary number.

number

The binary number to be converted. It can be a number or a string up to 10 (binary) digits long.

places

The minimum length required in the returned string. If the string is less than this length then it will be padded with leading zeros. If this parameter is omitted it defaults to zero.

COMPLEX(real_num, imag_num, [suffix])

Returns a string representing an complex number made up of the specified real and imaginary parts.

real_num

The real part of the complex number.

imag_num

The imaginary part of the complex number.

suffix

The suffix to be used for the imaginary part. Should be "i" or "j". If this parameter is omitted it defaults to "i".

CONVERT(number, from_unit, to_unit)

Returns a value converted from the 'from' units to the 'to' units.

number

The number to be converted.

from_unit

The units to convert from.

to_unit

The units to convert to.

The from and to units must belong to the same group. The values are case-sensitive and must be entered exactly as shown. The possible values are:

Weight and mass

"Eg"

exagrams (1E18)

"Pg"

petagrams (1E15)

"Tg"

teragrams (1E12)

"Gg"

gigagrams (1E9)

"Mg"

megagrams (1E6)

"kg"

kilograms (1E3)

"hg"

hectograms (1E2)

"eg"

dekaograms (1E1)

"g"

grams (1)

"dg"

decigrams (1E-1)

"cg"

centigrams (1E-2)

"mg"

milligrams (1E-3)

"ug"

micrograms (1E-6)

"ng"

nanograms (1E-9)

"pg"

picograms (1E-12)

"fg"

femtograms (1E-15)

"ag"

attograms (1E-18)

"Eu"

exa-(atomic mass unit)

"Pu"

peta-(atomic mass unit)

"Tu"

tera-(atomic mass unit)

"Gu"

giga-(atomic mass unit)

"Mu"

mega-(atomic mass unit)

"ku"

kilo-(atomic mass unit)

"hu"

hecto-(atomic mass unit)

"eu"

dekao-(atomic mass unit)

"u"

atomic mass unit

"du"

deci-(atomic mass unit)

"cu"

centi-(atomic mass unit)

"mu"

milli-(atomic mass unit)

"uu"

micro-(atomic mass unit)

"nu"

nano-(atomic mass unit)

"pu"

pico-(atomic mass unit)

"fu"

femto-(atomic mass unit)

"au"

atto-(atomic mass unit)

"ozm"

ounce mass (avoirdupois)

"lbm"

pound mass (avoirdupois)

"sg"

slug

Distance

"Em"

exameters

"Pm"

petameters

"Tm"

terameters

"Gm"

gigameters

"Mm"

megameters

"km"

kilometers

"hm"

hectometers

"em"

dekaometers

"m"

meters

"dm"

decimeters

"cm"

centimeters

"mm"

millimeters

"um"

micrometers

"nm"

nanometers

"pm"

picometers

"fm"

femtometers

"am"

attometers

"Eang"

exa-(Angstrom units)

"Pang"

peta--(Angstrom units)

"Tang"

tera-(Angstrom units)

"Gang"

giga-(Angstrom units)

"Mang"

mega-(Angstrom units)

"kang"

kilo-(Angstrom units)

"hang"

hecto-(Angstrom units)

"eang"

dekao-(Angstrom units)

"ang"

Angstrom units

"dang"

deci-(Angstrom units)

"cang"

centi-(Angstrom units)

"mang"

milli-(Angstrom units)

"uang"

micro-(Angstrom units)

"nang"

nano-(Angstrom units)

"pang"

pico-(Angstrom units)

"fang"

femto-(Angstrom units)

"aang"

atto-(Angstrom units)

"Pica"

pica (1/72 inch)

"in"

inch

"ft"

foot

"yd"

yard

"mi"

statute mile

"Nmi"

nautical mile

Time

"Esec"

exaseconds

"Psec"

petaseconds

"Tsec"

teraseconds

"Gsec"

gigaseconds

"Msec"

megaseconds

"ksec"

kiloseconds

"hsec"

hectoseconds

"esec"

dekaoseconds

"sec"

seconds

"dsec"

deciseconds

"csec"

centiseconds

"msec"

milliseconds

"usec"

microseconds

"nsec"

nanoseconds

"psec"

picoseconds

"fsec"

femtoseconds

"asec"

attoseconds

"mn"

minutes

"hr"

hours

"day"

days

"yr"

years

Pressure

"EPa"

exapascal

"PPa"

petapascal

"TPa"

terapascal

"GPa"

gigapascal

"MPa"

megapascal

"kPa"

kilopascal

"hPa"

hectopascal

"ePa"

dekaopascal

"Pa"

pascal

"dPa"

decipascal

"cPa"

centipascal

"mPa"

millipascal

"uPa"

micropascal

"nPa"

nanopascal

"pPa"

picopascal

"fPa"

femtopascal

"aPa"

attopascal

"EmmHg"

exa-(mm of mercury)

"PmmHg"

peta-(mm of mercury)

"TmmHg"

tera-(mm of mercury)

"GmmHg"

giga-(mm of mercury)

"MmmHg"

mega-(mm of mercury)

"kmmHg"

kilo-(mm of mercury)

"hmmHg"

hecto-(mm of mercury)

"emmHg"

dekao-(mm of mercury)

"mmHg"

mm of mercury

"dmmHg"

deci-(mm of mercury)

"cmmHg"

centi-(mm of mercury)

"mmmHg"

milli-(mm of mercury)

"ummHg"

micro-(mm of mercury)

"nmmHg"

nano-(mm of mercury)

"pmmHg"

pico-(mm of mercury)

"fmmHg"

femto-(mm of mercury)

"ammHg"

atto-(mm of mercury)

"Eatm"

exaatmospheres

"Patm"

petaatmospheres

"Tatm"

teraatmospheres

"Gatm"

gigaatmospheres

"Matm"

megaatmosspheres

"katm"

kiloatmospheres

"hatm"

hectoatmospheres

"eatm"

dekaoatmospheres

"atm"

atmosphere

"datm"

deciatmospheres

"catm"

centiatmospheres

"matm"

milliatmospheres

"uatm"

microatmospheres

"natm"

nanoatmospheres

"patm"

picoatmospheres

"fatm"

femtoatmospheres

"aatm"

attoatmospheres

Force

"EN"

exanewtons

"PN"

petanewtons

"TN"

teranewtons

"GN"

giganewtons

"MN"

meganewtons

"kN"

kilonewtons

"hN"

hectonewtons

"eN"

dekaonewtons

"N"

newtons

"dN"

decinewtons

"cN"

centinewtons

"mN"

millinewtons

"uN"

micronewtons

"nN"

nanonewtons

"pN"

piconewtons

"fN"

femtonewtons

"aN"

attonewtons

"Edyn"

exadynes

"Pdyn"

petadynes

"Tdyn"

teradynes

"Gdyn"

gigadynes

"Mdyn"

megadynes

"kdyn"

kilodynes

"hdyn"

hectodynes

"edyn"

dekaodynes

"dyn"

dynes

"ddyn"

decidynes

"cdyn"

centidynes

"mdyn"

millidynes

"udyn"

microdynes

"ndyn"

nanodynes

"pdyn"

picodynes

"fdyn"

femtodynes

"adyn"

attodynes

"lbf"

pound force

Energy

"EJ"

exajoules

"PJ"

petajoules

"TJ"

terajoules

"GJ"

gigajoules

"MJ"

megajoules

"kJ"

kilojoules

"hJ"

hectojoules

"eJ"

dekaojoules

"J"

joules

"dJ"

decijoules

"cJ"

centijoules

"mJ"

millijoules

"uJ"

microjoules

"nJ"

nanojoules

"pJ"

picojoules

"fJ"

femtojoules

"aJ"

attojoules

"Ee"

exaergs

"Pe"

petaergs

"Te"

teraergs

"Ge"

gigaergs

"Me"

megaergs

"ke"

kiloergs

"he"

hectoergs

"ee"

dekaoergs

"e"

ergs

"de"

deciergs

"ce"

centiergs

"me"

milliergs

"ue"

microergs

"ne"

nanoergs

"pe"

picoergs

"fe"

femtoergs

"ae"

attoergs

"Ec"

exa-(thermodynamic calories)

"Pc"

peta-(thermodynamic calories)

"Tc"

tera-(thermodynamic calories)

"Gc"

giga-(thermodynamic calories)

"Mc"

mega-(thermodynamic calories)

"kc"

kilo-(thermodynamic calories)

"hc"

hecto-(thermodynamic calories)

"ec"

dekao-(thermodynamic calories)

"c"

thermodynamic calories

"dc"

deci-(thermodynamic calories)

"cc"

centi-(thermodynamic calories)

"mc"

milli-(thermodynamic calories)

"uc"

micro-(thermodynamic calories)

"nc"

nano-(thermodynamic calories)

"pc"

pico-(thermodynamic calories)

"fc"

femto-(thermodynamic calories)

"ac"

atto-(thermodynamic calories)

"Ecal"

exa-(IT calories)

"Pcal"

peta-(IT calories)

"Tcal"

tera-(IT calories)

"Gcal"

giga-(IT calories)

"Mcal"

mega-(IT calories)

"kcal"

kilo-(IT calories)

"hcal"

hecto-(IT calories)

"ecal"

dekao-(IT calories)

"cal"

IT calories

"dcal"

deci-(IT calories)

"ccal"

centi-(IT calories)

"mcal"

milli-(IT calories)

"ucal"

micro-(IT calories)

"ncal"

nano-(IT calories)

"pcal"

pico-(IT calories)

"fcal"

femto-(IT calories)

"acal"

atto-(IT calories)

"EeV"

exa-(electron volts)

"PeV"

peta-(electron volts)

"TeV"

tera-(electron volts)

"GeV"

giga-(electron volts)

"MeV"

mega-(electron volts)

"keV"

kilo-(electron volts)

"heV"

hecto-(electron volts)

"eeV"

dekao-(electron volts)

"eV"

electron volts

"deV"

deci-(electron volts)

"ceV"

centi-(electron volts)

"meV"

milli-(electron volts)

"ueV"

micro-(electron volts)

"neV"

nano-(electron volts)

"peV"

pico-(electron volts)

"feV"

femto-(electron volts)

"aeV"

atto-(electron volts)

"flb"

foot-pound

"BTU"

BTU

"EWh"

exa-(watt-hour)

"PWh"

peta-(watt-hour)

"TWh"

tera-(watt-hour)

"GWh"

giga-(watt-hour)

"MWh"

mega-(watt-hour)

"kWh"

kilo-(watt-hour)

"hWh"

hecto-(watt-hour)

"eWh"

dekao-(watt-hour)

"Wh"

watt-hour

"dWh"

deci-(watt-hour)

"cWh"

centi-(watt-hour)

"mWh"

milli-(watt-hour)

"uWh"

micro-(watt-hour)

"nWh"

nano-(watt-hour)

"pWh"

pico-(watt-hour)

"fWh"

femto-(watt-hour)

"aWh"

atto-(watt-hour)

"HPh"

Horsepower-hour

Power

"HP"

Horsepower

"EW"

exawatt

"PW"

petawatt

"TW"

terawatt

"GW"

gigawatt

"MW"

megawatt

"kW"

kilowatt

"hW"

hectowatt

"eW"

dekaowatt

"W"

watt

"dW"

deciwatt

"cW"

centiwatt

"mW"

milliwatt

"uW"

microwatt

"nW"

nanowatt

"pW"

picowatt

"fW"

femtowatt

"aW"

attowatt

Magnetism

"ET"

exatesla

"PT"

petatesla

"TT"

teratesla

"GT"

gigatesla

"MT"

megatesla

"kT"

kilotesla

"hT"

hectotesla

"eT"

dekaotesla

"T"

tesla

"dT"

decitesla

"cT"

centitesla

"mT"

millitesla

"uT"

microtesla

"nT"

nanotesla

"pT"

picotesla

"fT"

femtotesla

"aT"

attotesla

"Ega"

exagauss

"Pga"

petagauss

"Tga"

teragauss

"Gga"

gigagauss

"Mga"

megagauss

"kga"

kilogauss

"hga"

hectogauss

"ega"

dekaogauss

"ga"

gauss

"dga"

decigauss

"cga"

centigauss

"mga"

milligauss

"uga"

microgauss

"nga"

nanogauss

"pga"

picogauss

"fga"

femtogauss

"aga"

attogauss

Temperature

"C"

celcius

"F"

fahrenheit

"K"

kelvin

Liquid measure

"tsp"

teaspoon

"tbs"

tablespoon

"oz"

fluid ounce

"cup"

cup

"pt"

pint

"qt"

quart

"gal"

gallon

"El"

exaliter

"Pl"

petaliter

"Tl"

teraliter

"Gl"

gigaliter

"Ml"

megaliter

"kl"

kiloliter

"hl"

hectoliter

"el"

dekaoliter

"l"

liter

"dl"

deciliter

"cl"

centiliter

"ml"

milliliter

"ul"

microliter

"nl"

nanoliter

"pl"

picoliter

"fl"

femtoliter

"al"

attoliter

DEC2BIN(number, [places])

Returns a string that is the binary equivalent of a decimal number.

number

The decimal number to be converted.

places

The minimum length required in the returned string. If the string is less than this length then it will be padded with leading zeros. If this parameter is omitted it defaults to zero.

DEC2HEX(number, [places])

Returns a string that is the hexadecimal equivalent of a decimal number.

number

The decimal number to be converted.

places

The minimum length required in the returned string. If the string is less than this length then it will be padded with leading zeros. If this parameter is omitted it defaults to zero.

DEC2OCT(number, [places])

Returns a string that is the octal equivalent of a decimal number.

number

The decimal number to be converted.

places

The minimum length required in the returned string. If the string is less than this length then it will be padded with leading zeros. If this parameter is omitted it defaults to zero.

DELTA(number1, [number2])

Returns 1 if the numbers are equal, otherwise 0.

number1

The first of the numbers to be compared.

number2

The second of the numbers to be compared. If this parameter is omitted it defaults to zero.

ERF(lower_limit, [upper_limit])

Returns the integral of the error function between specified limits, or between zero and a specified limit.

lower_limit

The lower limit of the integral.

upper_limit

The upper limit of the integral. If this parameter is omitted integration is done between 0 and lower_limit.

ERFC(x)

Returns the integral of the error function between a specified limit and infinity.

x

The lower limit of the integral.

FACTDOUBLE(number)

Returns the double factorial of a number.

number

The number of which you want the double factorial.

GESTEP(number, [step])

Returns 1 if number is greater than or equal to step, otherwise 0.

number

The first of the numbers to be compared.

step

The second of the numbers to be compared. If this parameter is omitted it defaults to zero.

HEX2BIN(number, [places])

Returns a string that is the binary equivalent of a hexadecimal number.

number

The hexadecimal number to be converted.

places

The minimum length required in the returned string. If the string is less than this length then it will be padded with leading zeros. If this parameter is omitted it defaults to zero.

HEX2DEC(number)

Returns a number that is the decimal equivalent of a hexadecimal number.

number

The hexadecimal number to be converted.

HEX2OCT(number, [places])

Returns a string that is the octal equivalent of a hexadecimal number.

number

The hexadecimal number to be converted.

places

The minimum length required in the returned string. If the string is less than this length then it will be padded with leading zeros. If this parameter is omitted it defaults to zero.

IMABS(inumber)

Returns a number that is the modulus of a complex number.

inumber

The complex number of which you want the modulus.

IMAGINARY(inumber)

Returns a number that is the imaginary part of a complex number.

inumber

The complex number of which you want the imaginary part.

IMARGUMENT(inumber)

Returns a number that is the angle (in radians) represented by a complex number.

inumber

The complex number of which you want the argument.

IMCONJUGATE(inumber)

Returns a complex number that is the conjugate of the specified complex number.

inumber

The complex number of which you want the conjugate.

IMCOS(inumber)

Returns a complex number that is the cosine of the specified complex number.

inumber

The complex number of which you want the cosine.

IMDIV(inumber1, inumber2)

Returns a complex number that is the quotient of the specified complex numbers.

inumber1

The dividend complex number.

inumber2

The divisor complex number.

IMEXP(inumber)

Returns a complex number that is the exponential of the specified complex number.

inumber

The complex number of which you want the exponential.

IMLN(inumber)

Returns a complex number that is the natural logarithm of the specified complex number.

inumber

The complex number of which you want the natural logarithm.

IMLOG10(inumber)

Returns a complex number that is the base 10 logarithm of the specified complex number.

inumber

The complex number of which you want the base 10 logarithm.

IMLOG2(inumber)

Returns a complex number that is the base 2 logarithm of the specified complex number.

inumber

The complex number of which you want the base 2 logarithm.

IMPOWER(inumber, power)

Returns a complex number that is the specified complex number raised to a power.

inumber

The complex number that you want to raise to a power.

power

The power to which you want to raise the complex number.

IMPRODUCT(inumber1, [inumber2, ...])

Returns a complex number that is the product of the specified complex numbers.

inumber1, ...

The complex numbers that you want to multiply together.

IMREAL(inumber)

Returns a number that is the real part of a complex number.

inumber

The complex number of which you want the real part.

IMSIN(inumber)

Returns a complex number that is the sine of the specified complex number.

inumber

The complex number of which you want the sine.

IMSQRT(inumber)

Returns a complex number that is the square root of the specified complex number.

inumber

The complex number of which you want the square root.

IMSUB(inumber1, inumber2)

Returns a complex number that is the difference of the specified complex numbers.

inumber1

The minuend complex number.

inumber2

The subtrahend complex number.

IMSUM(inumber1, [inumber2, ...])

Returns a complex number that is the sum of the specified complex numbers.

inumber1, ...

The complex numbers that you want to add together.

OCT2BIN(number, [places])

Returns a string that is the binary equivalent of an octal number.

number

The octal number to be converted.

places

The minimum length required in the returned string. If the string is less than this length then it will be padded with leading zeros. If this parameter is omitted it defaults to zero.

OCT2DEC(number)

Returns a number that is the decimal equivalent of an octal number.

number

The octal number to be converted.

OCT2HEX(number, [places])

Returns a string that is the hexadecimal equivalent of an octal number.

number

The octal number to be converted.

places

The minimum length required in the returned string. If the string is less than this length then it will be padded with leading zeros. If this parameter is omitted it defaults to zero.

Financial functions

ACCRINT(issue_date, first_interest_date, settlement_date, rate, par, frequency, [basis])

Returns accrued interest for a security that pays periodic interest.

issue_date

The issue date.

first_interest_date

The first interest date.

settlement_date

The settlement date.

rate

The annual coupon rate.

par

The par value.

frequency

The number of interest payments per year. Should be 1, 2 or 4.

basis

The method used to represent the number of days in the period versus the number of days in a year. The possible values are:

0

US (NASD) 30/360

1

Actual/actual

2

Actual/360

3

Actual/365

4

European 30/360

If this parameter is omitted it defaults to 0.

ACCRINTM(issue_date, maturity_date, rate, [par], [basis])

Returns accrued interest for a security that pays interest at maturity.

issue_date

The issue date.

maturity_date

The maturity date.

rate

The annual coupon rate.

par

The par value. If this parameter is omitted it defaults to 1000.

basis

The method used to represent the number of days in the period versus the number of days in a year. The possible values are:

0

US (NASD) 30/360

1

Actual/actual

2

Actual/360

3

Actual/365

4

European 30/360

If this parameter is omitted it defaults to 0.

AMORDEGRC(cost, purchase_date, first_period_date, salvage, period, rate, [basis])

Returns the depreciation for each accounting period.

cost

The cost.

purchase_date

The purchase date.

first_period_date

The end date of the first period.

salvage

The salvage value.

period

The period for which you want to calculate the depreciation.

rate

The depreciation rate.

basis

The method used to represent the number of days in the period versus the number of days in a year. The possible values are:

0

US (NASD) 30/360

1

Actual/actual

2

Actual/360

3

Actual/365

4

European 30/360

If this parameter is omitted it defaults to 0.

AMORLINC(cost, purchase_date, first_period_date, salvage, period, rate, [basis])

Returns the depreciation for each accounting period.

cost

The cost.

purchase_date

The purchase date.

first_period_date

The end date of the first period.

salvage

The salvage value.

period

The period for which you want to calculate the depreciation.

rate

The depreciation rate.

basis

The method used to represent the number of days in the period versus the number of days in a year. The possible values are:

0

US (NASD) 30/360

1

Actual/actual

2

Actual/360

3

Actual/365

4

European 30/360

If this parameter is omitted it defaults to 0.

COUPDAYBS(settlement_date, maturity_date, frequency, [basis])

Returns the number of days from the beginning of the coupon period to the settlement date.

settlement_date

The settlement date.

maturity_date

The maturity date.

frequency

The number of coupon payments per year. Should be 1, 2 or 4.

basis

The method used to represent the number of days in the period versus the number of days in a year. The possible values are:

0

US (NASD) 30/360

1

Actual/actual

2

Actual/360

3

Actual/365

4

European 30/360

If this parameter is omitted it defaults to 0.

COUPDAYS(settlement_date, maturity_date, frequency, [basis])

Returns the number of days in the coupon period that contains the settlement date.

settlement_date

The settlement date.

maturity_date

The maturity date.

frequency

The number of coupon payments per year. Should be 1, 2 or 4.

basis

The method used to represent the number of days in the period versus the number of days in a year. The possible values are:

0

US (NASD) 30/360

1

Actual/actual

2

Actual/360

3

Actual/365

4

European 30/360

If this parameter is omitted it defaults to 0.

COUPDAYSNC(settlement_date, maturity_date, frequency, [basis])

Returns the number of days from the settlement date to the next coupon date.

settlement_date

The settlement date.

maturity_date

The maturity date.

frequency

The number of coupon payments per year. Should be 1, 2 or 4.

basis

The method used to represent the number of days in the period versus the number of days in a year. The possible values are:

0

US (NASD) 30/360

1

Actual/actual

2

Actual/360

3

Actual/365

4

European 30/360

If this parameter is omitted it defaults to 0.

COUPNCD(settlement_date, maturity_date, frequency, [basis])

Returns the next coupon date after the settlement date.

settlement_date

The settlement date.

maturity_date

The maturity date.

frequency

The number of coupon payments per year. Should be 1, 2 or 4.

basis

The method used to represent the number of days in the period versus the number of days in a year. The possible values are:

0

US (NASD) 30/360

1

Actual/actual

2

Actual/360

3

Actual/365

4

European 30/360

If this parameter is omitted it defaults to 0.

COUPNUM(settlement_date, maturity_date, frequency, [basis])

Returns the number of coupon periods between the settlement date and the maturity date.

settlement_date

The settlement date.

maturity_date

The maturity date.

frequency

The number of coupon payments per year. Should be 1, 2 or 4.

basis

The method used to represent the number of days in the period versus the number of days in a year. The possible values are:

0

US (NASD) 30/360

1

Actual/actual

2

Actual/360

3

Actual/365

4

European 30/360

If this parameter is omitted it defaults to 0.

COUPPCD(settlement_date, maturity_date, frequency, [basis])

Returns the coupon date before the settlement date.

settlement_date

The settlement date.

maturity_date

The maturity date.

frequency

The number of coupon payments per year. Should be 1, 2 or 4.

basis

The method used to represent the number of days in the period versus the number of days in a year. The possible values are:

0

US (NASD) 30/360

1

Actual/actual

2

Actual/360

3

Actual/365

4

European 30/360

If this parameter is omitted it defaults to 0.

CUMIPMT(rate, nper, pv, start_period, end_period, type)

Returns the cumulative interest paid on a loan in the specified periods.

rate

The interest rate.

nper

The total number of periods.

pv

The present value.

start_period

The first period number for which to calculate interest.

end_period

The last period number for which to calculate interest.

type

The timing of the payment. The possible values are:

0

Payment is made at the end of each period.

1

Payment is made at the start of each period.

CUMPRINC(rate, nper, pv, start_period, end_period, type)

Returns the cumulative principal paid on a loan in the specified periods.

rate

The interest rate.

nper

The total number of periods.

pv

The present value.

start_period

The first period number for which to calculate interest.

end_period

The last period number for which to calculate interest.

type

The timing of the payment. The possible values are:

0

Payment is made at the end of each period.

1

Payment is made at the start of each period.

DB(cost, salvage, life, period, [month])

Returns the depreciation in a specified period using the fixed declining balance method.

cost

The cost.

salvage

The salvage value.

life

The total number of periods.

period

The period number for which to calculate depreciation.

month

The number of months in the first year. If this parameter is omitted it defaults to 12.

DDB(cost, salvage, life, period, [factor])

Returns the depreciation in a specified period using the double declining balance method.

cost

The cost.

salvage

The salvage value.

life

The total number of periods.

period

The period number for which to calculate depreciation.

factor

The rate at which the balance declines. If this parameter is omitted it defaults to 2.

DISC(settlement_date, maturity_date, pr, redemption, [basis])

Returns the discount rate for a security.

settlement_date

The settlement date.

maturity_date

The maturity date.

pr

The price per $100 value.

redemption

The redemption per $100 value.

basis

The method used to represent the number of days in the period versus the number of days in a year. The possible values are:

0

US (NASD) 30/360

1

Actual/actual

2

Actual/360

3

Actual/365

4

European 30/360

If this parameter is omitted it defaults to 0.

DOLLARDE(fractional_dollar, fraction)

Returns the decimal equivalent of a dollar price expressed as a fraction.

fractional_dollar

The value expressed as a fraction.

fraction

The fraction denominator.

DOLLARFR(decimal_dollar, fraction)

Returns the fraction equivalent of a dollar price expressed as a decimal.

decimal_dollar

The value expressed as a decimal.

fraction

The fraction denominator.

DURATION(settlement_date, maturity_date, coupon, yield, frequency, [basis])

Returns the Macauley duration for a value of $100.

settlement_date

The settlement date.

maturity_date

The maturity date.

coupon

The interest rate.

yield

The annual yield rate.

frequency

The number of coupon payments per year. Should be 1, 2 or 4.

basis

The method used to represent the number of days in the period versus the number of days in a year. The possible values are:

0

US (NASD) 30/360

1

Actual/actual

2

Actual/360

3

Actual/365

4

European 30/360

If this parameter is omitted it defaults to 0.

EFFECT(nominal_rate, npery)

Returns the effective annual interest rate.

nominal_rate

The nominal annual interest rate.

npery

The number of compound interest payments per year.

FV(rate, term, [payment], [pv], [type])

Returns the future value of an investment at a fixed rate.

rate

The interest rate per period.

term

The total number of periods.

payment

The payment amount each period. If this parameter is omitted it is assumed to be zero.

pv

The present value. If this parameter is omitted it is assumed to be zero.

type

The timing of the payment. The possible values are:

0

Payment is made at the end of each period.

1

Payment is made at the start of each period.

If this parameter is omitted it defaults to 0.

FVSCHEDULE(principal, schedule_range)

Returns the future value of an investment at a variable rate.

principal

The initial value of the investment.

schedule_range

The list (array or reference) of interest rates to be applied.

INTRATE(settlement_date, maturity_date, investment_amount, redemption_amount, [basis])

Returns the interest rate for a fully invested security.

settlement_date

The settlement date.

maturity_date

The maturity date.

investment_amount

The initial value.

redemption_amount

The final value.

basis

The method used to represent the number of days in the period versus the number of days in a year. The possible values are:

0

US (NASD) 30/360

1

Actual/actual

2

Actual/360

3

Actual/365

4

European 30/360

If this parameter is omitted it defaults to 0.

IPMT(rate, period, term, pv, [fv], [type])

Returns the interest payment for a given period.

rate

The interest rate per period.

period

The period for which you want the interest amount.

term

The total number of periods.

pv

The present value.

fv

The future value. If this parameter is omitted it is assumed to be zero.

type

The timing of the payment. The possible values are:

0

Payment is made at the end of each period.

1

Payment is made at the start of each period.

If this parameter is omitted it defaults to 0.

IRR(values_range, [guess])

Returns the internal rate of return.

values_range

The list (array or reference) of payment and income values.

guess

The estimated rate of return. If this parameter is omitted it defaults to 0.1.

ISPMT(rate, period, term, pv)

Returns the interest payment for a given period.

rate

The interest rate per period.

period

The period for which you want the interest amount.

term

The total number of periods.

pv

The present value.

MDURATION(settlement_date, maturity_date, coupon, yield, frequency, [basis])

Returns the modified Macauley duration for a value of $100.

settlement_date

The settlement date.

maturity_date

The maturity date.

coupon

The interest rate.

yield

The annual yield rate.

frequency

The number of coupon payments per year. Should be 1, 2 or 4.

basis

The method used to represent the number of days in the period versus the number of days in a year. The possible values are:

0

US (NASD) 30/360

1

Actual/actual

2

Actual/360

3

Actual/365

4

European 30/360

If this parameter is omitted it defaults to 0.

MIRR(values_range, finance_rate, reinvest_rate)

Returns the modified internal rate of return.

values_range

The list (array or reference) of payment and income values.

finance_rate

The interest rate on the payment values.

reinvest_rate

The interest rate on the income values.

NOMINAL(effect_rate, npery)

Returns the nominal annual interest rate.

effect_rate

The effective annual interest rate.

npery

The number of compound interest payments per year.

NPER(rate, payment, pv, [fv], [type])

Returns the number of periods required for an investment.

rate

The interest rate per period.

payment

The payment amount per period.

pv

The present value.

fv

The future value. If this parameter is omitted it defaults to 0.

type

The timing of the payment. The possible values are:

0

Payment is made at the end of each period.

1

Payment is made at the start of each period.

If this parameter is omitted it defaults to 0.

NPV(rate, value1, [value2, ...])

Returns the net present value of an investment.

rate

The discount rate per period.

value1, ...

The payment and income amounts.

ODDFPRICE(settlement_date, maturity_date, issue_date, first_coupon_date, rate, yield, redemption, frequency, [basis])

Returns the price per $100 face value of a security having an odd (short or long) first period.

settlement_date

The settlement date.

maturity_date

The maturity date.

issue_date

The issue date.

first_coupon_date

The first coupon date.

rate

The annual coupon rate.

yield

The annual yield rate.

redemption

The redemption value per $100.

frequency

The number of coupon payments per year. Should be 1, 2 or 4.

basis

The method used to represent the number of days in the period versus the number of days in a year. The possible values are:

0

US (NASD) 30/360

1

Actual/actual

2

Actual/360

3

Actual/365

4

European 30/360

If this parameter is omitted it defaults to 0.

ODDFYIELD(settlement_date, maturity_date, issue_date, first_coupon_date, rate, price, redemption, frequency, [basis])

Returns the yield of a security having an odd (short or long) first period.

settlement_date

The settlement date.

maturity_date

The maturity date.

issue_date

The issue date.

first_coupon_date

The first coupon date.

rate

The annual coupon rate.

price

The price per $100.

redemption

The redemption value per $100.

frequency

The number of coupon payments per year. Should be 1, 2 or 4.

basis

The method used to represent the number of days in the period versus the number of days in a year. The possible values are:

0

US (NASD) 30/360

1

Actual/actual

2

Actual/360

3

Actual/365

4

European 30/360

If this parameter is omitted it defaults to 0.

ODDLPRICE(settlement_date, maturity_date, last_coupon_date, rate, yield, redemption, frequency, [basis])

Returns the price per $100 face value of a security having an odd (short or long) last period.

settlement_date

The settlement date.

maturity_date

The maturity date.

last_coupon_date

The last coupon date.

rate

The annual coupon rate.

yield

The annual yield rate.

redemption

The redemption value per $100.

frequency

The number of coupon payments per year. Should be 1, 2 or 4.

basis

The method used to represent the number of days in the period versus the number of days in a year. The possible values are:

0

US (NASD) 30/360

1

Actual/actual

2

Actual/360

3

Actual/365

4

European 30/360

If this parameter is omitted it defaults to 0.

ODDLYIELD(settlement_date, maturity_date, last_coupon_date, rate, price, redemption, frequency, [basis])

Returns the yield of a security having an odd (short or long) last period.

settlement_date

The settlement date.

maturity_date

The maturity date.

last_coupon_date

The last coupon date.

rate

The annual coupon rate.

price

The price per $100.

redemption

The redemption value per $100.

frequency

The number of coupon payments per year. Should be 1, 2 or 4.

basis

The method used to represent the number of days in the period versus the number of days in a year. The possible values are:

0

US (NASD) 30/360

1

Actual/actual

2

Actual/360

3

Actual/365

4

European 30/360

If this parameter is omitted it defaults to 0.

PMT(rate, term, [pv], [fv], [type])

Returns the payment amount for a loan.

rate

The interest rate per period.

term

The total number of periods.

pv

The present value of the loan. If this parameter is omitted it defaults to 0.

fv

The future value of the loan. If this parameter is omitted it defaults to 0.

type

The timing of the payment. The possible values are:

0

Payment is made at the end of each period.

1

Payment is made at the start of each period.

If this parameter is omitted it defaults to 0.

PPMT(rate, period, term, pv, [fv], [type])

Returns the payment on the principal for a specified period.

rate

The interest rate per period.

period

The period for which you want the payment amount.

term

The total number of periods.

pv

The present value of the loan.

fv

The future value of the loan. If this parameter is omitted it defaults to 0.

type

The timing of the payment. The possible values are:

0

Payment is made at the end of each period.

1

Payment is made at the start of each period.

If this parameter is omitted it defaults to 0.

PRICE(settlement_date, maturity_date, rate, yield, redemption, frequency, [basis])

Returns the price per $100 of a security.

settlement_date

The settlement date.

maturity_date

The maturity date.

rate

The annual coupon rate.

yield

The annual yield rate.

redemption

The redemption value per $100.

frequency

The number of coupon payments per year. Should be 1, 2 or 4.

basis

The method used to represent the number of days in the period versus the number of days in a year. The possible values are:

0

US (NASD) 30/360

1

Actual/actual

2

Actual/360

3

Actual/365

4

European 30/360

If this parameter is omitted it defaults to 0.

PRICEDISC(settlement_date, maturity_date, discount, redemption, [basis])

Returns the price per $100 of a discounted security.

settlement_date

The settlement date.

maturity_date

The maturity date.

discount

The discount rate.

redemption

The redemption value per $100.

basis

The method used to represent the number of days in the period versus the number of days in a year. The possible values are:

0

US (NASD) 30/360

1

Actual/actual

2

Actual/360

3

Actual/365

4

European 30/360

If this parameter is omitted it defaults to 0.

PRICEMAT(settlement_date, maturity_date, issue_date, rate, yield, [basis])

Returns the price per $100 of a security that pays interest at maturity.

settlement_date

The settlement date.

maturity_date

The maturity date.

issue_date

The issue date.

rate

The interest rate.

yield

The annual yield rate.

basis

The method used to represent the number of days in the period versus the number of days in a year. The possible values are:

0

US (NASD) 30/360

1

Actual/actual

2

Actual/360

3

Actual/365

4

European 30/360

If this parameter is omitted it defaults to 0.

PV(rate, term, [payment], [fv], [type])

Returns the present value of an investment at a fixed rate.

rate

The interest rate per period.

term

The total number of periods.

payment

The payment amount each period. If this parameter is omitted it is assumed to be zero.

fv

The future value. If this parameter is omitted it is assumed to be zero.

type

The timing of the payment. The possible values are:

0

Payment is made at the end of each period.

1

Payment is made at the start of each period.

If this parameter is omitted it defaults to 0.

RATE(term, payment, pv, [fv], [type], [guess])

Returns the interest rate per period of an annuity.

term

The total number of periods.

payment

The payment amount each period.

pv

The present value.

fv

The future value. If this parameter is omitted it is assumed to be zero.

type

The timing of the payment. The possible values are:

0

Payment is made at the end of each period.

1

Payment is made at the start of each period.

If this parameter is omitted it defaults to 0.

guess

The estimated rate of return. If this parameter is omitted it defaults to 0.1.

RECEIVED(settlement_date, maturity_date, investment, discount, [basis])

Returns the amount received at maturity for a fully invested security.

settlement_date

The settlement date.

maturity_date

The maturity date.

investment

The investment amount.

discount

The discount rate.

basis

The method used to represent the number of days in the period versus the number of days in a year. The possible values are:

0

US (NASD) 30/360

1

Actual/actual

2

Actual/360

3

Actual/365

4

European 30/360

If this parameter is omitted it defaults to 0.

SLN(cost, salvage, life)

Returns the straight line depreciation.

cost

The cost.

salvage

The salvage value.

life

The total number of periods.

SYD(cost, salvage, life, period)

Returns the sum of years depreciation.

cost

The cost.

salvage

The salvage value.

life

The total number of periods.

period

The period for which you want the depreciation.

TBILLEQ(settlement_date, maturity_date, discount)

Returns the bond-equivalent yield for a treasury bill.

settlement_date

The settlement date.

maturity_date

The maturity date.

discount

The discount rate.

TBILLPRICE(settlement_date, maturity_date, discount)

Returns the price per $100 for a treasury bill.

settlement_date

The settlement date.

maturity_date

The maturity date.

discount

The discount rate.

TBILLYIELD(settlement_date, maturity_date, price)

Returns the yield for a treasury bill.

settlement_date

The settlement date.

maturity_date

The maturity date.

price

The price per $100.

VDB(cost, salvage, life, start_period, end_period, [factor], [no_switch])

Returns the depreciation in a specified range of periods using the variable declining balance method.

cost

The cost.

salvage

The salvage value.

life

The total number of periods.

start_period

The first period number for which to calculate depreciation.

end_period

The last period number for which to calculate depreciation.

factor

The rate at which the balance declines. If this parameter is omitted it defaults to 2.

no_switch

Specifies whether to switch to straight-line depreciation when the straight-line depreciation is greater than the declining balance depreciation. The possible values are:

FALSE

Switch to straight-line depreciation.

TRUE

Do not switch to straight-line depreciation.

If this parameter is omitted it defaults to FALSE.

XIRR(values_range, dates_range, [guess])

Returns the internal rate of return.

values_range

The list (array or reference) of payment and income values.

dates_range

The list (array or reference) of the dates of the payment and income values.

guess

The estimated rate of return. If this parameter is omitted it defaults to 0.1.

XNPV(rate, values_range, dates_range)

Returns the net present value of an investment.

rate

The discount rate per period.

values_range

The list (array or reference) of payment and income values.

dates_range

The list (array or reference) of the dates of the payment and income values.

YIELD(settlement_date, maturity_date, rate, price, redemption, frequency, [basis])

Returns the yield on a security.

settlement_date

The settlement date.

maturity_date

The maturity date.

rate

The annual coupon rate.

price

The price per $100.

redemption

The redemption value per $100.

frequency

The number of coupon payments per year. Should be 1, 2 or 4.

basis

The method used to represent the number of days in the period versus the number of days in a year. The possible values are:

0

US (NASD) 30/360

1

Actual/actual

2

Actual/360

3

Actual/365

4

European 30/360

If this parameter is omitted it defaults to 0.

YIELDDISC(settlement_date, maturity_date, price, redemption, [basis])

Returns the annual yield for a discounted security.

settlement_date

The settlement date.

maturity_date

The maturity date.

price

The price per $100.

redemption

The redemption value per $100.

basis

The method used to represent the number of days in the period versus the number of days in a year. The possible values are:

0

US (NASD) 30/360

1

Actual/actual

2

Actual/360

3

Actual/365

4

European 30/360

If this parameter is omitted it defaults to 0.

YIELDMAT(settlement_date, maturity_date, issue_date, rate, price, [basis])

Returns the annual yield of a security that pays interest at maturity.

settlement_date

The settlement date.

maturity_date

The maturity date.

issue_date

The issue date.

rate

The interest rate.

price

The price per $100.

basis

The method used to represent the number of days in the period versus the number of days in a year. The possible values are:

0

US (NASD) 30/360

1

Actual/actual

2

Actual/360

3

Actual/365

4

European 30/360

If this parameter is omitted it defaults to 0.

Information functions

CELL(info_type, [reference])

Returns information about a worksheet cell.

info_type

The type of information you want returned. The possible values are:

"address"

A string containing the cell reference

"col"

The column number of the cell

"color"

1 if the cell is formatted in color for negative values, otherwise 0 (not currently implemented)

"contents"

The result of the formula in the cell, or 0 if the cell is empty

"filename"

The path, filename and sheet name of the cell

"format"

The number format that has been applied to the cell

"parentheses"

1 if the cell is formatted in parentheses for positive values, otherwise 0 (not currently implemented)

"prefix"

The text alignment that has been applied to the cell (not currently implemented)

"protect"

1 if the cell is locked, otherwise 0

"row"

The row number of the cell

"type"

A string representing the type of the cell result: "b" for blank, "l" for label (string), otherwise "v"

"width"

The cell width in characters

reference

The cell about which you want information. If this parameter is omitted it defaults to the cell containing the formula.

COUNTBLANK(range)

Returns the number of blank cells in a range.

range

The reference of the cells you want to check.

ERROR.TYPE(error_val)

Returns a number corresponding to the type of the error.

error_val

The error value, or cell containing the error value, that you want to check.

The returned values are:

#NULL!

1

#DIV/0!

2

#VALUE!

3

#REF!

4

#NAME?

5

#NUM!

6

#N/A

7

other

#N/A

INFO(type_text)

Returns information about the current spreadsheet.

type_text

The type of information you want returned. The possible values are:

"directory"

The path of the current file

"memavail"

The number of bytes of memory available

"memused"

The number of bytes of memory used

"numfile"

The number of spreadsheet files that are open

"origin"

A string containing the address of the cell in the top-left corner of the scrollable region

"osversion"

The operating system version number

"recalc"

A string containing "Automatic" or "Manual", depending on the recalculation mode

"release"

The release version with which this program is compatible

"system"

The operating system type

"totmem"

The total number of bytes of memory

ISBLANK(value)

Returns TRUE if the value is a reference to an empty cell, otherwise FALSE.

value

The cell whose value you want to check.

ISERR(value)

Returns TRUE if the value is an error other than #N/A, otherwise FALSE.

value

The expression whose result you want to check.

ISERROR(value)

Returns TRUE if the value is an error, otherwise FALSE.

value

The expression whose result you want to check.

ISEVEN(number)

Returns TRUE if the number is even, otherwise FALSE.

number

The number you want to check.

ISLOGICAL(value)

Returns TRUE if the value is a logical value, otherwise FALSE.

value

The expression whose result you want to check.

ISNA(value)

Returns TRUE if the value is the error #N/A, otherwise FALSE.

value

The expression whose result you want to check.

ISNONTEXT(value)

Returns TRUE if the value is not a string, otherwise FALSE.

value

The expression whose result you want to check.

ISNUMBER(value)

Returns TRUE if the value is a number, otherwise FALSE.

value

The expression whose result you want to check.

ISODD(number)

Returns TRUE if the number is odd, otherwise FALSE.

number

The number you want to check.

ISREF(value)

Returns TRUE if the value is a reference, otherwise FALSE.

value

The expression whose result you want to check.

ISTEXT(value)

Returns TRUE if the value is a string, otherwise FALSE.

value

The expression whose result you want to check.

N(value)

Returns a number corresponding to the input value, or 0 if the input value is a string. You should not need to use this function, as values are automatically converted where necessary when they are used in formulas.

value

The value you want as a number.

NA()

Returns the error value #N/A.

TYPE(value)

Returns a number corresponding to the type of the value.

value

The value, or cell containing the value, that you want to check.

The returned values are:

number

1

text

2

logical

4

error

16

array

64

Logical functions

AND(logical1, [logical2, ...])

Returns TRUE if all of the input values are TRUE.

logical1, ...

The values that you want to check.

FALSE()

Returns the logical value FALSE.

IF(logical_test, [value_if_true], [value_if_false])

Returns one of two other values depending no whether the logical test evaluates to TRUE or FALSE.

logical_test

An expression that results in TRUE or FALSE.

value_if_true

The value to be returned of the logical test is TRUE. If this parameter is omitted it defaults to 0.

value_if_false

The value to be returned of the logical test is FALSE. If this parameter is omitted it defaults to FALSE.

NOT(logical)

Returns TRUE if the input expression evaluates to FALSE, and vice versa.

logical

The logical expression for which you want the opposite value.

OR(logical1, [logical2, ...])

Returns TRUE if any of the input values are TRUE.

logical1, ...

The values that you want to check.

TRUE()

Returns the logical value TRUE.

Lookup/reference functions

ADDRESS(row_num, column_num, [abs_num], [a1], [sheet_text])

Returns a string containing the specified cell address.

row_num

The row number of the cell.

column_num

The column number of the cell.

abs_num

A number representing whether the row or column are to be absolute or relative. The possible values are:

1

Both absolute

2

Absolute row, relative column

3

Relative row, absolute column

4

Both relative

If this parameter is omitted it defaults to 1.

a1

Specifies the style of the reference. The possible values are:

FALSE

R1C1 style

TRUE

A1 style

If this parameter is omitted it defaults to TRUE.

sheet_text

Optional sheet name with which to prefix the reference.

AREAS(reference)

Returns the number of areas contained in the reference.

reference

The reference whose areas you want to count.

CHOOSE(index_num, value1, [value2, ...])

Returns one of several values depending on the index.

index_num

The index of the value to be returned, should be in the range 1 to 29.

value1, ...

Up to 29 values, one of which will be chosen to be the result.

COLUMN([reference])

Returns the column number of the reference.

reference

The reference whose column number you want. If this parameter is omitted it defaults to the cell containing the function.

COLUMNS(range)

Returns the number of columns in the reference.

range

The reference whose columns you want to count.

HLOOKUP(lookup_value, table_range, row_index_num, [range_lookup])

Returns a value from a horizontal table, found by searching for the lookup value in the top row of the table and then returning a value from the same or a different row in the table.

lookup_value

The value to be found in the table.

table_range

A reference containing the table cells.

row_index_num

The offset of the value to be returned, where 1 is the top row of the table.

range_lookup

Whether to find an approximate or exact match. The possible values are:

FALSE

An exact match is required

TRUE

If an exact match is not found, use the closest value less than the lookup value

If this parameter is omitted it defaults to TRUE.

HYPERLINK(link_location, [friendly_name])

Jumps to a cell or range when this cell is selected.

link_location

A text expression that evaluates to the form "filename" or "[filename]reference".

friendly_name

The text to be displayed in the cell. If this parameter is omitted it defaults to the link location text.

INDEX(reference, [row_num], [col_num], [area_num])

Returns a subset of an array or reference.

reference

The array or reference of which you want the subset.

row_num

The number of the row to return. If this parameter is omitted all rows will be returned.

col_num

The number of the column to return. If this parameter is omitted all columns will be returned.

area_num

The number of the area to return when the reference contains more than one area. If this parameter is omitted it defaults to 1.

INDIRECT(ref_text, [a1])

Returns a reference from the specified text.

ref_text

A text expression that evaluates to the name of a cell or range of cells.

a1

Specifies the style of the reference. The possible values are:

FALSE

R1C1 style

TRUE

A1 style

If this parameter is omitted it defaults to TRUE.

LOOKUP(lookup_value, lookup_range, [result_range])

Returns a value from a horizontal or vertical table, found by searching for the lookup value in the top row (for a horizontal table) or left column (for a vertical or square table) of the table and then returning a value from the corresponding position in the result range (if specified) or from the bottom row (for a horizontal table) or right column (for a vertical or square table) of the table.

lookup_value

The value to be found in the table.

table_range

A reference containing the table cells.

result_range

The range of cells from which to return a result. If this parameter is not specified the result will be returned from the opposite row or column of the table range.

MATCH(lookup_value, lookup_range, [match_type])

Returns a number representing the position of a value in a table.

lookup_value

The value to be found in the table.

lookup_range

A reference containing the table cells.

match_type

Whether to find an approximate or exact match. The possible values are:

1

If an exact match is not found, use the closest value less than the lookup value (the table values should be in ascending order)

0

An exact match is required

-1

If an exact match is not found, use the closest value greater than the lookup value (the table values should be in descending order)

If this parameter is omitted it defaults to 1.

OFFSET(reference, rows, cols, [height], [width])

Returns a new reference based on the specified reference.

reference

The reference to be used as a starting point.

rows

The number of rows to move the reference up (negative) or down (positive).

cols

The number of columns to move the reference left (negative) or right (positive).

height

The height of the new reference. If this parameter is omitted it defaults to the height of the old reference.

width

The width of the new reference. If this parameter is omitted it defaults to the width of the old reference.

ROW([reference])

Returns the row number of the reference.

reference

The reference whose row number you want. If this parameter is omitted it defaults to the cell containing the function.

ROWS(range)

Returns the number of rows in the reference.

range

The reference whose rows you want to count.

TRANSPOSE(array)

Returns the transposition of the specified array or reference.

array

The array or reference whose values you want to transpose.

VLOOKUP(lookup_value, table_range, col_index_num, [range_lookup])

Returns a value from a vertical table, found by searching for the lookup value in the left column of the table and then returning a value from the same or a different column in the table.

lookup_value

The value to be found in the table.

table_range

A reference containing the table cells.

col_index_num

The offset of the value to be returned, where 1 is the left column of the table.

range_lookup

Whether to find an approximate or exact match. The possible values are:

FALSE

An exact match is required

TRUE

If an exact match is not found, use the closest value less than the lookup value

If this parameter is omitted it defaults to TRUE.

Math/trigonometry functions

ABS(number)

Returns the absolute value of a number.

number

The number for which you want the absolute value.

ACOS(number)

Returns the angle in radians corresponding to the arccosine of a number.

number

The number for which you want the arccosine.

ACOSH(number)

Returns the angle in radians corresponding to the inverse hyperbolic cosine of a number.

number

The number for which you want the inverse hyperbolic cosine.

ASIN(number)

Returns the angle in radians corresponding to the arcsine of a number.

number

The number for which you want the arcsine.

ASINH(number)

Returns the angle in radians corresponding to the inverse hyperbolic sine of a number.

number

The number for which you want the inverse hyperbolic sine.

ATAN(number)

Returns the angle in radians corresponding to the arctangent of a number.

number

The number for which you want the arctangent.

ATAN2(x_num, y_num)

Returns the angle in radians corresponding to a pair of co-ordinates.

x_num

The x co-ordinate for which you want the angle.

y_num

The y co-ordinate for which you want the angle.

ATANH(number)

Returns the angle in radians corresponding to the inverse hyperbolic tangent of a number.

number

The number for which you want the inverse hyperbolic tangent.

CEILING(number, significance)

Returns the number rounded up (away from zero) to the next multiple of significance.

number

The number which you want rounded.

significance

The units you want to use for rounding.

COMBIN(number, number_chosen)

Returns the number of combinations in which a number of items can be chosen from a total number.

number

The total number of items.

number_chosen

The number of items chosen.

COS(number)

Returns the cosine of an angle.

number

The angle for which you want the cosine. It must be specified in radians.

COSH(number)

Returns the hyperbolic cosine of an angle.

number

The angle for which you want the hyperbolic cosine. It must be specified in radians.

COUNTIF(range, criteria)

Returns the number of cells in a specified range that meet the specified criteria.

range

A reference to the cells you want to count.

criteria

A string containing a comparison expression.

DEGREES(angle)

Converts an angle from radians to degrees.

angle

The angle that you want to convert.

EVEN(number)

Returns the number rounded up to the next even number.

number

The number which you want rounded.

EXP(number)

Returns the e raised to the power number.

number

The power to which you want to raise e.

FACT(number)

Returns the factorial of a number.

number

The number of which you want the factorial.

FLOOR(number, significance)

Returns the number rounded down (towards zero) to the next multiple of significance.

number

The number which you want rounded.

significance

The units you want to use for rounding.

GCD(number1, [number2, ...])

Returns the greatest common divisor of a set of numbers.

number1, ...

The numbers of which you want the greatest common divisor.

INT(number)

Returns the number rounded down to the next integer.

number

The number which you want rounded.

LCM(number1, [number2, ...])

Returns the lowest common multiple of a set of numbers.

number1, ...

The numbers of which you want the lowest common multiple.

LN(number)

Returns the natural logarithm of a number.

number

The number for which you want the natural logarithm.

LOG(number, [base])

Returns the logarithm of a number in a specified base.

number

The number for which you want the logarithm.

base

The base in which you want the logarithm. If this parameter is omitted it defaults to 10.

LOG10(number)

Returns the base 10 logarithm of a number.

number

The number for which you want the base 10 logarithm.

MDETERM(range)

Returns the determinant of a matrix.

range

An array or reference to cells containing the matrix.

MINVERSE(array)

Returns the inverse of a matrix.

array

An array or reference to cells containing the matrix.

MMULT(array1, array2)

Returns the product of two matrices.

array1

An array or reference to cells containing the first matrix.

array2

An array or reference to cells containing the second matrix.

MOD(number, divisor)

Returns the remainder of a division.

number

The dividend.

divisor

The divisor.

MROUND(number, multiple)

Returns the number rounded to a multiple.

number

The number that you want rounded.

multiple

The multiple to which you want the number rounded.

MULTINOMIAL(number1, [number2, ...])

Returns the factorial of the sum of the values divided by the product of their factorials.

number1, ...

The numbers of which you want the multinomial.

ODD(number)

Returns the number rounded up to the next odd number.

number

The number which you want rounded.

PI()

Returns the value of Pi.

POWER(number, power)

Returns the number raised to the power.

number

The number which you want raised to a power.

power

The power to which you want to raise the number.

PRODUCT(number1, [number2, ...])

Returns the product of a list of numbers.

number1, ...

The numbers that you want to multiply together.

QUOTIENT(numerator, denominator)

Returns the integer result of a division.

numerator

The dividend.

denominator

The divisor.

RADIANS(angle)

Converts an angle from degrees to radians.

angle

The angle that you want to convert.

RAND()

Returns a random number between 0 and 1.

RANDBETWEEN(smallest, largest)

Returns a random integer in the range you specify.

smallest

The lower limit of the range.

largest

The upper limit of the range.

ROMAN(number, [form])

Returns a string representing a number converted to roman numerals.

number

The number that you want to convert.

form

Specifies the compactness of the representation. The possible values are:

0

Classic

1

More compact

2

More compact

3

More compact

4

Simplified

TRUE

Classic

FALSE

Simplified

If this parameter is omitted it defaults to 0.

ROUND(number, num_digits)

Returns a number rounded to the number of decimal places specified.

number

The number that you want rounded.

num_digits

The number of decimal places to round to (may be negative).

ROUNDDOWN(number, [num_digits])

Returns a number rounded down to the number of decimal places specified.

number

The number that you want rounded.

num_digits

The number of decimal places to round to (may be negative). If this parameter is omitted it defaults to 0.

ROUNDUP(number, [num_digits])

Returns a number rounded up to the number of decimal places specified.

number

The number that you want rounded.

num_digits

The number of decimal places to round to (may be negative). If this parameter is omitted it defaults to 0.

SERIESSUM(x, n, m, coefficients)

Returns the value of a polynomial.

x

The number to be raised to a power.

n

The power of the first term in the series.

m

The difference between successive powers in the series.

coefficients

An array or reference to cells containing the coefficients.

SIGN(number)

Returns the sign of a number; 1 for positive, -1 for negative and 0 for zero.

number

The number of which you want the sign.

SIN(number)

Returns the sine of an angle.

number

The angle for which you want the sine. It must be specified in radians.

SINH(number)

Returns the hyperbolic sine of an angle.

number

The angle for which you want the hyperbolic sine. It must be specified in radians.

SQRT(number)

Returns the square root of a number.

number

The number of which you want the square root.

SQRTPI(number)

Returns the square root of a number after it is multiplied by Pi.

number

The number which you want to multiply by Pi and then take the square root.

SUBTOTAL(function_num, ref1, [ref2, ...]);

Returns the subtotal of values in one or more ranges, excluding other subtotal figures.

function_num

The subtotal function that you want. The possible values are:

1

AVERAGE

2

COUNT

3

COUNTA

4

MAX

5

MIN

6

PRODUCT

7

STDEV

8

STDEVP

9

SUM

10

VAR

11

VARP

ref1, ...

The ranges of cells that you want subtotalled.

SUM(number1, [number2, ...])

Returns the sum of a list of numbers.

number1, ...

The numbers that you want to add together.

SUMIF(range, criteria, [sum_range])

Returns the sum of cells in a specified range that meet the specified criteria.

range

A reference to the cells you want to check.

criteria

A string containing a comparison expression.

sum_range

A range containing values to be summed where the values in the first range meet the specified criteria. If this parameter is omitted then the values in the first range are summed.

SUMPRODUCT(range1, [range2, ...])

Returns the sum of the products of the cells in one or more ranges.

range1, ...

The ranges of cells where corresponding values are multiplied together and then summed.

SUMSQ(number1, [number2, ...])

Returns the sum of the squares of the numbers in the list.

number1, ...

The numbers that are to be squared and then summed.

SUMX2MY2(x_range, y_range)

Returns the sum of the differences of the squares of the numbers in the ranges.

x_range

The first range of numbers.

y_range

The second range of numbers.

SUMX2PY2(x_range, y_range)

Returns the sum of the sums of the squares of the numbers in the ranges.

x_range

The first range of numbers.

y_range

The second range of numbers.

SUMXMY2(x_range, y_range)

Returns the sum of the squares of the differences of the numbers in the ranges.

x_range

The first range of numbers.

y_range

The second range of numbers.

TAN(number)

Returns the tangent of an angle.

number

The angle for which you want the tangent. It must be specified in radians.

TANH(number)

Returns the hyperbolic tangent of an angle.

number

The angle for which you want the hyperbolic tangent. It must be specified in radians.

TRUNC(number, [num_digits])

Returns a number truncated to the number of decimal places specified.

number

The number that you want truncated.

num_digits

The number of decimal places to truncate to (may be negative).

Statistical functions

AVEDEV(number1, [number2, ...])

Returns the average of the differences of a set of numbers from their mean.

number1, ...

The numbers of which you want the average deviation.

AVERAGE(number1, [number2, ...])

Returns the average of a set of numbers.

number1, ...

The numbers of which you want the average.

AVERAGEA(value1, [value2, ...])

Returns the average of a set of values.

value1, ...

The values of which you want the average.

BETADIST(x, alpha, beta, [A], [B])

Returns the cumulative beta distribution probability.

x

The value at which you want to evaluate the function.

alpha

The alpha value.

beta

The beta value.

A

The lower limit. If this parameter is omitted it defaults to 0.

B

The upper limit. If this parameter is omitted it defaults to 1.

BETAINV(probability, alpha, beta, [A], [B])

Returns the value associated with the specified cumulative beta distribution probability.

probability

The cumulative beta distribution probability for which you want the value.

alpha

The alpha value.

beta

The beta value.

A

The lower limit. If this parameter is omitted it defaults to 0.

B

The upper limit. If this parameter is omitted it defaults to 1.

BINOMDIST(number_successes, trials, probability, cumulative)

Returns the binomial distribution probability.

number_successes

The number of trials that are successful.

trials

The total number of trials.

probability

The probability of a single trial being successful.

cumulative

Specifies whether to return the cumulative probability or not. The possible values are:

FALSE

Return the value of the function.

TRUE

Return the integral of the function.

CHIDIST(x, degrees_freedom)

Returns the chi-squared distribution probability.

x

The value at which you want to evaluate the function.

degrees_freedom

The number of degrees of freedom.

CHIINV(probability, degrees_freedom)

Returns the value associated with the specified chi-squared distribution probability.

probability

The probability for which you want the value.

degrees_freedom

The number of degrees of freedom.

CHITEST(actual_range, expected_range)

Returns the probability result of the chi-squared test.

actual_range

An array or reference to cells containing the empirical results.

expected_range

An array or reference to cells containing the theoretical results.

CONFIDENCE(alpha, standard_deviation, size)

Returns the confidence interval for a population mean.

alpha

The significance level.

standard_deviation

The population standard deviation.

size

The sample size.

CORREL(range1, range2)

Returns the correlation coefficient of two ranges.

range1

The first range to be compared.

range2

The second range to be compared.

COUNT(value1, [value2, ...])

Returns the count of numbers in a list.

value1, ...

The items whose numbers are to be counted.

COUNTA(value1, [value2, ...])

Returns the count of values in a list.

value1, ...

The items whose values are to be counted.

COVAR(range1, range2)

Returns the covariance of two ranges.

range1

The first range to be compared.

range2

The second range to be compared.

CRITBINOM(trials, probability_s, alpha)

Returns the value at which the cumulative binomial distribution is greater than or equal to alpha.

trials

The total number of trials.

probability_s

The probability of a single trial being successful.

alpha

The value at which you want to evaluate the function.

DEVSQ(number1, [number2, ...])

Returns the sum of the squares of the differences of a set of numbers from their mean.

number1, ...

The numbers of which you want the squared deviations.

EXPONDIST(x, lambda, cumulative)

Returns the exponential distribution probability.

x

The value at which you want to evaluate the function.

lambda

The lambda value.

cumulative

Specifies whether to return the cumulative probability or not. The possible values are:

FALSE

Return the value of the function.

TRUE

Return the integral of the function.

FDIST(x, degrees_freedom1, degrees_freedom2)

Returns the F distribution probability.

x

The value at which you want to evaluate the function.

degrees_freedom1

The degrees of freedom of the first set.

degrees_freedom2

The degrees of freedom of the second set.

FINV(probability, degrees_freedom1, degrees_freedom2)

Returns the value associated with the specified F distribution probability.

probability

The probability for which you want the value.

degrees_freedom1

The degrees of freedom of the first set.

degrees_freedom2

The degrees of freedom of the second set.

FISHER(x)

Returns the Fisher transformation.

x

The value at which to evaluate the function.

FISHERINV(y)

Returns the inverse Fisher transformation.

y

The value at which to evaluate the function.

FORECAST(x, y_range, x_range)

Returns the expected value of y for a given x value for a line passing through a specified set of points.

x

The x value at which to evaluate the function.

y_range

The y values that are already known.

x_range

The x values that are already known.

FREQUENCY(data_array, bins_array)

Returns the counts of items in specified numeric categories.

data_array

An array or reference to a range of cells containing values to be counted.

bins_array

An array or reference to a range of cells containing the upper limits for each category.

FTEST(range1, range2)

Returns the probability result of the F test.

range1

The first range to be compared.

range2

The second range to be compared.

GAMMADIST(x, alpha, beta, cumulative)

Returns the gamma distribution probability.

x

The value at which you want to evaluate the function.

alpha

The alpha value.

beta

The beta value.

cumulative

Specifies whether to return the cumulative probability or not. The possible values are:

FALSE

Return the value of the function.

TRUE

Return the integral of the function.

GAMMAINV(probability, alpha, beta)

Returns the value associated with the specified gamma distribution probability.

probability

The probability for which you want the value.

alpha

The alpha value.

beta

The beta value.

GAMMALN(x)

Returns the natural logarithm of the gamma function evaluated at x.

x

The value at which you want to evaluate the function.

GEOMEAN(number1, [number2, ...])

Returns the geometric mean of a set of numbers.

number1, ...

The numbers of which you want the geometric mean.

GROWTH(known_ys, [known_xs], [new_xs], [const])

Returns the expected values of y for given x values for an exponential curve passing through a specified set of points.

known_ys

The y values that are already known.

known_xs

The x values that are already known. If this parameter is omitted it defaults to an array of values from 1 to the number of known ys.

new_xs

The new x values for which y values are required. If this parameter is omitted it defaults to the known xs.

const

Specifies whether the line must pass through the origin. The possible values are:

FALSE

The intercept is forced to be 1.

TRUE

The intercept is calculated normally.

If this parameter is omitted it defaults to TRUE.

HARMEAN(number1, [number2, ...])

Returns the harmonic mean of a set of numbers.

number1, ...

The numbers of which you want the harmonic mean.

HYPGEOMDIST(sample_s, number_sample, population_s, number_population)

Returns the hypergeometric distribution probability.

sample_s

The number of sample trials that are successful.

number_sample

The total number of trials in the sample.

population_s

The number of population trials that are successful.

number_population

The total number of trials in the population.

INTERCEPT(y_range, x_range)

Returns the expected value of y when x is zero for a line passing though a specified set of points.

y_range

The y values that are already known.

x_range

The x values that are already known.

KURT(number1, [number2, ...])

Returns the kurtosis of a set of numbers.

number1, ...

The numbers of which you want the kurtosis.

LARGE(range, k)

Returns the kth largest number in a set of numbers.

range

An array or reference to cells containing numbers of which you want the kth largest.

k

The rank of the number that you want.

LINEST(known_ys, [known_xs], [const], [stats])

Returns the coefficients for a straight line using multiple linear regression.

known_ys

The y values that are already known.

known_xs

One or more sets of x values corresponding to the known y values. If this parameter is omitted it defaults to an array of values from 1 to the number of known ys.

const

Specifies whether the line must pass through the origin. The possible values are:

FALSE

The line is forced to pass through the origin.

TRUE

The line is not forced to pass through the origin.

If this parameter is omitted it defaults to TRUE.

stats

Specifies whether the additional statistics are returned in the rows below the coefficients. These are: the standard error values for the coefficients, the R2 coefficient, the standard error for the Y estimate, the F statistic, the degrees of freedom, the regression sum of squares and the residual sum of squares. The possible values are:

FALSE

The additional statistics are not returned.

TRUE

The additional statistics are returned.

If this parameter is omitted it defaults to FALSE.

LOGEST(known_ys, [known_xs], [const], [stats])

Returns the coefficients for an exponential curve using multiple linear regression.

known_ys

The y values that are already known.

known_xs

One or more sets of x values corresponding to the known y values. If this parameter is omitted it defaults to an array of values from 1 to the number of known ys.

const

Specifies whether the line must pass through the origin. The possible values are:

FALSE

The intercept is forced to be 1.

TRUE

The intercept is calculated normally.

If this parameter is omitted it defaults to TRUE.

stats

Specifies whether the additional statistics are returned in the rows below the coefficients. These are: the standard error values for the coefficients, the R2 coefficient, the standard error for the Y estimate, the F statistic, the degrees of freedom, the regression sum of squares and the residual sum of squares. The possible values are:

FALSE

The additional statistics are not returned.

TRUE

The additional statistics are returned.

If this parameter is omitted it defaults to FALSE.

LOGINV(probability, mean, standard_dev)

Returns the value associated with the specified cumulative lognormal distribution probability.

probability

The probability for which you want the value.

mean

The mean of the natural logarithms of the values.

standard_dev

The standard deviation of the natural logarithms of the values.

LOGNORMDIST(x, mean, standard_dev)

Returns the cumulative lognormal distribution probability.

x

The value at which you want to evaluate the function.

mean

The mean of the natural logarithms of the values.

standard_dev

The standard deviation of the natural logarithms of the values.

MAX(number1, [number2, ...])

Returns the maximum of a set of numbers.

number1, ...

The numbers of which you want the maximum.

MAXA(value1, [value2, ...])

Returns the maximum of a set of values.

value1, ...

The values of which you want the maximum.

MEDIAN(number1, [number2, ...])

Returns the median of a set of numbers.

number1, ...

The numbers of which you want the median.

MIN(number1, [number2, ...])

Returns the minimum of a set of numbers.

number1, ...

The numbers of which you want the minimum.

MINA(value1, [value2, ...])

Returns the minimum of a set of values.

value1, ...

The values of which you want the minimum.

MODE(number1, [number2, ...])

Returns the mode of a set of numbers.

number1, ...

The numbers of which you want the mode.

NEGBINOMDIST(number_f, number_s, probability_s)

Returns the negative binomial distribution probability.

number_f

The number of trials that fail.

number_s

The threshold number of trials that are successful.

probability_s

The probability of a single trial being successful.

NORMDIST(x, mean, standard_dev, cumulative)

Returns the normal distribution probability.

x

The value at which you want to evaluate the function.

mean

The mean of the values.

standard_dev

The standard deviation of the values.

cumulative

Specifies whether to return the cumulative probability or not. The possible values are:

FALSE

Return the value of the function.

TRUE

Return the integral of the function.

NORMINV(probability, mean, standard_dev)

Returns the value associated with the specified cumulative normal distribution probability.

probability

The probability for which you want the value.

mean

The mean of the values.

standard_dev

The standard deviation of the values.

NORMSDIST(z)

Returns the cumulative standard normal distribution probability.

z

The value at which you want to evaluate the function.

NORMSINV(probability)

Returns the value associated with the specified cumulative standard normal distribution probability.

probability

The probability for which you want the value.

PEARSON(range1, range2)

Returns the Pearson correlation coefficient.

range1

The first range to be compared.

range2

The second range to be compared.

PERCENTILE(range, k)

Returns the kth percentile of a set of values.

range

An array or reference to cells containing the values.

k

The percentile value.

PERCENTRANK(range, x, [significance])

Returns the percentile of a value in a set of values.

range

An array or reference to cells containing the values.

x

The value of which you want the percentile.

significance

The number of decimal places required in the result. If this parameter is omitted it defaults to 3.

PERMUT(number, number_chosen)

Returns the number of permutations in which a number of items can be chosen from a total number.

number

The total number of items.

number_chosen

The number of items chosen.

POISSON(x, mean, cumulative)

Returns the Poisson distribution probability.

x

The value at which you want to evaluate the function.

mean

The mean of the values.

cumulative

Specifies whether to return the cumulative probability or not. The possible values are:

FALSE

Return the value of the function.

TRUE

Return the integral of the function.

PROB(x_range, prob_range, lower_limit, [upper_limit])

Returns the probability that numbers in a set are between the specified limits.

x_range

An array or reference to cells containing the numbers.

prob_range

An array or reference to cells containing the probabilities associated with each number. These values must add up to 1.

lower_limit

The lower limit of the test.

upper_limit

The upper limit of the test. If this value is omitted it defaults to the value specified for the lower limit.

QUARTILE(range, quart)

Returns the specified quartile of a set of numbers.

range

An array or reference to cells containing the numbers.

quart

Specifies which quartile to return. The possible values are:

0

Returns the minimum value.

1

Returns the first quartile.

2

Returns the second quartile.

3

Returns the third quartile.

4

Returns the maximum value.

RANK(number, range, [order])

Returns the rank of a number in a set of numbers.

number

The number of which you want the rank.

range

An array or reference to cells containing the values.

order

Specifies whether the list is treated as being in ascending or descending order of value. The possible values are:

0

The list is in descending order (the highest value has rank 1).

any other value

The list is in ascending order (the lowest value has rank 1).

If this parameter is omitted it defaults to 0.

RSQ(y_range, x_range)

Returns the square of the Pearson correlation coefficient.

y_range

The first range to be compared.

x_range

The second range to be compared.

SKEW(number1, [number2, ...])

Returns the skewness of a set of numbers.

number1, ...

The numbers of which you want the skewness.

SLOPE(y_range, x_range)

Returns the slope of a line passing through a specified set of points.

y_range

The y values that are already known.

x_range

The x values that are already known.

SMALL(range, k)

Returns the kth smallest number in a set of numbers.

range

An array or reference to cells containing numbers of which you want the kth smallest.

k

The rank of the number that you want.

STANDARDIZE(x, mean, standard_dev)

Returns the standardized value of x for the specified mean and standard deviation.

x

The value that you want to standardize.

mean

The mean of the values.

standard_dev

The standard deviation of the values.

STDEV(number1, [number2, ...])

Returns the standard deviation (based on a population sample) of a set of numbers.

number1, ...

The numbers of which you want the standard deviation.

STDEVA(value1, [value2, ...])

Returns the standard deviation (based on a population sample) of a set of values.

value1, ...

The values of which you want the standard deviation.

STDEVP(number1, [number2, ...])

Returns the standard deviation (based on the entire population) of a set of numbers.

number1, ...

The numbers of which you want the standard deviation.

STDEVPA(value1, [value2, ...])

Returns the standard deviation (based on the entire population) of a set of values.

value1, ...

The values of which you want the standard deviation.

STEYX(y_range, x_range)

Returns the standard error of the y values of a line passing through a specified set of points.

y_range

The y values that are already known.

x_range

The x values that are already known.

TDIST(x, degrees_freedom, tails)

Returns the Student's T distribution probability.

x

The value at which you want to evaluate the function.

degrees_freedom

The degrees of freedom.

tails

Specifies the tails to include in the distribution. Should be 1 or 2.

TINV(probability, degrees_freedom)

Returns the value associated with the specified Student's T distribution probability.

probability

The probability for which you want the value.

degrees_freedom

The degrees of freedom.

TREND(known_ys, [known_xs], [new_xs], [const])

Returns the expected values of y for given x values for a line passing through a specified set of points.

known_ys

The y values that are already known.

known_xs

The x values that are already known. If this parameter is omitted it defaults to an array of values from 1 to the number of known ys.

new_xs

The new x values for which y values are required. If this parameter is omitted it defaults to the known xs.

const

Specifies whether the line must pass through the origin. The possible values are:

FALSE

The line is forced to pass through the origin.

TRUE

The line is not forced to pass through the origin.

If this parameter is omitted it defaults to TRUE.

TRIMMEAN(range, percent)

Returns the mean of a set of numbers with the extreme values removed.

range

An array or reference to cells containing the numbers.

percent

The percentage of the numbers to exclude from the calculation.

TTEST(range1, range2, tails, type)

Returns the probability result of the Student's T test.

range1

The first range to be compared.

range2

The second range to be compared.

tails

Specifies the tails to include in the distribution. Should be 1 or 2.

type

Specifies which type of test is required. The possible values are:

1

Paired.

2

Equal variance.

3

Unequal variance.

VAR(number1, [number2, ...])

Returns the variance (based on a population sample) of a set of numbers.

number1, ...

The numbers of which you want the variance.

VARA(value1, [value2, ...])

Returns the variance (based on a population sample) of a set of values.

value1, ...

The values of which you want the variance.

VARP(number1, [number2, ...])

Returns the variance (based on the entire population) of a set of numbers.

number1, ...

The numbers of which you want the variance.

VARPA(value1, [value2, ...])

Returns the variance (based on the entire population) of a set of values.

value1, ...

The values of which you want the variance.

WEIBULL(x, alpha, beta, cumulative)

Returns the Weibull distribution probability.

x

The value at which you want to evaluate the function.

alpha

The alpha value.

beta

The beta value.

cumulative

Specifies whether to return the cumulative probability or not. The possible values are:

FALSE

Return the value of the function.

TRUE

Return the integral of the function.

ZTEST(range, x, [sigma])

Returns the probability result of the z test.

range

An array or reference to cells containing the data against which x is to be tested.

x

The value to be tested.

sigma

The population standard deviation. If this parameter is omitted it defaults to the sample standard deviation of the data.

Text functions

CHAR(number)

Returns the character corresponding to the specified position in the character set.

number

The number of the character that you want.

CLEAN(text)

Returns a string corresponding to the input string with any unprintable characters removed.

text

The text from which you want to remove unprintable characters.

CODE(text)

Returns the position in the character set of the first character in the string.

text

The character of which you want the character code.

CONCATENATE(text1, [text2, ...])

Returns a string consisting of the input strings concatenated together.

text1, ...

The strings that you want to concatenate.

DOLLAR(number, [decimals])

Returns a string consisting of the input number rounded to the specified number of decimal places and converted to currency format.

number

The amount that you want to format.

decimals

The number of decimal places required. If this parameter is omitted it defaults to 2.

EXACT(text1, text2)

Returns TRUE if the input strings are exactly the same, otherwise FALSE.

text1

The first string to be compared.

text2

The second string to be compared.

FIND(find_text, within_text, [start_num])

Returns a number corresponding to the position of one text string within another (case-sensitive).

find_text

The text you want to find.

within_text

The text to be searched.

start_num

The position at which to start searching. If this parameter is omitted it defaults to 1.

FIXED(number, [decimals], [no_commas])

Returns a string consisting of the input number rounded to the specified number of decimal places.

number

The number that you want to format.

decimals

The number of decimal places required. If this parameter is omitted it defaults to 2.

no_commas

Specifies whether to suppress the thousands separator in the formatted number. The possible values are:

FALSE

The thousands separator is used.

TRUE

The thousands separator is not used.

If this parameter is omitted it defaults to FALSE.

LEFT(text, [num_chars])

Returns a string consisting of the specified number of characters from the beginning of the input string.

text

The string of which you want the beginning.

num_chars

The number of characters to extract from the string. If this parameter is omitted it defaults to 1.

LEN(text)

Returns the length of the input string.

text

The string of which you want the length.

LOWER(text)

Returns a string which is the input string with all of the characters converted to lower case.

text

The string you want to convert.

MID(text, start_num, num_chars)

Returns a string consisting of the specified number of characters from the specified position of the input string.

text

The string of which you want the extract.

start_num

The starting position of characters to extract from the string.

num_chars

The number of characters to extract from the string.

PROPER(text)

Returns a string which is the input string with the first letter of each word converted to upper case and all of the other characters converted to lower case.

text

The string you want to convert.

REPLACE(old_text, start_num, num_chars, new_text)

Returns a string which is the input string with a specified portion replaced.

old_text

The string you want to convert.

start_num

The starting position of the text to be removed.

num_chars

The number of characters to be removed.

new_text

The text to be inserted into the string.

REPT(text, number_times)

Returns a string which is the input string repeated a specified number of times.

text

The string you want to repeat.

number_times

The number of times to repeat the string.

RIGHT(text, [num_chars])

Returns a string consisting of the specified number of characters from the end of the input string.

text

The string of which you want the end.

num_chars

The number of characters to extract from the string. If this parameter is omitted it defaults to 1.

SEARCH(find_text, within_text, [start_num])

Returns a number corresponding to the position of one text string within another (not case-sensitive).

find_text

The text you want to find.

within_text

The text to be searched.

start_num

The position at which to start searching. If this parameter is omitted it defaults to 1.

SUBSTITUTE(text, old_text, new_text, [instance_num])

Returns a string which is the input string with specified text replaced.

text

The string you want to convert.

old_text

The string to be removed from the original text.

new_text

The string to be inserted in the original text.

instance_num

Specifies which occurrence of old_text is to be replaced. If this parameter is omitted then all occurrences are replaced.

T(value)

Returns a string which is the input value if it is text, otherwise an empty string.

value

The value you want if it is a string.

TEXT(value, format_text)

Returns a string consisting of the input number formatted using the specified format string.

value

The number that you want to format.

format_text

The format string to use.

TRIM(text)

Returns a string consisting of the input string with any extra spaces removed.

text

The string that you want to format.

UPPER(text)

Returns a string which is the input string with all of the characters converted to upper case.

text

The string that you want to convert.

VALUE(text)

Returns a number which corresponds to the value in the input string. You should not need to use this function, as values are automatically converted from text to numeric when required in formulas.

text

The string that you want to convert to a number.

Macro control functions

ARGUMENT([name_text], [type], [reference])

Defines an argument for a custom function.

name_text

The defined name that will be assigned to the argument. If this parameter is omitted then no name will be assigned.

type

The acceptable data type(s) for the argument value. It can be any combination of the following (to specify more than one value, add the numbers together):

1

Number

2

Text

4

Logical

8

Reference

16

Error

64

Array

If this parameter is omitted it defaults to 7.

reference

The cell reference where the argument value will be stored. If this parameter is omitted then the argument value will not be stored.

BREAK()

Ends the processing of a WHILE-NEXT loop. The macro will continue with the statement after the NEXT function.

ELSE()

Introduces the block of statements to be processed when the corresponding IF or ELSE.IF condition is false.

ELSE.IF(logical_test)

Specifies another logical test that conditions a block of statements when the corresponding IF or ELSE.IF condition is false.

logical_test

An expression that results in TRUE or FALSE.

END.IF()

Specifies the end of the block of statements conditioned by the corresponding IF or ELSE.IF.

GOTO(reference)

Forces the macro to continue with the statement at the reference.

reference

The reference of the cell where macro execution is to continue.

IF(logical_test)

Specifies a logical test that conditions the execution of a block of statements.

logical_test

An expression that results in TRUE or FALSE.

NEXT()

Specifies the end of the block of statements contained in a WHILE-NEXT loop. The logical test in the corresponding WHILE statement will be done again, and if it is true then the block of statements in the loop will be executed again, otherwise execution will continue with the statement after this NEXT.

RETURN([value])

Forces the macro to end, and if it is a custom function then to return the specified value.

value

For custom functions, the value to be returned.

SET.NAME(name_text, [value])

Assigns a defined name to the specified value.

name_text

The defined name to use.

value

The value to be associated with the name. If this parameter is omitted then the name is deleted.

SET.VALUE(reference, values)

Stores the specified values in the specified cells on the macro sheet. Do not use this function to try to update cells on a worksheet.

reference

The cells where the values are to be stored.

values

The values to be stored.

WAIT([serial_number])

Forces the macro to wait until the date/time specified by the serial number.

serial_number

The date/time when the macro is to resume. If this parameter is omitted the macro does not wait.

WHILE(logical_test)

Specifies a logical test that conditions the execution of a block of statements multiple times. The statements between the WHILE and NEXT functions will be repeated as long as the logical test returns the value TRUE.

logical_test

An expression that results in TRUE or FALSE.

Macro command functions

ACTIVATE([window_text], [pane_num])

Specifies the workbook, sheet and/or pane that is to be active.

window_text

The workbook and/or sheet name. If this parameter is omitted then the active window is not changed.

pane_num

For a split window, specifies which pane is to be active. The possible values are:

1

Upper or upper left.

2

Upper right.

3

Lower or lower left.

4

Lower right.

If this parameter is omitted it then the active pane is not changed.

ACTIVE.CELL()

Returns a reference which represents the current position of the cursor on the active worksheet.

ALERT(message_text, [type_num], [help_ref])

Displays a message box containing the specified text. It returns TRUE if the OK button is pressed, otherwise FALSE.

message_text

The text to be displayed in the message box.

type_num

The type of message box to be displayed. The possible values are:

1

A box containing a question mark icon and OK and Cancel buttons.

2

A box containing an information icon and an OK button.

3

A box containing an exclamation icon and an OK button.

If this parameter is omitted it defaults to 2.

help_ref

A reference to a Help topic (not currently implemented).

BEEP([tone_num])

Causes the computer to beep.

tone_num

A number from 1 to 4 indicating which type of beep is to be produced (not currently implemented - all values will produce the same tone). If this parameter is omitted it defaults to 1.

CALCULATE.DOCUMENT()

Causes the current worksheet to be recalculated.

CALCULATE.NOW()

Causes all worksheets to be recalculated.

CALLER()

Returns information about the caller of the macro.

Macro called from:

Function returns:

user-defined function

reference of cell containing function call

user-defined function in array formula

reference of array formula range

attached to control or drawing object

object identifier

manually (control key combination)

error value #REF!

CLEAR([type_num])

Simulates the Edit Clear menu option.

type_num

The type of information to clear from the current selection on the active worksheet. The possible values are:

1

Clear all

2

Clear formats

3

Clear contents

4

Clear comments

If this parameter is omitted it defaults to 3.

COLUMN.WIDTH([width_num], [reference], [standard], [type_num], [standard_num])

Simulates the Format Column menu options.

width_num

The new width of the columns. The width is measured in characters. This parameter is ignored if standard is TRUE or type_num is specified. If this parameter is omitted the width of the specified columns is not changed.

reference

The columns whose width is to be changed. If this parameter is omitted it defaults to the current selection on the active worksheet.

standard

Specifies whether the columns are to be set to the standard column width. The possible values are:

TRUE

The columns are set to the standard width.

FALSE

The columns are not set to the standard width.

If this parameter is omitted it defaults to FALSE.

type_num

Specifies whether the columns are to be hidden, unhidden or automatically sized. This parameter is ignored if standard is TRUE. The possible values are:

1

The columns are hidden.

2

The columns are unhidden.

3

The columns are set to the width of the longest displayed value.

If this parameter is omitted the columns will not be hidden, unhidden or auto-sized.

standard_num

Specifies the value to be used for the standard width. The width is measured in characters. If this parameter is omitted the standard width is not changed.

COPY([from_reference], [to_reference])

Simulates the Edit Copy menu option.

from_reference

The cells that are to be copied to the clipboard. If this parameter is omitted it defaults to the current selection on the active worksheet.

to_reference

The cells where the copied information is to be pasted. If this parameter is omitted then the cells are not pasted.

CUT([from_reference], [to_reference])

Simulates the Edit Cut menu option.

from_reference

The cells that are to be cut to the clipboard. If this parameter is omitted it defaults to the current selection on the active worksheet.

to_reference

The cells where the cut information is to be pasted. If this parameter is omitted then the cells are not pasted.

DATA.FORM()

Simulates the Format Data Form menu option.

DATA.SERIES([rowcol], [type_num], [date_num], [step_value], [stop_value], [trend])

Simulates the Edit Fill Series menu option.

rowcol

Indicates whether the series is in rows or columns. The possible values are:

1

Rows

2

Columns

If this parameter is omitted it defaults depending on the shape of the current selection.

type_num

The way in which the series values change. The possible values are:

1

Linear

2

Growth

3

Date

4

Auto (not currently implemented)

If this parameter is omitted it defaults to 1.

date_num

The way in which the date values change. The possible values are:

1

Day

2

Weekday

3

Month

4

Year

If this parameter is omitted it defaults to 1.

step_value

The number used to add to or multiply by the series value. If this parameter is omitted it defaults to 1.

stop_value

The value at which to stop filling the series. If this parameter is omitted then the entire selection is filled.

trend

Indicates whether to fill the series using trend values calculated from existing data. The possible values are:

FALSE

Don't use trend values.

TRUE

Use trend values (not currently implemented).

If this parameter is omitted it defaults to FALSE.

DEREF(reference)

Returns the values of cells in a reference. You should not need to use this function, as references are automatically converted to values where necessary when they are used in formulas.

reference

The reference to the cells whose values you want.

EDIT.DELETE([shift_num])

Simulates the Edit Delete menu option.

shift_num

The way in which the cell deletion is to be processed. The possible values are:

1

Shift cells left.

2

Shift cells up.

3

Delete entire rows.

4

Delete entire columns.

If this parameter is omitted it defaults to 2.

EVALUATE(formula_text)

Returns the result of evaluating a formula.

formula_text

The formula to be evaluated.

FILL.DOWN()

Simulates the Edit Fill Down menu option.

FILL.LEFT()

Simulates the Edit Fill Left menu option.

FILL.RIGHT()

Simulates the Edit Fill Right menu option.

FILL.UP()

Simulates the Edit Fill Up menu option.

FONT.PROPERTIES([font], [font_style], [size], [strikethrough], [superscript], [subscript], [outline], [shadow], [underline], [color], [normal], [background], [start_char], [char_count])

Formats the cells in the selection on the current worksheet using the specified font attributes.

font

The name of the font to be used.

font_style

The style to be used. The possible values are:

"Regular"

Removes the bold and italic attributes.

"Bold"

Sets the font to bold.

"Italic"

Sets the font to italic.

"Bold Italic"

Sets the font to bold and italic.

If this parameter is omitted the style is not changed.

size

The point size to be used. If this parameter is omitted the size is not changed.

strikethrough

Sets the strikethrough attribute. The possible values are:

FALSE

The font does not have the strikethrough attribute

TRUE

The font has the strikethrough attribute

If this parameter is omitted the strikethrough attribute is not changed.

superscript

Not currently implemented.

subscript

Not currently implemented.

outline

Not currently implemented.

shadow

Not currently implemented.

underline

The underline style to be used. The possible values are:

0

None

1

Single

2

Double (not currently implemented)

3

Single accounting (not currently implemented)

4

Double accounting (not currently implemented)

If this parameter is omitted the underline style is not changed.

color

The color to be used. The possible values are:

0

Automatic

1 to 56

One of the colors displayed in the Format Cells Font dialog box

If this parameter is omitted the color is not changed.

normal

Not currently implemented.

background

Not currently implemented.

start_char

Not currently implemented.

char_count

Not currently implemented.

FORMAT.NUMBER(format_text)

Formats the cells in the selection on the current worksheet using the specified format.

format_text

The number format to be used.

FORMULA(formula_text, [reference])

Enters the specified formula in the specified reference.

formula_text

The formula to be inserted.

reference

The reference where formula to be inserted. If this parameter is omitted it defaults to the cursor position on the active worksheet.

FORMULA.GOTO([reference], [corner])

Simulates the Edit Goto menu option.

reference

The cells that are to be selected. If the sheet name is omitted then it defaults to the currently active sheet. If this parameter is omitted it defaults to the sheet and cells that were selected before the last goto command.

corner

Specifies whether the top-left corner of the selection is to be placed in the top-left corner of the window. The possible values are:

FALSE

The sheet is not scrolled to move the selection to the top-left corner of the window.

TRUE

The sheet is scrolled to move the selection to the top-left corner of the window.

If this parameter is omitted it defaults to FALSE.

GET.OBJECT(type_num, [object_id], [start_num], [count_num], [item_index])

Returns information about the specified object.

type_num

The type of information to return. The possible values are:

1

object type as number:

1 line

2 rectangle

3 oval

6 text box

7 command button

11 check box

12 option button

14 label

16 spinner

17 scroll bar

18 list box

19 group box

20 drop down box

2

locked

3

z-order

4

top-left cell as R1C1 reference

5

x-offset of top-left corner in points

6

y-offset of top-left corner in points

7

bottom-right cell as R1C1 reference

8

x-offset of bottom-right corner in points

9

y-offset of bottom-right corner in points

10

reference of the macro as text

11

object positioning as number:

1 move and size with cells

2 move but don't size with cells

3 don't move or size with cells

12

object text from start_num for count_num characters

object_id

The object identifier. If this parameter is omitted it defaults to the currently selected object on the active worksheet.

start_num

The text substring start position for type_num 12. If this parameter is omitted it defaults to 1.

count_num

The text substring length for type_num 12. If this parameter is omitted it defaults to 255.

item_index

This parameter is not currently used.

GOAL.SEEK(target_cell, target_value, variable_cell)

Simulates the Format Data Goal seek menu option.

target_cell

The cell that is required to be a certain value. It must be a single cell containing a formula that returns a numeric result.

target_value

The value that the target cell needs to reach.

variable_cell

The cell whose value can be changed. It must be a single cell that either contains a number or is empty.

INPUT(message_text, [type_num], [title_text], [default], [x_pos], [y_pos], [help_ref])

Displays a message in a dialog box with an area for user input and OK and Cancel buttons. If the OK button is pressed then the text entered by the user is returned. If the Cancel button is pressed then this function returns the value FALSE.

message_text

The message that you want displayed in the dialog box.

type_num

The acceptable data type(s) for the data that you want returned. It can be any combination of the following (to specify more than one value, add the numbers together):

0

Formula

1

Number

2

Text

4

Logical

8

Reference

16

Error

64

Array

If this parameter is omitted it defaults to 2.

title_text

The title to be used for the dialog box. If this parameter is omitted it defaults to "Input".

default

The text that you want to be initially displayed in the input area of the dialog box. If this parameter is omitted the input area will be blank.

x_pos

The initial x position on the screen where the dialog box will be displayed. If this parameter is omitted it defaults to the center of the screen. (Not currently supported)

y_pos

The initial y position on the screen where the dialog box will be displayed. If this parameter is omitted it defaults to the center of the screen. (Not currently supported)

help_ref

The name of help topic that is to be displayed if the user presses the Help button in the dialog box. If this parameter is omitted then no Help button is displayed. (Not currently supported)

INSERT([shift_num])

Simulates the Insert Cells menu option.

shift_num

The way in which the cell insertion is to be processed. The possible values are:

1

Shift cells right.

2

Shift cells down.

3

Insert entire rows.

4

Insert entire columns.

If this parameter is omitted it defaults to 2.

ON.SHEET([sheet_text], [macro_text], [activate_logical])

Specifies a macro to be run when a sheet is activated or deactivated.

sheet_text

The name of the sheet for which the macro is to be run. If this parameter is omitted then the macro will be run for all sheets.

macro_text

The defined name that refers to the macro that is to be run. If this parameter is omitted then no macro will be run.

activate_logical

Specifies whether the macro is to be run when the sheet is activated or deactivated. The possible values are:

TRUE

The macro will be run when the sheet is activated.

FALSE

The macro will be run when the sheet is deactivated.

If this parameter is omitted it defaults to TRUE.

PASTE([to_reference])

Simulates the Edit Paste menu option.

to_reference

The cells where the copied information is to be pasted. If this parameter is omitted it defaults to the current selection on the active worksheet.

PASTE.SPECIAL([paste_num], [operation_num], [skip_blanks], [transpose])

Simulates the Edit Paste Special menu option.

paste_num

The type of information to be pasted. The possible values are:

1

All

2

Formulas

3

Values

4

Formats

5

Comments

6

All except borders

If this parameter is omitted it defaults to 1.

operation_num

The way in which the data being pasted is merged with existing data. The possible values are:

1

None

2

Add

3

Subtract

4

Multiply

5

Divide

If this parameter is omitted it defaults to 1.

skip_blanks

Whether to ignore blank cells in the data being pasted. The possible values are:

FALSE

Blank cells are included.

TRUE

Blank cells are skipped.

If this parameter is omitted it defaults to FALSE.

transpose

Whether to transpose the data being pasted. The possible values are:

FALSE

Data is not transposed.

TRUE

Data is transposed. (Not currently supported)

If this parameter is omitted it defaults to FALSE.

PROTECT.DOCUMENT([contents], [windows], [password], [objects], [scenarios])

Simulates the Format Sheet Protect menu option.

contents

Whether to protect the locked cell contents. The possible values are:

TRUE

The locked cell contents are protected

FALSE

The locked cell contents are unprotected

If this parameter is omitted it defaults to TRUE.

windows

Whether to protect windows from being moved or sized (not currently implemented). The possible values are:

TRUE

The windows are protected

FALSE

The windows are unprotected

If this parameter is omitted it defaults to FALSE.

password

An optional case-sensitive password to protect or unprotect the document (not currently implemented).

objects

Whether to protect the locked objects (not currently implemented). The possible values are:

TRUE

The locked objects are protected

FALSE

The locked objects are unprotected

If this parameter is omitted it defaults to TRUE.

scenarios

Whether to protect the scenarios (not currently implemented). The possible values are:

TRUE

The scenarios are protected

FALSE

The scenarios are unprotected

If this parameter is omitted it defaults to TRUE.

REFTEXT(reference, [a1])

Returns a string containing the specified reference.

reference

The reference that is to be converted to text.

a1

Specifies the style of the reference. The possible values are:

FALSE

R1C1 style

TRUE

A1 style

If this parameter is omitted it defaults to FALSE.

ROW.HEIGHT([height_num], [reference], [standard_height], [type_num])

Simulates the Format Row menu options.

height_num

The new height of the rows. The height is measured in points. This parameter is ignored if standard_height is TRUE or type_num is specified. If this parameter is omitted the height of the specified rows is not changed.

reference

The rows whose height is to be changed. If this parameter is omitted it defaults to the current selection on the active worksheet.

standard_height

Specifies whether the rows are to be set to the standard row height. The possible values are:

TRUE

The rows are set to the standard height.

FALSE

The rows are not set to the standard height.

If this parameter is omitted it defaults to FALSE.

type_num

Specifies whether the rows are to be hidden, unhidden or automatically sized. This parameter is ignored if standard_height is TRUE. The possible values are:

1

The rows are hidden.

2

The rows are unhidden.

3

The rows are set to the height of the highest displayed value.

If this parameter is omitted the rows will not be hidden, unhidden or auto-sized.

SELECT([selection], [active_cell])

Sets the selection and cursor cell on the active worksheet.

selection

The cells that are to be the selection. If this parameter is omitted the current selection is not changed.

active_cell

The cell that is to be the cursor cell. If this parameter is omitted it defaults to the top left cell in the selection.

SELECT.END(direction_num)

Simulates the Ctrl+arrow key combination.

direction_num

The direction in which to move the cursor. The possible values are:

1

Left

2

Right

3

Up

4

Down

SELECT.LAST.CELL()

Simulates the Ctrl+End key combination.

SELECTION()

Returns a reference which represents the current selection on the active worksheet.

SORT([orientation], [key1], [order1], [key2], [order2], [key3], [order3], [header], [custom], [case])

Simulates the Format Data Sort menu option.

orientation

Specifies whether to sort the rows or columns. The possible values are:

1

Sort rows

2

Sort columns

If this parameter is omitted it defaults to 1.

key1

Specifies a reference to the first column or row to sort on. If this parameter is omitted it defaults to the first column or row in the selection.

order1

Specifies whether to sort the data in ascending or descending order. The possible values are:

1

Ascending

2

Descending

If this parameter is omitted it defaults to 1.

key2

Specifies a reference to the second column or row to sort on. If this parameter is omitted then the second key is not used.

order2

Specifies whether to sort the data in ascending or descending order. The possible values are:

1

Ascending

2

Descending

If this parameter is omitted it defaults to 1.

key3

Specifies a reference to the third column or row to sort on. If this parameter is omitted then the third key is not used.

order3

Specifies whether to sort the data in ascending or descending order. The possible values are:

1

Ascending

2

Descending

If this parameter is omitted it defaults to 1.

header

Specifies whether the selected cells include a header row or column. The possible values are:

0

Determine the presence of a header automatically

1

There is a header

2

There is no header

If this parameter is omitted it defaults to 2.

custom

Specifies whether to use a custom list for the first sort key. The possible values are:

1

Use normal sort sequence

2

Day short names

3

Day long names

4

Month short names

5

Month long names

If this parameter is omitted it defaults to 1.

case

Specifies whether the sort should be case-sensitive. The possible values are:

TRUE

The sort is case-sensitive

FALSE

The sort is not case-sensitive

If this parameter is omitted it defaults to FALSE.

TEXTREF(text, [a1])

Returns a reference corresponding to the specified text.

text

The string containing the reference.

a1

Specifies the style of the reference. The possible values are:

FALSE

R1C1 style

TRUE

A1 style

If this parameter is omitted it defaults to FALSE.

WORKBOOK.ACTIVATE(sheet_name)

Specifies the sheet that is to be the active worksheet.

sheet_name

The sheet that is to be the active worksheet.

WORKBOOK.DELETE([sheet_name])

Deletes the specified sheet from the workbook.

sheet_name

The sheet that is to be deleted. If this parameter is omitted it defaults to the currently active sheet.

WORKBOOK.INSERT([type_num])

Adds a new sheet to the workbook.

type_num

The type of sheet that is to be added. The possible values are:

1

A worksheet

2

A chart

3

A macro sheet

If this parameter is omitted it defaults to the type of the currently active sheet.

WORKBOOK.NAME(old_sheet_name, new_sheet_name)

Renames the specified sheet in the workbook.

old_sheet_name

The sheet that is to be renamed.

new_sheet_name

The new name for the sheet.

DDE/external functions

CALL(module_text, procedure, type_text, [argument1, ...])

Returns a value from an external function.

module_text

The name of the DLL that contains the function.

procedure

The name of the function.

type_text

A string specifying the result type and the argument types. Each type is represented by a single character. The possible character values are:

A

Logical, passed by value

B

Double, passed by value

C

Null-terminated string, passed by reference

D

Byte-counted string, passed by reference

E

Double, passed by reference

F

Null-terminated string, passed by reference

G

Byte-counted string, passed by reference

H

Unsigned short integer, passed by value

I

Signed short integer, passed by value

J

Signed long integer, passed by value

K

Array, passed by reference

L

Logical, passed by reference

M

Signed short integer, passed by reference

N

Signed long integer, passed by reference

O

Array, passed by reference

P

OPER structure, passed by reference

R

XLOPER structure, passed by reference

argument1, ...

The arguments to pass to the function.

Charts

To add a chart, use the Insert Chart menu option to add a new chart sheet. Then use the Format Chart menu option to display the dialog box that contains the following formatting options:

Type

Series

Titles

Axes

Legend

Chart type

The program currently supports the following chart types:

Column

Displays vertical columns whose heights correspond to the data values.

Bar

Displays horizontal bars whose lengths correspond to the data values.

Line

Displays a line through points whose vertical positions correspond to the data values, the horizontal positions are evenly spaced.

Pie

Displays a circle divided up into regions whose relative sizes correspond to the data values.

Doughnut

Like the Pie chart but displays one or more series.

Scatter

Displays a line through points whose x and y coordinates are given by the data values.

Area

Like the line chart, but the area below the line is filled in, and the series values are stacked.

Radar

Displays a line through points whose distances from a central point correspond to the data values.

Chart series

This allows you to specify the data values to be used for each series. To add a new series, press the 'New...' button. To change an existing series, select it in the list box and then press the 'Edit...' button. To remove an existing series, select it in the list box and press the 'Delete' button.

Note that for Pie charts, only the first series will be displayed.

When entering or changing a series, you are prompted for the following information:

Data

Name

An optional name that is used to identify the series in the list box. It defaults to 'Series1', etc.

Y values

A reference to the cells that contain the data to be charted. You can specify more than one reference, separating them with commas, but they must all be from the same sheet. Alternatively you can specify this as an array of values.

X labels

For Column, Bar, Pie, Line and Area charts, you can specify a reference or array of values that will be used to label the categories. As there is only one set of labels, this must be the same for all the series on one chart. For Scatter charts, this item is labelled 'X values' and you must enter a reference or array of values to be used as the x co-ordinates of the line.

Patterns

Line type

Allows you to choose a solid, dashed or dotted line.

Line color

Allows you to specify the color of the line.

Marker type

For Line, Scatter and Radar charts, allows you to choose a marker for the data points.

Marker colors

For Line, Scatter and Radar charts, allows you to choose the foreground and background colors for the marker.

Area color

For Column, Bar, Pie, Doughnut and Area charts, allows you to specify the colour that will be used to fill the interior.

Labels

Label type

Allows you to display the x or y values next to the data points, and for Pie and Doughnut charts the percentages.

Chart titles

This allows you to specify the titles that will be used to label the chart itself and the x and y axes. Note that axis titles do not apply to Pie charts.

Chart axes

This allows you to specify the formatting of the x and y axes. The actual options that are available will depend on the currently selected chart type.

Axis

Specifies whether the axis line will be drawn.

Gridlines

Specifies whether the guidelines will be drawn.

Ticks

Specifies whether the axis tick marks will be drawn.

Values

Specifies whether the axis values will be displayed.

Logarithmic

Specifies whether a linear or logarithmic scale is required.

Minimum

Specifies the minimum value to be used on the scale.

Maximum

Specifies the maximum value to be used on the scale.

Step

Specifies the interval between the values on the scale.

Chart legend

This allows you to specify the whether and where to display the names that identify each series with its line and/or area color. For Pie charts, the information displayed will be the category names (from the 'X labels' entry in the series formatting dialog box), for other chart types it will be the Series names from the chart series list box.

Macros

Macros can be used to create user-defined functions to use in your spreadsheets, and user-defined commands to automate tasks.

User-defined functions

Macros are useful for user-defined functions in 2 situations:

1. You may have a complex function, which is composed of many nested functions, which is used in many places on your worksheet. A user-defined function would save you a lot of typing by specifying the actual calculation in only one place.

2. You may need to use an iterative or recursive calculation that has to be performed a certain number of times before a result is found.

These are the steps for entering a user defined function:

1. Use the Insert Macro menu option to insert a macro sheet in the workbook. Macros must be stored on macro sheets. You can have many macros on a single macro sheet.

2. Enter the macro function statements. A user-defined function macro will usually begin with one or more ARGUMENT functions to receive the parameters, and it must end with a RETURN function.

This example calculates the approximate integral of the function sin(x) between a lower and upper limit using the trapezium rule and dividing the area into 100 slices:

A

B

C

D

1

Integral:

=ARGUMENT(,1,D1)

lower:

2

=ARGUMENT(,1,D2)

upper:

3

=SET.VALUE(D3,0)

sum:

4

=SET.VALUE(D4,SIN(D1))

y0:

5

=SET.VALUE(D5,SIN(D2))

yn:

6

=SET.VALUE(D6,1)

i:

7

=WHILE(D6<D7)

steps:

100

8

=SET.VALUE(D8,D1+(D2-D1)*D6/D7)

x:

9

=SET.VALUE(D3,D3+SIN(D8))

10

=SET.VALUE(D6,D6+1)

11

=NEXT()

12

=RETURN((D2-D1)/D7/2*(D4+D5+2*D3))

3. Use the Insert Name Define menu option to add a name for the macro. For the example above, you could define a name called 'integral', which refers to cell: Macro1!$B$1. Note that the macro name in cell A1 is for our reference only, it is not used by the program.

4. Then on your worksheet (or even in another macro), use the defined name like an ordinary worksheet function name.

For the example above, if you enter 0 in cell A1 on your worksheet, and =PI() in cell A2 on your worksheet, and =integral(A1,A2) in cell A3, then cell A3 will display 1.9998355 (higher accuracy could be obtained with a larger number of steps but the calculation would take correspondingly longer).

Here is an example that uses recursion. Because macro sheets do not directly support recursion, I have implemented a simple stack to store the values at each level by concatenating them together in a string.

This function displays a number as text:

A

B

C

D

E

1

Say number:

=ARGUMENT(,1,D1)

input:

2

=SET.VALUE(D2,"")

output:

3

=SET.VALUE(D1,INT(D1))

temp:

4

=IF(D1<=0,RETURN(D2))

5

=IF(D1>=1000000)

6

stack input

=SET.VALUE(E1,D1&"|"&E1)

7

stack output

=SET.VALUE(E2,D2&"|"&E2)

8

get millions

=SET.VALUE(D3,saynumber(D1/1000000))

9

unstack output

=SET.VALUE(D2,LEFT(E2,FIND("|",E2)-1))

10

=SET.VALUE(E2,RIGHT(E2,LEN(E2)-FIND("|",E2)))

11

unstack input

=SET.VALUE(D1,LEFT(E1,FIND("|",E1)-1))

12

=SET.VALUE(E1,RIGHT(E1,LEN(E1)-FIND("|",E1)))

13

update output

=SET.VALUE(D2,D2&D3&" million")

14

update input

=SET.VALUE(D1,MOD(D1,1000000))

15

check if finished

=IF(D1=0,RETURN(D2))

16

=SET.VALUE(D2,D2&IF(D1<100," and "," "))

17

=END.IF()

18

=IF(D1>=1000)

19

stack input

=SET.VALUE(E1,D1&"|"&E1)

20

stack output

=SET.VALUE(E2,D2&"|"&E2)

21

get thousands

=SET.VALUE(D3,saynumber(D1/1000))

22

unstack output

=SET.VALUE(D2,LEFT(E2,FIND("|",E2)-1))

23

=SET.VALUE(E2,RIGHT(E2,LEN(E2)-FIND("|",E2)))

24

unstack input

=SET.VALUE(D1,LEFT(E1,FIND("|",E1)-1))

25

=SET.VALUE(E1,RIGHT(E1,LEN(E1)-FIND("|",E1)))

26

update output

=SET.VALUE(D2,D2&D3&" thousand")

27

update input

=SET.VALUE(D1,MOD(D1,1000))

28

check if finished

=IF(D1=0,RETURN(D2))

29

=SET.VALUE(D2,D2&IF(D1<100," and "," "))

30

=END.IF()

31

=IF(D1>=100)

32

stack input

=SET.VALUE(E1,D1&"|"&E1)

33

stack output

=SET.VALUE(E2,D2&"|"&E2)

34

get hundreds

=SET.VALUE(D3,saynumber(D1/100))

35

unstack output

=SET.VALUE(D2,LEFT(E2,FIND("|",E2)-1))

36

=SET.VALUE(E2,RIGHT(E2,LEN(E2)-FIND("|",E2)))

37

unstack input

=SET.VALUE(D1,LEFT(E1,FIND("|",E1)-1))

38

=SET.VALUE(E1,RIGHT(E1,LEN(E1)-FIND("|",E1)))

39

update output

=SET.VALUE(D2,D2&D3&" hundred")

40

update input

=SET.VALUE(D1,MOD(D1,100))

41

check if finished

=IF(D1=0,RETURN(D2))

42

=SET.VALUE(D2,D2&" and ")

43

=END.IF()

44

=IF(D1>=20)

45

=SET.VALUE(D2,D2&CHOOSE(INT(D1/10)-1, "twenty", "thirty", "forty", "fifty", "sixty", "seventy", "eighty", "ninety"))

46

=SET.VALUE(D1,MOD(D1,10))

47

=IF(D1=0,RETURN(D2))

48

=SET.VALUE(D2,D2&" ")

49

=END.IF()

50

=SET.VALUE(D2,D2&CHOOSE(D1, "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten", "eleven", "twelve", "thirteen", "fourteen", "fifteen", "sixteen", "seventeen", "eighteen", "nineteen"))

51

=RETURN(D2)

If we create a name ('SayNumber') for this function (Macro1!$B$1), we can enter 1234567890 in cell A1 on our worksheet, and =saynumber(A1) in cell A2 on our worksheet, and cell A2 will display:

one thousand two hundred and thirty four million five hundred and sixty seven thousand eight hundred and ninety

User-defined commands

Here is a command macro example.

This macro moves to the beginning of row 5 on the current sheet, inserts a new row, puts the current date into column A, formats it, and moves to column B ready for entry.

A

B

1

NewEntry:

=SELECT(!$A$5)

2

=INSERT(3)

3

=FORMULA(TODAY())

4

=FORMAT.NUMBER("dd/mm/yy")

5

=SELECT(!$B$5)

6

=RETURN()

We create a name for this macro, e.g. "NewEntry", pointing to the reference "Macro1!$B$1", and assign control key "t" to it.

Then on our main sheet, we can press Ctrl+t and the macro will be run. Note that the macro name in cell A1 is for our reference only, it is not used by the program.

Note that the following control keys are reserved for program operation, and should not be assigned to your command macros:

1

Format Cells

c

Edit Copy

d

Edit Fill Down

e

enter edit mode

f

Edit Find

g

Edit Goto

h

Edit Replace

n

File New

o

File Open

p

File Print

r

Edit Fill Right

s

File Save

v

Edit Paste

x

Edit Cut

z

Edit Undo

;

insert date

:

insert time

Other control keys may be reserved in future versions of the program.

Objects

You can add controls and drawing objects to a worksheet by using the Insert Control and Insert Drawing menu options. After selecting the menu option, drag the pointer across the worksheet to define the area that the control will occupy. A dialog box will then be displayed that allows you to specify the attributes of the object.

To edit a control or drawing object, press the Ctrl key (on the keyboard) and then click on the object. This will select the object. Then you can use the Edit Delete menu option or the Format Control or Format Drawing menu option, or you can drag the control to a different position or you can change the shape or size by dragging the border of the object. To deselect a selected object, press the Ctrl key and click on the object again, or select a different object, or click elsewhere on the worksheet. You can also use Tab or Shift+Tab to select the next or previous object.

The following control object types are supported:

Label

A text label.

Group box

A rectangle with an optional heading. Useful for grouping separate sets of option buttons together.

Command button

A button that can be pressed. Useful for activating a macro.

Check box

A box that can be ticked or unticked. It can return a value of TRUE or FALSE to a linked cell to indicate its state.

Option button

Usually one of a group of buttons that selects one of several items. Only one of the buttons in a group can be pressed at any one time. Use a group box object to define a button group. The group of buttons can return a value to a linked cell indicating the number of the button in the group that is currently pressed.

List box

Displays a list of items from a range in the spreadsheet. It can return the number of the selected item to a linked cell.

Combo box

Displays one of a list of items from a range in the spreadsheet. It can return the number of the selected item to a linked cell.

Scroll bar

A horizontal or vertical scroll bar. The orientation is determined by the shape of the rectangle when the control is first inserted. It can return the value of the current position to a linked cell.

Spin control

A vertical spin control. It can return the current value to a linked cell.

The following drawing object types are supported:

Line

A line or arrow.

Rectangle

A rectangle that can be filled.

Oval

An oval that can be filled.

Text box

A rectangle that can contain text.

All of the objects can have a macro attached that will be run when the object is clicked on.

DesktopICON

TOC Index

NAME

DesktopICON - save and restore icons and its locations on Windows desktop

SYNOPSIS

WA2LWinTools/bin/DesktopICON [ -h | -i | -u | -V ]

DesktopICON -s

DesktopICON -p save | ( -l | -r ) [ save ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

Automatically save Desktop icons and its position on login.

To restore the icons and its positions, start the DesktopICON command and select a saved version of the icons and its layout on the Desktop.

The DesktopICON command keeps 14 distinct saves of the Desktop icons and its positions.

OPTIONS

-h

usage message.

-i

install the DesktopICON command to 'Startup' in the Windows Start Menu to automatically save the icons and its positions.

-u

uninstall the DesktopICON shortcut from 'Startup' in the Windows Start Menu.

-V

print program version.

-s

save desktop icons and its positions.

-l [ save ]

list distinct saved icons and its positions.

If the save is not given all available saves are listed, if save is specified, details about the saved icon shortcuts are listed.

-p save

print more details of saved icons.

-r [ save ]

restore saved icons and its positions.

On the command line the save has to be specified to restore a specific icon save, if the DesktopICON command is started from the 'Start Menu' or a double-click, a list of available saves is presented for selection.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage message displayed.

5

version message displayed.

FILES

var/db/desktopicon/

saved icons and positions.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), config(1m), desktopok(1), shortcuts(1), windowresizer(1)

NOTES

-

BUGS

The DesktopICON command cannot save/restore the shortcuts (=icons) created from Microsoft™ Office programs which were created directly out of the 'Start Menu' thru a right click. However, the icon positions of those shortcuts can be saved/restored.

To also handle Microsoft™ Office programs, create a shortcut pointing to the related *.exe file of the application:

Start 'File Explorer'

→ Browse to: C:\Program Files (x86)\Microsoft Office\Office14\

→ right click: winword.exe

→ Send to → Desktop (create shortcut)

→ rename: 'winword.exe - Shortcut' on desktop

AUTHOR

DesktopICON was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2021 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:31:58 GMT, September 14, 2024

DesktopOK

TOC Index

NAME

DesktopOK - save and restore icon locations on Windows desktop

SYNOPSIS

WA2LWinTools/bin/DesktopOK

DesktopOK [ -h | -i | -u | -V ]

DesktopOK [ -bg ]

DesktopOK [ /save | /load ][ /silent ] file.dok

AVAILABILITY

WA2L/WinTools

DESCRIPTION

Save and restore the positions of icons.

DesktopOK is a small but effective solution for users that have to change the screen resolution often, which causes often a mess-up of neatly arranged icons on the desktop.

Features:

-

Save your favorite icon locations for each screen resolution.

-

Each user can then have his own arrangement.

-

Automatically hide and display desktop icons

-

Minimizes to tray area for easy access.

-

Easily minimize all of the windows on your screen

-

Autosave the desktop icon layout

-

Multilingual

OPTIONS

-h

usage message.

-i

install the DesktopOK command to 'Startup' in the Windows Start Menu.

-u

uninstall the DesktopOK shortcut from 'Startup' in the Windows Start Menu.

-V

print program version.

-bg

start DesktopOK minimized.

/silent

do not show error messages.

/load

load icon positions saved to a *.dok file.

/save

save icon positions to a file.

file.dok

file the icon positions are saved to. The file extension must be .dok.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage message displayed.

5

version message displayed.

FILES

etc/DesktopOK.cfg

configuration file copy of the active DesktopOK.ini file of DesktopOK.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), config(1m), desktopicon(1), yellowpile(1), windowresizer(1), http://www.softwareok.com/?seite=Freeware/DesktopOK

NOTES

Supported operating systems are: Windows 7, Windows 8.1 and 8, Windows 10, Windows Server 2008, Windows Vista, Windows 2003, Windows XP, Windows 2000, Windows Me, Windows NT and Windows 98.

Parts of this manpage were extracted from the documentation of DesktopOK written by Nenad Hrg and modified to fit to the WA2L/WinTools package. See: http://www.softwareok.com/?seite=Freeware/DesktopOK for more information.

BUGS

-

AUTHOR

DesktopOK was developed by Nenad Hrg and integrated into WA2L/WinTools by Christian Walther. Send suggestions and bug reports related to the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:31:58 GMT, September 14, 2024

Yellowpile

TOC Index

NAME

Yellowpile - color sticky notes on your desktop

SYNOPSIS

WA2LWinTools/bin/Yellowpile

Yellowpile [ -h | -i | -u | -V ]

Yellowpile

AVAILABILITY

WA2L/WinTools

DESCRIPTION

Yellowpile is a program for creating color sticky notes with a scheduler function.

The application allows to change the color of the note, the font and color of the text.

And you can also attach a note on top of all windows or hide.

Notes can be deleted or moved to the trash. There are several types of scheduler notifications: a message in the tray, animation (shake), and audio signal.

Features:

-

Setting color of the note and text by the fixed color template or from the color dialog.

-

Setting font of the text by the fixed font template or from the font dialog.

-

Automatic [dp]fit[dp] the size of the notes for the length of the text (in width, in height, or both).

-

Allows you to create new notes by copying the [dp]parent[dp] attributes (inherits color options, size and font) or with random color options (when the Shift key is pressed or if enabled option in the settings dialog).

-

The scheduler allows you to create reminders in the following repeat modes: one-time (no repeat), on specified days of the week, or on specified days of the month.

-

Three options for notifications: a note shake (animation), a pop-up message in the tray, and audio message.

-

Preset of hotkeys: hide / show, create a new note.

-

Removal of note into the recycle bin , with the possibility of subsequent recovery. If you hold down the Shift key, the sticker is permanently deleted.

-

Export/Import of the notes. It is useful when you reinstall the system (or program), or for moving to another computer.

-

Language interface: Russian and English

OPTIONS

-h

usage message.

-i

install the Yellowpile command to 'Startup' in the Windows Start Menu.

-u

uninstall the Yellowpile shortcut from 'Startup' in the Windows Start Menu.

-V

print program version.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage message displayed.

5

version message displayed.

FILES

etc/Yellowpile.cfg

configuration file copy of the active yellowpile.xml file of Yellowpile.

var/db/yellowpile/Notes/

active sticky notes.

var/db/yellowpile/RecycleBin/

deleted sticky notes.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), activehotkeys(1m), config(1m), desktopok(1), http://yellowpile.zoldan.info/en/

NOTES

Parts of this manpage were extracted from the documentation of Yellowpile written by Zoldan and modified to fit to the WA2L/WinTools package. See: http://yellowpile.zoldan.info/en/ for more information.

BUGS

-

AUTHOR

Yellowpile was developed by Zoldan <zoldan@mail.ru> and integrated into WA2L/WinTools by Christian Walther. Send suggestions and bug reports related to the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:33:27 GMT, September 14, 2024

WindowResizer

TOC Index

NAME

windowresizer - save and restore window positions

SYNOPSIS

WA2LWinTools/bin/WindowResizer [ -h | -i | -u | -V ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

WindowResizer is a simple tool that gives you a way to use hotkeys to quickly save and restore different window positions and sizes.

Hotkeys

Change hotkeys in setting window.

save window position

default hotkey: Ctrl+Alt+S

save all opened window positions

restore window position

default hotkey: Ctrl+Alt+R

restore all opened window positions

Usage

how to add an config entry

Focus on the window (eg. Chrome), then press the save window hotkey (Ctrl+Alt+S by default), an entry will be added to the configuration file.

How does the window matching work?

The process name is matched first. The title is not required, by default use a wildcard * to match all the titles for a process name. And if you specify the title, it will be matched first.

Option: Resize by title

Unchecked: Resize based on process

Checked: Resize based on Process and title

Auto resize: restore window position automatically

check the checkbox on Auto column.

Option: Auto resize delay

This option is used with the Auto Resize feature. When Auto Resize based on process titles, some titles are not immediately determined, such as Chrome web pages. If this option is checked, you can set a delay (in millisecond) for the Chrome process, so when a new Chrome window is created, there will be a delay before resize takes effect.

OPTIONS

-h

usage message.

Start WindowResizer.

-i

install the WindowResizer command to 'Startup' in the Windows Start Menu.

-u

uninstall the WindowResizer shortcut from 'Startup' in the Windows Start Menu.

-V

print program version.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage message displayed.

5

version message displayed.

FILES

etc/WindowResizer.cfg

config file for WindowResizer.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), config(1m), desktopicon(1), desktopok(1), https://github.com/caoyue/WindowResizer

NOTES

Parts of this manpages were extracted from the documentation of WindowResizer from https://github.com/caoyue/WindowResizer. See there for more information about WindowResizer.

BUGS

-

AUTHOR

WindowResizer was developed by by caoyue <https://github.com/caoyue> and integrated into WA2L/WinTools by Christian Walther. Send suggestions and bug reports regarding to the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2024 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION Hotkeys Usage OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:33:20 GMT, September 14, 2024

Shortcuts

TOC Index

NAME

Shortcuts - handle desktop-, other shortcuts, junctions and 'Quick Access' entries

SYNOPSIS

WA2LWinTools/bin/Shortcuts

Shortcuts [ -h | -V | -l | -e ]

Shortcuts ( -i | -u | -l | -p ) definition

AVAILABILITY

WA2L/WinTools

DESCRIPTION

shortcuts is a command line command to handle desktop-, other shortcuts (=links), junctions and entries in the Windows™ file Explorer 'Quick Access' section.

This enables to define all shortcuts normally defined by hand in the configuration file etc/Shortcuts.definition.cfg

Therefore if path names change or you need to move to a new/reinstalled system, simple invoke Shortcuts -i definition and all your shortcuts are updated.

The Shortcuts command can also handle shortcuts handled by run(1), which you would normally create invoking the run -i application command for each application for which you like a shortcut to be placed on the users 'Desktop'.

OPTIONS

-h

usage message.

-V

print Shortcuts version.

-i definition

install the shortcuts defined in etc/Shortcuts.definition.cfg configuration file.

-u definition

uninstall the shortcuts defined in etc/Shortcuts.definition.cfg configuration file.

-l

list all available shortcuts definitions.

-l definition

list all defined shortcuts of the given definition.

-p definition

print details of all defined shortcuts of the given definition.

-e

export definitions of existing shortcuts in the current directory.

The SHORTCUT;... output can be used in the etc/Shortcuts.definition.cfg configuration file.

Example:

[ H:\bin\WA2LWinTools\bin ]

[ wilma@acme007 ][*wtshell*/cmd]: cddesktop

[ C:\Users\wilma\Desktop ]

[ wilma@acme007 ][*wtshell*/cmd]: Shortcuts -e >> %WA2L_INSTALLDIR%\etc\Shortcuts.myDesktop.cfg

definition

definition of the 'Desktop' or other shortcuts to be handled by Shortcuts.

The definition is saved in the etc/Shortcuts.definition.cfg configuration file.

ENVIRONMENT

See shortcuts.def.cfg(4) for a description of all additional variables recognised by the Shortcut command.

EXIT STATUS

0

no error.

4

usage message displayed.

3

the configuration file etc/Shortcuts.definition.cfg for the specified definition does not exist.

5

version message displayed.

FILES

etc/Shortcuts.definition.cfg

shortcut definition file for the given definition.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), desktopicon(1), envarlist(3), run(1), shortcuts.def.cfg(4)

NOTES

-

BUGS

-

AUTHOR

Shortcuts was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:59 GMT, September 14, 2024

Shortcuts.def.cfg

TOC Index

NAME

Shortcuts.def.cfg - shortcuts definition file

SYNOPSIS

etc/Shortcuts.definition.cfg

AVAILABILITY

WA2L/WinTools

DESCRIPTION

This is the shortcuts definition file for the Shortcuts command.

FILEFORMAT

Rows starting with a # are considered as comments.

DESKTOPAPP

Definitions of shortcuts that will be created on the users 'Desktop' as using the run -i App_n command:

DESKTOPAPP;App_1 App_2 App_n;

Where:

DESKTOPAPP

keyword for a record of shortcut definitions based on run(1).

App_n

Space separated list of applications as defined in the APPLICATION field of the etc/run.cfg configuration file. See run.cfg(4) for more information.

Example:

Excel GIMP Firefox Gnuplot Writer

SHORTCUT

Definitions of shortcuts where more freedom of definition is needed. Basically the shortcuts can be defined at any place you have permission to and all settings as if you do it manually can be done:

SHORTCUT;LINK;SOURCE;OPTIONS;STARTMODE;ICON;WORKINGDIR;

Where:

SHORTCUT

keyword for a record of general shortcut definitions.

LINK

shortcut location definition where to create a shortcut.

Example:

%DESKTOP%\DVLP

SOURCE

source location (often this will be an executable) of the shortcut to be created.

Example:

%WA2L_INSTALLDIR%\bin\Qsel.exe

OPTIONS

optional: options for the command defined in SOURCE.

Example:

DVLP

STARTMODE

optional: startmode of the command defined in SOURCE.

Possible start modes are: 1 = Normal (default), 3 = Maximized, 7 = Minimized.

Example:

7

ICON

optional: icon for the shortcut. This has only to be defined, if the icon of the command defined in SOURCE does not fit to the needs.

Example:

%ICONS%\DVLP.ico

WORKINGDIR

optional: working directory of the command defined in SOURCE.

Example:

%WA2L_INSTALLDRIVE%:\tmp

QUICKACCESS

Definitions of entries in the Windows™ file Explorer 'Quick Access' section.

QUICKACCESS;SOURCE;

Where:

QUICKACCESS

keyword for a record of quick access entry definitions.

SOURCE

source location of the 'Quick Access' entry to be created. The SOURCE entry must be a directory.

HINT: An entry in 'Quick Access' is of special nature, it is not a shortcut per se; if an entry in this section is renamed by hand (e.g. from within the Explorer) the source directory is also renamed.

Example:

%WA2L_INSTALLDIR%\data\Projects

JUNCTION

Definitions of directory junctions.

JUNCTION;LINK;SOURCE;

Where:

JUNCTION

keyword for a record of junction entry definitions.

LINK

link (=directory junction) to point to the defined SOURCE location.

Example:

%WA2L_INSTALLDRIVE%:\bin\FirefoxPortable\Data\profile

SOURCE

source location of the junction entry to be created. The SOURCE entry must be a directory.

Example:

%WA2L_INSTALLDRIVE%:\var\Browser\Firefox\%USERNAME%

ENVIRONMENT

The Shortcuts application understands environment variables in the configuration.

Additionally to the standard Windows™ environment variables, the following ones are available:

(The date used in the examples is February 26th, 1986)

%YEAR%

four digit year of today (e.g.: 1986).

%MONTH%

two digit month of today (e.g.: 02).

%DAY%

two digit day of month of today (e.g.: 26).

%YDAY%

three digit day number of the year (e.g.: 057).

%WDAY%

one digit day of week number, 0 represents Sunday (e.g.: 3).

%WA2L_INSTALLDIR%

installation directory of the WA2L/WinTools package.

Example: D:\programs\WA2LWinTools

%WA2L_INSTALLDRIVE%

installation drive letter (without :) of the WA2L/WinTools package.

Example: D

%DESKTOP%

directory of the users 'Desktop'.

Use cddesktop in she shell to go to the 'Desktop' directory

%START%

directory of the users 'Start Menu'.

Use cdstart in she shell to go to the 'Start Menu' .

%STARTUP%

directory of the users 'Autostart' directory.

Use cdstartup in she shell to go to the 'Autostart' directory.

%SENDTO%

directory of the users 'SendTo' context menu in 'Windows™ Explorer'.

Use cdsendto in she shell to go to the 'SendTo' directory.

%ICONS%

path to the icons located in the var/icons/ directory.

%LINKS%

path to the 'Links' location of explorer, where the shortcuts are saved.

This directory was used by the Windows™ 7 file explorer explorer.exe to save the shortcuts. In Windows™ 10 the directory still exists, but the links (shortcuts) therein are no longer showed in the file explorer.

EXAMPLES

#

# Shortcuts.Home.cfg - Home configuration file for Shortcuts.exe

#

# [00] 19.06.2020 CWa Initial Version

#

DESKTOPAPP;Excel GIMP Firefox Gnuplot Writer;

SHORTCUT;%DESKTOP%\DVLP;%WA2L_INSTALLDIR%\bin\Qsel.exe;DVLP;7;%ICONS%\DVLP.ico;%WA2L_INSTALLDRIVE%:\tmp;

SHORTCUT;%DESKTOP%\RadioSure;%WA2L_INSTALLDIR%\bin\RadioSure.exe;

QUICKACCESS;%WA2L_INSTALLDRIVE%:\data\Fotos;

SEE ALSO

wintoolsintro(1), run(1), shortcuts(1)

NOTES

When using (environment) variables you can check your definitions using the command

[ h:\bin\WA2LWinTools\bin ]

[ fred@ACME007 ][*wtshell*/cmd]: Shortcuts -p Home

to see the expanded variables.

BUGS

-

AUTHOR

Shortcuts.def.cfg was developed by by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2021 Christian Walther

This is free software; see WA2LWinTools/doc/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION FILEFORMAT DESKTOPAPP SHORTCUT QUICKACCESS JUNCTION ENVIRONMENT EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:33:00 GMT, September 14, 2024

Desktops

TOC Index

NAME

Desktops - handle 4 virtual desktops on Windows

SYNOPSIS

WA2LWinTools/bin/Desktops [ -h | -i | -u | -V ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

Desktops allows you to organize your applications on up to four virtual desktops. Read email on one, browse the web on the second, and do work in your productivity software on the third, without the clutter of the windows you're not using. After you configure hotkeys for switching desktops, you can create and switch desktops either by clicking on the tray icon to open a desktop preview and switching window, or by using the hotkeys.

See also: https://www.sysinternals.com/downloads/desktops for more information.

OPTIONS

-h

usage message.

Start Desktops.

-i

install the Desktops command to 'Startup' in the Windows Start Menu.

-u

uninstall the Desktops shortcut from 'Startup' in the Windows Start Menu.

-V

print program version.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage message displayed.

5

version message displayed.

FILES

-

EXAMPLES

-

SEE ALSO

wintoolsintro(1), activehotkeys(1m), config(1m), https://www.sysinternals.com/downloads/desktops

NOTES

Desktops has been developed by Mark Russinovich.

Parts of the documentation has been extracted from the documentation on https://www.sysinternals.com/downloads/desktops.

BUGS

-

AUTHOR

Desktops was developed by Mark Russinovich and integrated into WA2L/WinTools by Christian Walther. Send suggestions and bug reports regarding the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:31:58 GMT, September 14, 2024

DesktopTicker

TOC Index

NAME

DesktopTicker - News Feed (RSS) Ticker on the Desktop

SYNOPSIS

WA2LWinTools/bin/DesktopTicker [ -h | -i | -u | -V ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

DesktopTicker is a free RSS and Atom web feed aggregator application that allows you to keep an eye on the latest news from your favourite websites whilst you work on your computer.

Once feeds have been added, the article titles scroll horizontally across the screen.

Article summaries are displayed when the mouse cursor is placed over an article title, and the full article can be opened in a web browser by clicking on the article title.

The RSS feeds are automatically downloaded after the specified interval to show updated content.

See also: http://www.battware.co.uk/desktopticker.htm for more information.

OPTIONS

-h

usage message.

Start DesktopTicker.

-i

install the DesktopTicker command to 'Startup' in the Windows Start Menu.

-u

uninstall the DesktopTicker shortcut from 'Startup' in the Windows Start Menu.

-V

print program version.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage message displayed.

5

version message displayed.

FILES

etc/DesktopTicker.cfg

config files for DesktopTicker (as ZIP file).

EXAMPLES

-

SEE ALSO

wintoolsintro(1), config(1m), http://www.battware.co.uk/desktopticker.htm

NOTES

Parts of this manpages were extracted from the documentation of DesktopTicker from http://www.battware.co.uk/desktopticker.htm . See: http://www.battware.co.uk/desktopticker.htm for more information about DesktopTicker.

BUGS

-

AUTHOR

DesktopTicker was developed by Mike Batt <desktopticker@battware.co.uk> (http://www.battware.co.uk/desktopticker.htm) and integrated into WA2L/WinTools by Christian Walther. Send suggestions and bug reports regarding to the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:31:59 GMT, September 14, 2024

DirIndex

TOC Index

NAME

DirIndex - create directory and file HTML page based on directories and files

SYNOPSIS

WA2LWinTools/bin/DirIndex [ -h | -V | -i | -u ]

DirIndex [ -n ] {directory|directory/configname.cfg}...

AVAILABILITY

WA2L/WinTools

DESCRIPTION

create a HTML directory and file index page for file(s).

The directory index page file name is _DIRINDEX.html by default.

The DirIndex command should be installed to the 'Send To' context menu in 'Microsoft™ Windows Explorer' for most convenient usage. To do so, select the related option in config(1m).

OPTIONS

-h

usage message.

-V

print program version.

-i

install the DirIndex command as menu point to the 'Send To' context menu in 'Windows Explorer'.

-u

uninstall the DirIndex shortcut from the 'Send To' context menu in 'Windows Explorer'.

-n

non interactive execution (= no user dialog). This option can be used if the DirIndex command is scheduled.

directory...

directory for which to create a directory index HTML page for.

configname.cfg...

configuration file located in the directory where the directory index will be created. This configuration file allows to set additional properties for the generated index.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage message displayed.

5

program version printed.

FILES

directory/dirindex.cfg

optional configuration file located in the directory where the directory index will be created. This configuration file allows to set additional properties for the generated index.

If the configuration file with the name dirindex.cfg exists in a directory it is automatically read, also when only the directory is specified.

directory/configname.cfg

configuration file located in the directory where the directory index will be created. This configuration file allows to set additional properties for the generated index.

A configuration file with a name other then dirindex.cfg must be specified explicitly to be read by the DirIndex command.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), dirindex.cfg(4), config(1m)

NOTES

-

BUGS

-

AUTHOR

DirIndex was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2022 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:31:59 GMT, September 14, 2024

dirindex.cfg

TOC Index

NAME

dirindex.cfg - configuration file for DirIndex

SYNOPSIS

directory/dirindex.cfg

directory/configname.cfg

AVAILABILITY

WA2L/WinTools

DESCRIPTION

This is the optional configuration file for the DirIndex command.

FILEFORMAT

Rows starting with # are considered as comments.

The file format is OPTION=VALUE

Between the OPTION , the = and the VALUE are no spaces.

You can comment out any OPTION or completely remove the related setting line to use the default settings.

OPTIONS

TITLE

Title of the directory index.

Example: TITLE=Science Documents

Default: TITLE=File Index

SUBTITLE

Subtitle of the bibliography.

Example: SUBTITLE=Mathematics

Default: SUBTITLE=

ABSTRACT

Abstract text at in the bibliography header.

Example: ABSTRACT=This are the collected mathematical documents.

Default: ABSTRACT=

STYLE

Style selection.

Example: STYLE=GREEN

Default: STYLE=

OUTFILE

Style selection.

Example: OUTFILE=_MATHEMATICS_FILES.html

Default: OUTFILE=_DIRINDEX.html

FILES

List of meta files whose files should be included into the index.

The FILES settings is as in the lsw (1) command.

Example: FILES=*.pdf matrices\*.pdf basics\*.pdf

Default: FILES=*

EXCLUDES

files or directories to be excluded. The setting must be a valid regular expression as understood by egrep(1).

Note: The first whitespace in the example below is a tabulator.

Example: EXCLUDES=(( |\\)(tmp|temp|\.meta)(\\|$))|(\.meta$)

Default: EXCLUDES=(( |\\)(_old|_alt|\.sav|.*\.files|\.meta)(\\|$))|(\.meta$)

EXAMPLES

-

SEE ALSO

wintoolsintro(1), dirindex(1)

NOTES

-

BUGS

-

AUTHOR

dirindex.cfg was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2022 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION FILEFORMAT OPTIONS EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:00 GMT, September 14, 2024

EBNFView

TOC Index

NAME

EBNFView - visualize EBNF grammar text files

SYNOPSIS

WA2LWinTools/bin/EBNFView [ -h | -i | -u | -V ]

EBNFView

AVAILABILITY

WA2L/WinTools

DESCRIPTION

This program visualizes EBNF (Extended Backus Naur Form).

Therefore an .ebnf file is required, which contains rules written in EBNF.

The program parses the rules, visualizes them in form of syntax diagrams and is able to generate .gif files for further use.

Furthermore the program allows to manipulate the look of the generated syntax diagrams.

See also ebnfview.Help(1) in the HTML documentation for more information.

OPTIONS

-h

usage message.

-i

install the EBNFView command as icon 'EBNF Viewer' to the 'Desktop'.

-u

uninstall the EBNFView shortcut from the 'Desktop'.

-V

print program version.

ENVIRONMENT

-

EXIT STATUS

0

always.

FILES

-

EXAMPLES

-

SEE ALSO

wintoolsintro(1), config(1m), Notepad2(1), ebnfview.Help(1), http://dotnet.jku.at/applications/Visualizer/

NOTES

This man page is a partial extract of http://dotnet.jku.at/applications/Visualizer/.

BUGS

-

AUTHOR

EBNF-Visualizer was developed by Stefan Schoergenhumer <k0155531@students.jku.at> and Markus Dopler <k0156207@students.jku.at> and integrated as EBNFView into WA2L/WinTools by Christian Walther. Send suggestions and bug reports regarding the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2022 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:03 GMT, September 14, 2024

ExifToolGUI

TOC Index

NAME

ExifToolGUI - GUI to edit and view file meta data using exiftool

SYNOPSIS

WA2LWinTools/bin/ExifToolGUI [ -h | -i | -u | -V ]

ExifToolGUI

AVAILABILITY

WA2L/WinTools

DESCRIPTION

ExifToolGUI is a GUI for the exiftool(3) command.

Main goals of ExifToolGUI are: view all metadata that ExifTool recognizes, ability to edit most frequently used metadata tags, batch capability (where appropriate), means: you can select multiple files and modify them at once.

See also: https://exiftool.org/gui/ for more information.

OPTIONS

-h

usage message.

-i

install the ExifToolGUI command on the Windows™ Desktop.

-u

uninstall the ExifToolGUI command from the the Windows™ Desktop.

-V

print program version.

ENVIRONMENT

-

EXIT STATUS

0

always.

4

usage displayed.

5

version message displayed.

FILES

etc/ExifToolGUI.cfg

configuration files of the ExifToolGUI command (as ZIP file).

etc/metadata.cfg

configuration of the location of the cache for exiftool(3). Only the CACHEBASEDIR setting is read from this configuration file.

See metadata.cfg(4) for more information.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), config(1m), exiftool(3), metadata(1), metadata.cfg(4), https://exiftool.org/gui/

NOTES

-

BUGS

-

AUTHOR

ExifToolGUI was developed by Bogdan Hrastnik <https://exiftool.org/gui/> and integrated into WA2L/WinTools by Christian Walther. Send suggestions and bug reports regarding the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:06 GMT, September 14, 2024

exiftool

TOC Index

NAME

exiftool - Read and write meta information in files

SYNOPSIS

exiftool [OPTIONS] [-TAG...] [--TAG...] FILE...

exiftool [OPTIONS] -TAG[+-<]=[VALUE]... FILE...

exiftool [OPTIONS] -tagsFromFile SRCFILE [-SRCTAG[>DSTTAG]...] FILE...

exiftool [ -ver | -list[w|f|r|wf|g[NUM]|d|x] ]

For specific examples, see the EXAMPLES sections below.

This documentation is displayed if exiftool is run without an input FILE when one is expected.

DESCRIPTION

A command-line interface to Image::ExifTool, used for reading and writing meta information in a variety of file types. FILE is one or more source file names, directory names, or "-" for the standard input. Metadata is read from source files and printed in readable form to the console (or written to output text files with -w).

To write or delete metadata, tag values are assigned using the -TAG=[VALUE] syntax, or the -geotag option. To copy or move metadata, the -tagsFromFile feature is used. By default the original files are preserved with "_original" appended to their names --- be sure to verify that the new files are OK before erasing the originals. Once in write mode, exiftool will ignore any read-specific options.

Note: If FILE is a directory name then only supported file types in the directory are processed (in write mode only writable types are processed). However, files may be specified by name, or the -ext option may be used to force processing of files with any extension.

Below is a list of file types and meta information formats currently supported by ExifTool (r = read, w = write, c = create):

File Types

------------+-------------+-------------+-------------+------------

3FR   r     | EIP   r     | LA    r     | OTF   r     | RW2   r/w

3G2   r/w   | EPS   r/w   | LNK   r     | PAC   r     | RWL   r/w

3GP   r/w   | ERF   r/w   | M2TS  r     | PAGES r     | RWZ   r

ACR   r     | EXE   r     | M4A/V r/w   | PBM   r/w   | RM    r

AFM   r     | EXIF  r/w/c | MEF   r/w   | PCD   r     | SO    r

AI    r/w   | EXR   r     | MIE   r/w/c | PDF   r/w   | SR2   r/w

AIFF  r     | EXV   r/w/c | MIFF  r     | PEF   r/w   | SRF   r

APE   r     | F4A/V r/w   | MKA   r     | PFA   r     | SRW   r/w

ARW   r/w   | FFF   r/w   | MKS   r     | PFB   r     | SVG   r

ASF   r     | FLA   r     | MKV   r     | PFM   r     | SWF   r

AVI   r     | FLAC  r     | MNG   r/w   | PGF   r     | THM   r/w

BMP   r     | FLV   r     | MODD  r     | PGM   r/w   | TIFF  r/w

BTF   r     | FPF   r     | MOS   r/w   | PLIST r     | TORRENT r

CHM   r     | FPX   r     | MOV   r/w   | PICT  r     | TTC   r

COS   r     | GIF   r/w   | MP3   r     | PMP   r     | TTF   r

CR2   r/w   | GZ    r     | MP4   r/w   | PNG   r/w   | VRD   r/w/c

CRW   r/w   | HDP   r/w   | MPC   r     | PPM   r/w   | VSD   r

CS1   r/w   | HDR   r     | MPG   r     | PPT   r     | WAV   r

DCM   r     | HTML  r     | MPO   r/w   | PPTX  r     | WDP   r/w

DCP   r/w   | ICC   r/w/c | MQV   r/w   | PS    r/w   | WEBP  r

DCR   r     | IDML  r     | MRW   r/w   | PSB   r/w   | WEBM  r

DFONT r     | IIQ   r/w   | MXF   r     | PSD   r/w   | WMA   r

DIVX  r     | IND   r/w   | NEF   r/w   | PSP   r     | WMV   r

DJVU  r     | INX   r     | NRW   r/w   | QTIF  r/w   | WV    r

DLL   r     | ITC   r     | NUMBERS r   | RA    r     | X3F   r/w

DNG   r/w   | J2C   r     | ODP   r     | RAF   r/w   | XCF   r

DOC   r     | JNG   r/w   | ODS   r     | RAM   r     | XLS   r

DOCX  r     | JP2   r/w   | ODT   r     | RAR   r     | XLSX  r

DPX   r     | JPEG  r/w   | OFR   r     | RAW   r/w   | XMP   r/w/c

DV    r     | K25   r     | OGG   r     | RIFF  r     | ZIP   r

DVB   r/w   | KDC   r     | OGV   r     | RSRC  r     |

DYLIB r     | KEY   r     | ORF   r/w   | RTF   r     |

Meta Information

----------------------+----------------------+---------------------

EXIF           r/w/c  |  CIFF           r/w  |  Ricoh RMETA    r

GPS            r/w/c  |  AFCP           r/w  |  Picture Info   r

IPTC           r/w/c  |  Kodak Meta     r/w  |  Adobe APP14    r

XMP            r/w/c  |  FotoStation    r/w  |  MPF            r

MakerNotes     r/w/c  |  PhotoMechanic  r/w  |  Stim           r

Photoshop IRB  r/w/c  |  JPEG 2000      r    |  DPX            r

ICC Profile    r/w/c  |  DICOM          r    |  APE            r

MIE            r/w/c  |  Flash          r    |  Vorbis         r

JFIF           r/w/c  |  FlashPix       r    |  SPIFF          r

Ducky APP12    r/w/c  |  QuickTime      r    |  DjVu           r

PDF            r/w/c  |  Matroska       r    |  M2TS           r

PNG            r/w/c  |  MXF            r    |  PE/COFF        r

Canon VRD      r/w/c  |  PrintIM        r    |  AVCHD          r

Nikon Capture  r/w/c  |  FLAC           r    |  ZIP            r

GeoTIFF        r/w/c  |  ID3            r    |  (and more)

OPTIONS

Case is not significant for any command-line option (including tag and group names), except for single-character options when the corresponding upper-case option exists. Many single-character options have equivalent long-name versions (shown in brackets), and some options have inverses which are invoked with a leading double-dash. Unrecognized options are interpreted as tag names (for this reason, multiple single-character options may NOT be combined into one argument). Contrary to standard practice, options may appear after source file names on the exiftool command line.

Option Summary

Tag operations

-TAG or --TAG                    Extract or exclude specified tag

-TAG[+-]=[VALUE]                 Write new value for tag

-TAG[+-]<=DATFILE                Write tag value from contents of file

-TAG[+-]<SRCTAG                  Copy tag value (see -tagsFromFile)

-tagsFromFile SRCFILE            Copy tag values from file

-x TAG      (-exclude)           Exclude specified tag

Input-output text formatting

-args       (-argFormat)         Format metadata as exiftool arguments

-b          (-binary)            Output metadata in binary format

-c FMT      (-coordFormat)       Set format for GPS coordinates

-charset [[TYPE=]CHARSET]        Specify encoding for special characters

-csv[=CSVFILE]                   Export/import tags in CSV format

-d FMT      (-dateFormat)        Set format for date/time values

-D          (-decimal)           Show tag ID numbers in decimal

-E, -ex     (-escape(HTML|XML))  Escape values for HTML (-E) or XML (-ex)

-f          (-forcePrint)        Force printing of all specified tags

-g[NUM...]  (-groupHeadings)     Organize output by tag group

-G[NUM...]  (-groupNames)        Print group name for each tag

-h          (-htmlFormat)        Use HMTL formatting for output

-H          (-hex)               Show tag ID number in hexadecimal

-htmlDump[OFFSET]                Generate HTML-format binary dump

-j[=JSONFILE] (-json)            Export/import tags in JSON format

-l          (-long)              Use long 2-line output format

-L          (-latin)             Use Windows Latin1 encoding

-lang [LANG]                     Set current language

-listItem INDEX                  Extract specific item from a list

-n          (--printConv)        Read/write numerical tag values

-p FMTFILE  (-printFormat)       Print output in specified format

-php                             Export tags as a PHP Array

-s[NUM]     (-short)             Short output format

-S          (-veryShort)         Very short output format

-sep STR    (-separator)         Set separator string for list items

-sort                            Sort output alphabetically

-struct                          Enable output of structured information

-t          (-tab)               Output in tab-delimited list format

-T          (-table)             Output in tabular format

-v[NUM]     (-verbose)           Print verbose messages

-w[+|!] EXT (-textOut)           Write (or overwrite!) output text files

-W[+|!] FMT (-tagOut)            Write output text file for each tag

-Wext EXT   (-tagOutExt)         Write only specified file types with -W

-X          (-xmlFormat)         Use RDF/XML output format

Processing control

-a          (-duplicates)        Allow duplicate tags to be extracted

-e          (--composite)        Do not calculate composite tags

-ee         (-extractEmbedded)   Extract information from embedded files

-ext EXT    (-extension)         Process files with specified extension

-F[OFFSET]  (-fixBase)           Fix the base for maker notes offsets

-fast[NUM]                       Increase speed for slow devices

-fileOrder [-]TAG                Set file processing order

-i DIR      (-ignore)            Ignore specified directory name

-if EXPR                         Conditionally process files

-m          (-ignoreMinorErrors) Ignore minor errors and warnings

-o OUTFILE  (-out)               Set output file or directory name

-overwrite_original              Overwrite original by renaming tmp file

-overwrite_original_in_place     Overwrite original by copying tmp file

-P          (-preserve)          Preserve date/time of original file

-password PASSWD                 Password for processing protected files

-progress                        Show file progress count

-q          (-quiet)             Quiet processing

-r          (-recurse)           Recursively process subdirectories

-scanForXMP                      Brute force XMP scan

-u          (-unknown)           Extract unknown tags

-U          (-unknown2)          Extract unknown binary tags too

-wm MODE    (-writeMode)         Set tag write/create mode

-z          (-zip)               Read/write compressed information

Special features

-geotag TRKFILE                  Geotag images from specified GPS log

-globalTimeShift SHIFT           Shift all formatted date/time values

-use MODULE                      Add features from plug-in module

Utilities

-delete_original[!]              Delete "_original" backups

-restore_original                Restore from "_original" backups

Other options

-@ ARGFILE                       Read command-line arguments from file

-k          (-pause)             Pause before terminating

-list[w|f|wf|g[NUM]|d|x]         List various exiftool capabilities

-ver                             Print exiftool version number

Advanced options

-api OPT[=VAL]                   Set ExifTool API option

-common_args                     Define common arguments

-config CFGFILE                  Specify configuration file name

-echo[NUM] TEXT                  Echo text to stdout or stderr

-execute[NUM]                    Execute multiple commands on one line

-srcfile FMT                     Set different source file name

-stay_open FLAG                  Keep reading -@ argfile even after EOF

Option Details

Tag operations

-TAG

Extract information for the specified tag (ie. "-CreateDate"). Multiple tags may be specified in a single command. A tag name is the handle by which a piece of information is referenced. See Image::ExifTool::TagNames for documentation on available tag names. A tag name may include leading group names separated by colons (ie. "-EXIF:CreateDate", or "-Doc1:XMP:Creator"), and each group name may be prefixed by a digit to specify family number (ie. "-1IPTC:City"). Use the -listg option to list available group names by family.

A special tag name of "All" may be used to indicate all meta information. This is particularly useful when a group name is specified to extract all information in a group (but beware that unless the -a option is also used, some tags in the group may be suppressed by same-named tags in other groups). The wildcard characters "?" and "*" may be used in a tag name to match any single character and zero or more characters respectively. These may not be used in a group name, with the exception that a group name of "*" (or "All") may be used to extract all instances of a tag (as if -a was used). Note that arguments containing wildcards must be quoted on the command line of most systems to prevent shell globbing.

A "#" may be appended to the tag name to disable the print conversion on a per-tag basis (see the -n option). This may also be used when writing or copying tags.

If no tags are specified, all available information is extracted (as if "-All" had been specified).

Note: Descriptions, not tag names, are shown by default when extracting information. Use the -s option to see the tag names instead.

--TAG

Exclude specified tag from extracted information. Same as the -x option. Once excluded from the output, a tag may not be re-included by a subsequent option. May also be used following a -tagsFromFile option to exclude tags from being copied (when redirecting to another tag, it is the source tag that should be excluded), or to exclude groups from being deleted when deleting all information (ie. "-all= --exif:all" deletes all but EXIF information). But note that this will not exclude individual tags from a group delete (unless a family 2 group is specified, see note 4 below). Instead, individual tags may be recovered using the -tagsFromFile option (ie. "-all= -tagsfromfile @ -artist"). Wildcards are permitted as described above for -TAG.

-TAG[+-]=[VALUE]

Write a new value for the specified tag (ie. "-comment=wow"), or delete the tag if no VALUE is given (ie. "-comment="). "+=" and "-=" are used to add or remove existing entries from a list, or to shift date/time values (see Image::ExifTool::Shift.pl for details). "+=" may also be used to increment numerical values, and "-=" may be used to conditionally delete or replace a tag (see ``WRITING EXAMPLES'' for examples).

TAG may contain one or more leading family 0, 1 or 2 group names, prefixed by optional family numbers, and separated colons. If no group name is specified, the tag is created in the preferred group, and updated in any other location where a same-named tag already exists. The preferred group is the first group in the following list where TAG is valid: 1) EXIF, 2) IPTC, 3) XMP.

The wildcards "*" and "?" may be used in tag names to assign the same value to multiple tags. When specified with wildcards, ``unsafe'' tags are not written. A tag name of "All" is eqivalent to "*" (except that it doesn't require quoting, while arguments with wildcards do on systems with shell globbing), and is often used when deleting all metadata (ie. "-All=") or an entire group (ie. "-GROUP:All=", see note 4 below). Note that not all groups are deletable, and that the JPEG APP14 ``Adobe'' group is not removed by default with "-All=" because it may affect the appearance of the image. However, this will remove color space information, so the colors may be affected (but this may be avoided by copying back the tags defined by the ColorSpaceTags shortcut). Use the -listd option for a complete list of deletable groups, and see note 5 below regarding the ``APP'' groups. Also, within an image some groups may be contained within others, and these groups are removed if the containing group is deleted:

JPEG Image:

- Deleting EXIF or IFD0 also deletes ExifIFD, GlobParamIFD,

GPS, IFD1, InteropIFD, MakerNotes, PrintIM and SubIFD.

- Deleting ExifIFD also deletes InteropIFD and MakerNotes.

- Deleting Photoshop also deletes IPTC.

TIFF Image:

- Deleting EXIF only removes ExifIFD which also deletes

InteropIFD and MakerNotes.

Notes:

1) Many tag values may be assigned in a single command. If two assignments affect the same tag, the latter takes precedence (except for list-type tags, where both values are written).

2) In general, MakerNotes tags are considered ``Permanent'', and may be edited but not created or deleted individually. This avoids many potential problems including the inevitable compatibility problems with OEM software which may be very inflexible about the information it expects to find in the maker notes.

3) Changes to PDF files are reversible because the original information is never actually deleted from the file. So ExifTool alone may not be used to securely edit metadata in PDF files.

4) Specifying "-GROUP:all=" deletes the entire group as a block only if a single family 0 or 1 group is specified. Otherwise all deletable tags in the specified group(s) are removed individually, and in this case is it possible to exclude individual tags from a mass delete. For example, "-time:all --Exif:Time:All" removes all deletable Time tags except those in the EXIF. This difference also applies if family 2 is specified when deleting all groups. For example, "-2all:all=" deletes tags individually, while "-all:all=" deletes entire blocks.

5) The ``APP'' group names (``APP0'' through ``APP15'') are used to delete JPEG application segments which are not associated with another deletable group. For example, specifying "-APP14:All=" will NOT delete the APP14 ``Adobe'' segment because this is accomplished with "-Adobe:All".

Special feature: Integer values may be specified in hexadecimal with a leading "0x", and simple rational values may be specified as fractions.

-TAG<=DATFILE or -TAG<=FMT

Set the value of a tag from the contents of file DATFILE. The file name may also be given by a FMT string where %d, %f and %e represent the directory, file name and extension of the original FILE (see the -w option for more details). Note that quotes are required around this argument to prevent shell redirection since it contains a "<" symbol. "+<=" or "-<=" may also be used to add or delete specific list entries, or to shift date/time values.

-tagsFromFile SRCFILE or FMT

Copy tag values from SRCFILE to FILE. Tag names on the command line after this option specify the tags to be copied, or excluded from the copy. Wildcards are permitted in these tag names. If no tags are specified, then all possible tags (see note 1 below) from the source file are copied to same-named tags in the preferred location of the output file (the same as specifying "-all"). More than one -tagsFromFile option may be used to copy tags from multiple files.

By default, this option will update any existing and writable same-named tags in the output FILE, but will create new tags only in their preferred groups. This allows some information to be automatically transferred to the appropriate group when copying between images of different formats. However, if a group name is specified for a tag then the information is written only to this group (unless redirected to another group, see below). If "All" is used as a group name, then each tag is written to the same family 1 group it had in the source file (ie. the same specific location in the metadata), but a different family may be specified by adding a leading family number to the group name (ie. "-0All:all").

SRCFILE may be the same as FILE to move information around within a single file. In this case, "@" may be used to represent the source file (ie. "-tagsFromFile @"), permitting this feature to be used for batch processing multiple files. Specified tags are then copied from each file in turn as it is rewritten. For advanced batch use, the source file name may also be specified using a FMT string in which %d, %f and %e represent the directory, file name and extension of FILE. See -w option for FMT string examples.

A powerful redirection feature allows a destination tag to be specified for each copied tag. With this feature, information may be written to a tag with a different name or group. This is done using "'-SRCTAG>DSTTAG'`` or '''-DSTTAG<SRCTAG'" on the command line after -tagsFromFile, and causes the value of SRCTAG to be copied from SRCFILE and written to DSTTAG in FILE. Note that this argument must be quoted to prevent shell redirection, and there is no "=" sign as when assigning new values. Source and/or destination tags may be prefixed by a group name and/or suffixed by "#". Wildcards are allowed in both the source and destination tag names. A destination group and/or tag name of "All" or "*" writes to the same family 1 group and/or tag name as the source. If no destination group is specified, the information is written to the preferred group. Whitespace around the ">" or "<" is ignored. As a convenience, "-tagsFromFile @" is assumed for any redirected tags which are specified without a prior -tagsFromFile option. Copied tags may also be added or deleted from a list with arguments of the form "'-SRCTAG+>DSTTAG'`` or '''-SRCTAG->DSTTAG'".

An extension of the redirection feature allows strings involving tag names to be used on the right hand side of the "<" symbol with the syntax "'-DSTTAG<STR'", where tag names in STR are prefixed with a "$" symbol. See the -p option for more details about this syntax. Strings starting with a "=" sign must insert a single space after the "<" to avoid confusion with the "<=" operator which sets the tag value from the contents of a file. A single space at the start of the string is removed if it exists, but all other whitespace in the string is preserved.

See ``COPYING EXAMPLES'' for examples using -tagsFromFile.

Notes:

1) Some tags (generally tags which may affect the appearance of the image) are considered ``unsafe'' to write, and are only copied if specified explicitly (ie. no wildcards). See the tag name documentation for more details about ``unsafe'' tags.

2) Be aware of the difference between excluding a tag from being copied (--TAG), and deleting a tag (-TAG=). Excluding a tag prevents it from being copied to the destination image, but deleting will remove a pre-existing tag from the image.

3) The maker note information is copied as a block, so it isn't affected like other information by subsequent tag assignments on the command line. Also, since the PreviewImage referenced from the maker notes may be rather large, it is not copied, and must be transferred separately if desired.

4) The order of operations is to copy all specified tags at the point of the -tagsFromFile option in the command line. Any tag assignment to the right of the -tagsFromFile option is made after all tags are copied. For example, new tag values are set in the order One, Two, Three then Four with this command:

exiftool -One=1 -tagsFromFile s.jpg -Two -Four=4 -Three d.jpg

This is significant in the case where an overlap exists between the copied and assigned tags because later operations may override earlier ones.

5) The normal behaviour of copied tags differs subtly from that of assigned tags for list-type tags. When copying to a list, each copied tag overrides any previous operations on the list. While this avoids duplicate list items when copying groups of tags from a file containing redundant information, it also prevents values of different tags from being copied into the same list when this is the intent. So a -addTagsFromFile option is provided which allows copying of multiple tags into the same list. ie)

exiftool -addtagsfromfile @ '-subject<make' '-subject<model' ...

Other than this difference, the -tagsFromFile and -addTagsFromFile options are equivalent.

6) The -a option (allow duplicate tags) is always in effect when reading tags from SRCFILE.

7) Structured tags are copied by default when copying tags. See the -struct option for details.

-x TAG (-exclude)

Exclude the specified tag. There may be multiple -x options. This has the same effect as --TAG on the command line. May also be used following a -tagsFromFile option to exclude tags from being copied.

Input-output text formatting

Note that trailing spaces are removed from extracted values for most output text formats. The exceptions are "-b", "-csv", "-j" and "-X".

-args (-argFormat)

Output information in the form of exiftool arguments, suitable for use with the -@ option when writing. May be combined with the -G option to include group names. This feature may be used to effectively copy tags between images, but allows the metadata to be altered by editing the intermediate file ("out.args" in this example):

exiftool -args -G1 --filename --directory src.jpg > out.args

exiftool -@ out.args dst.jpg

Note: Be careful when copying information with this technique since it is easy to write tags which are normally considered ``unsafe''. For instance, the FileName and Directory tags are excluded in the example above to avoid renaming and moving the destination file. Also note that the second command above will produce warning messages for any tags which are not writable.

-b (-binary)

Output requested metadata in binary format without tag names or descriptions. This option is mainly used for extracting embedded images or other binary data, but it may also be useful for some text strings since control characters (such as newlines) are not replaced by '.' as they are in the default output. List items are separated by a newline when extracted with the -b option. May be combined with "-j", "-php" or "-X" to extract binary data in JSON, PHP or XML format.

-c FMT (-coordFormat)

Set the print format for GPS coordinates. FMT uses the same syntax as the "printf" format string. The specifiers correspond to degrees, minutes and seconds in that order, but minutes and seconds are optional. For example, the following table gives the output for the same coordinate using various formats:

FMT                  Output

-------------------    ------------------

"%d deg %d' %.2f"\"    54 deg 59' 22.80"  (default for reading)

"%d %d %.8f"           54 59 22.80000000  (default for copying)

"%d deg %.4f min"      54 deg 59.3800 min

"%.6f degrees"         54.989667 degrees

Notes:

1) To avoid loss of precision, the default coordinate format is different when copying tags using the -tagsFromFile option.

2) If the hemisphere is known, a reference direction (N, S, E or W) is appended to each printed coordinate, but adding a "+" to the format specifier (ie. "%+.6f") prints a signed coordinate instead.

3) This print formatting may be disabled with the -n option to extract coordinates as signed decimal degrees.

-charset [[TYPE=]CHARSET]

If TYPE is "ExifTool" or not specified, this option sets the ExifTool character encoding for output tag values when reading and input values when writing. The default ExifTool encoding is "UTF8". If no CHARSET is given, a list of available character sets is returned. Valid CHARSET values are:

CHARSET     Alias(es)        Description

----------  ---------------  ----------------------------------

UTF8        cp65001, UTF-8   UTF-8 characters (default)

Latin       cp1252, Latin1   Windows Latin1 (West European)

Latin2      cp1250           Windows Latin2 (Central European)

Cyrillic    cp1251, Russian  Windows Cyrillic

Greek       cp1253           Windows Greek

Turkish     cp1254           Windows Turkish

Hebrew      cp1255           Windows Hebrew

Arabic      cp1256           Windows Arabic

Baltic      cp1257           Windows Baltic

Vietnam     cp1258           Windows Vietnamese

Thai        cp874            Windows Thai

MacRoman    cp10000, Roman   Macintosh Roman

MacLatin2   cp10029          Macintosh Latin2 (Central Europe)

MacCyrillic cp10007          Macintosh Cyrillic

MacGreek    cp10006          Macintosh Greek

MacTurkish  cp10081          Macintosh Turkish

MacRomanian cp10010          Macintosh Romanian

MacIceland  cp10079          Macintosh Icelandic

MacCroatian cp10082          Macintosh Croatian

Other values of TYPE listed below are used to specify the internal encoding of various meta information formats.

TYPE       Description                                  Default

---------  -------------------------------------------  -------

EXIF       Internal encoding of EXIF "ASCII" strings    (none)

ID3        Internal encoding of ID3v1 information       Latin

IPTC       Internal IPTC encoding to assume when        Latin

IPTC:CodedCharacterSet is not defined

Photoshop  Internal encoding of Photoshop IRB strings   Latin

QuickTime  Internal encoding of QuickTime strings       MacRoman

See <http://owl.phy.queensu.ca/~phil/exiftool/faq.html#Q10> for more information about coded character sets.

-csv[=CSVFILE]

Export information in CSV format, or import information if CSVFILE is specified. When importing, the CSV file must be in exactly the same format as the exported file. The first row of the CSVFILE must be the ExifTool tag names (with optional group names) for each column of the file, and values must be separated by commas. A special ``SourceFile'' column specifies the files associated with each row of information (a SourceFile of ``*'' may be used to apply the information to all target images). The following examples demonstrate basic use of this option:

# generate CSV file with common tags from all images in a directory

exiftool -common -csv dir > out.csv

# update metadata for all images in a directory from CSV file

exiftool -csv=a.csv dir

Empty values are ignored when importing. Also, FileName and Directory columns are ignored if they exist (ie. ExifTool will not attempt to write these tags with a CSV import). To force a tag to be deleted, use the -f option and set the value to ``-'' in the CSV file (or to the MissingTagValue if this API option was used). Multiple databases may be imported in a single command.

When exporting a CSV file, the -g or -G option to add group names to the tag headings. If the -a option is used to allow duplicate tag names, the duplicate tags are only included in the CSV output if the column headings are unique. Adding the -G4 option ensures a unique column heading for each tag. When exporting specific tags, the CSV columns are arranged in the same order as the specified tags provided the column headings exactly match the specified tag names, otherwise the columns are sorted in alphabetical order.

List-type tags are stored as simple strings in a CSV file, but the -sep option may be used to split them back into separate items when importing.

Special feature: -csv+=CSVFILE may be used to add items to existing lists. This affects only list-type tags. Also applies to the -j option.

Note that this option is fundamentally different than all other output format options because it requires information from all input files to be buffered in memory before the output is written. This may result in excessive memory usage when processing a very large number of files with a single command. Also, it makes this option incompatible with the -w option.

-d FMT (-dateFormat)

Set the format for date/time tag values. The specifics of the FMT syntax are system dependent --- consult the "strftime" man page on your system for details. The default format is equivalent to ``%Y:%m:%d %H:%M:%S''. This option has no effect on date-only or time-only tags and ignores timezone information if present. Only one -d option may be used per command. The inverse operation (ie. un-formatting a date/time value) is currently not applied when writing a date/time tag.

-D (-decimal)

Show tag ID number in decimal when extracting information.

-E, -ex (-escapeHTML, -escapeXML)

Escape characters in output values for HTML (-E) or XML (-ex). For HTML, all characters with Unicode code points above U+007F are escaped as well as the following 5 characters: & (&amp;) ' (&#39;) " (&quot;) > (&gt;) and < (&lt;). For XML, only these 5 characters are escaped. The -E option is implied with -h, and -ex is implied with -X. The inverse conversion is applied when writing tags.

-f (-forcePrint)

Force printing of tags even if their values are not found. This option only applies when tag names are specified. With this option, a dash ("-") is printed for the value of any missing tag (but this may be configured via the API MissingTagValue option). May also be used to add a 'flags' attribute to the -listx output, or to allow tags to be deleted when writing with the -csv=CSVFILE feature.

-g[NUM][:NUM...] (-groupHeadings)

Organize output by tag group. NUM specifies a group family number, and may be 0 (general location), 1 (specific location), 2 (category), 3 (document number) or 4 (instance number). Multiple families may be specified by separating them with colons. By default the resulting group name is simplified by removing any leading "Main:" and collapsing adjacent identical group names, but this can be avoided by placing a colon before the first family number (ie. -g:3:1). If NUM is not specified, -g0 is assumed. Use the -listg option to list group names for a specified family.

-G[NUM][:NUM...] (-groupNames)

Same as -g but print group name for each tag.

-h (-htmlFormat)

Use HTML table formatting for output. Implies the -E option. The formatting options -D, -H, -g, -G, -l and -s may be used in combination with -h to influence the HTML format.

-H (-hex)

Show tag ID number in hexadecimal when extracting information.

-htmlDump[OFFSET]

Generate a dynamic web page containing a hex dump of the EXIF information. This can be a very powerful tool for low-level analysis of EXIF information. The -htmlDump option is also invoked if the -v and -h options are used together. The verbose level controls the maximum length of the blocks dumped. An OFFSET may be given to specify the base for displayed offsets. If not provided, the EXIF/TIFF base offset is used. Use -htmlDump0 for absolute offsets. Currently only EXIF/TIFF and JPEG information is dumped, but the -u option can be used to give a raw hex dump of other file formats.

-j[=JSONFILE] (-json)

Use JSON (JavaScript Object Notation) formatting for console output, or import JSON file if JSONFILE is specified. This option may be combined with -g to organize the output into objects by group, or -G to add group names to each tag. List-type tags with multiple items are output as JSON arrays unless -sep is used. By default XMP structures are flattened into individual tags in the JSON output, but the original structure may be preserved with the -struct option (this also causes all list-type XMP tags to be output as JSON arrays, otherwise single-item lists are output as simple strings). The -a option is implied if the -g or -G options are used, otherwise it is ignored and duplicate tags are suppressed. Adding the -D or -H option changes tag values to JSON objects with ``val'' and ``id'' fields, and adding -l adds a ``desc'' field, and a ``num'' field if the numerical value is different from the converted ``val''. The -b option may be added to output binary data, encoded in base64 if necessary (indicated by ``base64:'' as the first 7 bytes of the value). The -L and -charset options have no effect on the JSON output.

If JSONFILE is specified, the file is imported and the tag definitions from the file are used to set tag values on a per-file basis. The special ``SourceFile'' entry in each JSON object associates the information with a specific target file (see the -csv option for details). The imported JSON file must have the same format as the exported JSON files with the exception that the -g option is not compatible with the import file format (use -G instead). Additionally, tag names in the input JSON file may be suffixed with a "#" to disable print conversion.

-l (-long)

Use long 2-line Canon-style output format. Adds a description and unconverted value (if it is different from the converted value) to the XML, JSON or PHP output when -X, -j or -php is used.

-L (-latin)

Use Windows Latin1 encoding (cp1252) for output tag values instead of the default UTF-8. When writing, -L specifies that input text values are Latin1 instead of UTF-8. Equivalent to "-charset latin".

-lang [LANG]

Set current language for tag descriptions and converted values. LANG is "de", "fr", "ja", etc. Use -lang with no other arguments to get a list of available languages. The default language is "en" if -lang is not specified. Note that tag/group names are always English, independent of the -lang setting, and translation of warning/error messages has not yet been implemented.

By default, ExifTool uses UTF-8 encoding for special characters, but the the -L or -charset option may be used to invoke other encodings.

Currently, the language support is not complete, but users are welcome to help improve this by submitting their own translations. To submit a set of translations, first use the -listx option and redirect the output to a file to generate an XML tag database, then add entries for other languages, zip this file, and email it to phil at owl.phy.queensu.ca for inclusion in ExifTool.

-listItem INDEX

For list-type tags, this causes only the item with the specified index to be extracted. INDEX is 0 for the first item in the list. Has no effect when writing or copying tags, in a -if condition, or in combination with structured output options.

-n (--printConv)

Read and write values as numbers instead of words. By default, extracted values are converted to a more human-readable format for printing, but the -n option disables this print conversion for all tags. For example:

> exiftool -Orientation -S a.jpg

Orientation: Rotate 90 CW

> exiftool -Orientation -S -n a.jpg

Orientation: 6

The print conversion may also be disabled on a per-tag basis by suffixing the tag name with a "#" character:

> exiftool -Orientation# -Orientation -S a.jpg

Orientation: 6

Orientation: Rotate 90 CW

These techniques may also be used to disable the inverse print conversion when writing. For example, the following commands all have the same effect:

> exiftool -Orientation='Rotate 90 CW' a.jpg

> exiftool -Orientation=6 -n a.jpg

> exiftool -Orientation#=6 a.jpg

-p FMTFILE or STR (-printFormat)

Print output in the format specified by the given file or string (and ignore other format options). Tag names in the format file or string begin with a "$" symbol and may contain a leading group names and/or a trailing "#". Case is not significant. Braces "{}" may be used around the tag name to separate it from subsequent text. Use $$ to represent a "$" symbol, and $/ for a newline. Multiple -p options may be used, each contributing a line of text to the output. Lines beginning with "#[HEAD]" and "#[TAIL]" are output only for the first and last processed files respectively. Lines beginning with "#[BODY]" and lines not beginning with "#" are output for each processed file. Other lines beginning with "#" are ignored. For example, this format file:

# this is a comment line

#[HEAD]-- Generated by ExifTool $exifToolVersion --

File: $FileName - $DateTimeOriginal

(f/$Aperture, ${ShutterSpeed}s, ISO $EXIF:ISO)

#[TAIL]-- end --

with this command:

exiftool -p test.fmt a.jpg b.jpg

produces output like this:

-- Generated by ExifTool 9.53 --

File: a.jpg - 2003:10:31 15:44:19

(f/5.6, 1/60s, ISO 100)

File: b.jpg - 2006:05:23 11:57:38

(f/8.0, 1/13s, ISO 100)

-- end --

When -ee (-extractEmbedded) is combined with -p, embedded documents are effectively processed as separate input files.

If a specified tag does not exist, a minor warning is issued and the line with the missing tag is not printed. However, the -f option may be used to set the value of missing tags to '-' (but this may be configured via the MissingTagValue API option), or the -m option may be used to ignore minor warnings and leave the missing values empty.

An advanced formatting feature allows an arbitrary Perl expression to be applied to the value of any tag by placing it inside the braces after a semicolon following the tag name. The expression has access to the value of this tag through the default input variable ($_), and the full API through the current ExifTool object ($self). It may contain any valid Perl code, including translation ("tr///") and substitution ("s///") operations, but note that braces within the expression must be balanced. The example below prints the camera Make with spaces translated to underlines, and multiple consecutive underlines replaced by a single underline:

exiftool -p '${make;tr/ /_/;s/__+/_/g}' image.jpg

A default expression of "tr(/\\?*:|"<>\0)()d" is assumed if the expression is empty, which removes the characters / \ ? * : | < > and null from the printed value.

-php

Format output as a PHP Array. The -g, -G, -D, -H, -l, -sep and -struct options combine with -php, and duplicate tags are handled in the same way as with the -json option. As well, the -b option may be added to output binary data. Here is a simple example showing how this could be used in a PHP script:

<?php

eval('$array=' . `exiftool -php -q image.jpg`);

print_r($array);

?>

-s[NUM] (-short)

Short output format. Prints tag names instead of descriptions. Add NUM or up to 3 -s options for even shorter formats:

-s1 or -s        - print tag names instead of descriptions

-s2 or -s -s     - no extra spaces to column-align values

-s3 or -s -s -s  - print values only (no tag names)

Also effective when combined with -t, -h, -X or -listx options.

-S (-veryShort)

Very short format. The same as -s2 (or two -s options). Tag names are printed instead of descriptions, and no extra spaces are added to column-align values.

-sep STR (-separator)

Specify separator string for items in list-type tags. When reading, the default is to join list items with ``, ''. When writing, this option causes values assigned to list-type tags to be split into individual items at each substring matching STR (otherwise they are not split by default). Space characters in STR match zero or more whitespace characters in the value.

Note that an empty separator ("") is allowed, and will join items with no separator when reading, or split the value into individual characters when writing.

-sort

Sort output by tag description, or by tag name if the -s option is used. Tags are sorted within each group when combined with the -g or -G option. When sorting by description, the sort order will depend on the -lang option setting. Without the -sort option, tags appear in the order they were specified on the command line, or if not specified, the order they were extracted from the file.

-struct, --struct

Output structured XMP information instead of flattening to individual tags. This option works well when combined with the XML (-X) and JSON (-j) output formats. For other output formats, the structures are serialized into the same format as when writing structured information (see <http://owl.phy.queensu.ca/~phil/exiftool/struct.html> for details). When copying, structured tags are copied by default unless --struct is used to disable this feature (although flattened tags may still be copied by specifying them individually unless -struct is used). These options have no effect when assigning new values since both flattened and structured tags may always be used when writing.

-t (-tab)

Output a tab-delimited list of description/values (useful for database import). May be combined with -s to print tag names instead of descriptions, or -S to print tag values only, tab-delimited on a single line. The -t option may also be used to add tag table information to the -X option output.

-T (-table)

Output tag values in table form. Equivalent to -t -S -q -f.

-v[NUM] (-verbose)

Print verbose messages. NUM specifies the level of verbosity in the range 0-5, with higher numbers being more verbose. If NUM is not given, then each -v option increases the level of verbosity by 1. With any level greater than 0, most other options are ignored and normal console output is suppressed unless specific tags are extracted. Using -v0 causes the console output buffer to be flushed after each line (which may be useful to avoid delays when piping exiftool output), and prints the name of each processed file when writing. Also see the -progress option.

-w[+|!] EXT or FMT (-textOut)

Write console output to files with names ending in EXT, one for each source file. The output file name is obtained by replacing the source file extension (including the '.') with the specified extension (and a '.' is added to the start of EXT if it doesn't already contain one). Alternatively, a FMT string may be used to give more control over the output file name and directory. In the format string, %d, %f and %e represent the directory, filename and extension of the source file, and %c represents a copy number which is automatically incremented if the file already exists. %d includes the trailing '/' if necessary, but %e does not include the leading '.'. For example:

-w %d%f.txt       # same effect as "-w txt"

-w dir/%f_%e.out  # write files to "dir" as "FILE_EXT.out"

-w dir2/%d%f.txt  # write to "dir2", keeping dir structure

-w a%c.txt        # write to "a.txt" or "a1.txt" or "a2.txt"...

Existing files will not be overwritten unless an exclamation point is added to the option name (ie. -w! or -textOut!), or a plus sign to append to the existing file (ie. -w+ or -textOut+). Both may be used (ie. -w+! or -textOut+!) to overwrite output files that didn't exist before the command was run, and append the output from multiple source files. For example, to write one output file for all source files in each directory:

exiftool -filename -createdate -T -w+! %d/out.txt -r DIR

Notes:

1) In a Windows BAT file the "%" character is represented by "%%", so an argument like "%d%f.txt" is written as "%%d%%f.txt".

2) If the argument for -w does not contain a format code (%d, %f or %e), then it is interpreted as a file extension. Therefore it is not possible to specify a simple filename as an argument, so creating a single output file from multiple source files is typically done by shell redirection, ie)

exiftool FILE1 FILE2 ... > out.txt

But if necessary, an empty format code may be used to force the argument to be interpreted as a format string, and the same result may be obtained without the use of shell redirection:

exiftool -w+! %0fout.txt FILE1 FILE2 ...

Advanced features:

A substring of the original file name, directory or extension may be taken by specifying a field width immediately following the '%' character. If the width is negative, the substring is taken from the end. The substring position (characters to ignore at the start or end of the string) may be given by a second optional value after a decimal point. For example:

Input File Name     Format Specifier    Output File Name

----------------    ----------------    ----------------

Picture-123.jpg     %7f.txt             Picture.txt

Picture-123.jpg     %-.4f.out           Picture.out

Picture-123.jpg     %7f.%-3f            Picture.123

Picture-123a.jpg    Meta%-3.1f.txt      Meta123.txt

For %d, the field width/position specifiers may be applied to the directory levels instead of substring position by using a colon instead of a decimal point in the format specifier. For example:

Source Dir     Format   Result       Notes

------------   ------   ----------   ------------------

pics/2012/02   %2:d     pics/2012/   take top 2 levels

pics/2012/02   %-:1d    pics/2012/   up one directory level

pics/2012/02   %:1d     2012/02/     ignore top level

pics/2012/02   %1:1d    2012/        take 1 level after top

/Users/phil    %:2d     phil/        ignore top 2 levels

(Note that the root directory counts as one level when an absolute path is used as in the last example above.)

For %c, these modifiers have a different effects. If a field width is given, the copy number is padded with zeros to the specified width. A leading '-' adds a dash before the copy number, and a '+' adds an underline. By default, the copy number is omitted from the first file of a given name, but this can be changed by adding a decimal point to the modifier. For example:

-w A%-cZ.txt      # AZ.txt, A-1Z.txt, A-2Z.txt ...

-w B%5c.txt       # B.txt, B00001.txt, B00002.txt ...

-w C%.c.txt       # C0.txt, C1.txt, C2.txt ...

-w D%-.c.txt      # D-0.txt, D-1.txt, D-2.txt ...

-w E%-.4c.txt     # E-0000.txt, E-0001.txt, E-0002.txt ...

-w F%-.4nc.txt    # F-0001.txt, F-0002.txt, F-0003.txt ...

-w G%+c.txt       # G.txt, G_1.txt G_2.txt ...

-w H%-lc.txt      # H.txt, H-b.txt, H-c.txt ...

A special feature allows the copy number to be incremented for each processed file by using %C (upper case) instead of %c. This allows a sequential number to be added to output file names, even if the names are different. For %C, a copy number of zero is not omitted as it is with %c. The number before the decimal place gives the starting index, the number after the decimal place gives the field width. The following examples show the output filenames when used with the command "exiftool rose.jpg star.jpg jet.jpg ...":

-w %C%f.txt       # 0rose.txt, 1star.txt, 2jet.txt

-w %f-%10C.txt    # rose-10.txt, star-11.txt, jet-12.txt

-w %.3C-%f.txt    # 000-rose.txt, 001-star.txt, 002-jet.txt

-w %57.4C%f.txt   # 0057rose.txt, 0058star.txt, 0059jet.txt

All format codes may be modified by 'l' or 'u' to specify lower or upper case respectively (ie. %le for a lower case file extension). When used to modify %c or %C, the numbers are changed to an alphabetical base (see example H above). Also, %c may be modified by 'n' to count using natural numbers starting from 1, instead of 0 (see example F above).

This same FMT syntax is used with the -o and -tagsFromFile options, although %c is only valid for output file names.

-W[!|+] FMT (-tagOut)

This enhanced version of the -w option allows a separate output file to be created for each extracted tag. The differences between -W and -w are as follows:

1) With -W, a new output file is created for each extracted tag.

2) -W supports three additional format codes: %t, %g and %s represent the tag name, group name, and suggested extension for the output file (based on the format of the data). The %g code may be followed by a single digit to specify the group family number (ie. %g1), otherwise family 0 is assumed. The substring width/position/case specifiers may be used with these format codes in exactly the same way as with %f and %e.

3) The argument for -W is interpreted as a file name if it contains no format codes. (For -w, this would be a file extension.) This change allows a simple file name to be specified, which, when combined with the append feature, provides a method to write metadata from multiple source files to a single output file without the need for shell redirection.

4) Adding the -v option to -W generates a list of the tags and output file names instead of giving a verbose dump of the entire file. (Unless appending all output to one file for each source file by using -W+ with an output file FMT that does not contain %t, $g or %s.)

5) Individual list items are stored in separate files when -W is combined with -b, but note that for separate files to be created %c must be used in FMT to give the files unique names.

-Wext EXT, --Wext EXT (-tagOutExt)

This option is used to specify the type of output file(s) written by the -W option. An output file is written only if the suggested extension matches EXT. Multiple -Wext options may be used to write more than one type of file. Use --Wext to write all but the specified type(s).

-X (-xmlFormat)

Use ExifTool-specific RDF/XML formatting for console output. Implies the -a option, so duplicate tags are extracted. The formatting options -b, -D, -H, -l, -s, -sep, -struct and -t may be used in combination with -X to affect the output, but note that the tag ID (-D, -H and -t), binary data (-b) and structured output (-struct) options are not effective for the short output (-s). Another restriction of -s is that only one tag with a given group and name may appear in the output. Note that the tag ID options (-D, -H and -t) will produce non-standard RDF/XML unless the -l option is also used. By default, list-type tags with multiple values are formatted as an RDF Bag, but they are combined into a single string when -s or -sep is used. Using -L changes the XML encoding from ``UTF-8'' to ``windows-1252''. Other -charset settings change the encoding only if there is a corresponding standard XML character set. The -b option causes binary data values to be written, encoded in base64 if necessary. The -t option adds tag table information to the output (table "name", decimal tag "id", and "index" for cases where multiple conditional tags exist with the same ID).

Note: This output is NOT the same as XMP because it uses dynamically-generated property names corresponding to the ExifTool tag names, and not the standard XMP properties. To write XMP instead, use the -o option with an XMP extension for the output file.

Processing control

-a, --a (-duplicates, --duplicates)

Allow (-a) or suppress (--a) duplicate tag names to be extracted. By default, duplicate tags are suppressed unless the -ee or -X options are used or the Duplicates option is enabled in the configuration file.

-e (--composite)

Extract existing tags only --- don't calculate composite tags.

-ee (-extractEmbedded)

Extract information from embedded documents in EPS files, embedded EPS information and JPEG and Jpeg2000 images in PDF files, embedded MPF images in JPEG and MPO files, streaming metadata in AVCHD videos, and the resource fork of Mac OS files. Implies the -a option. Use -g3 or -G3 to identify the originating document for extracted information. Embedded documents containing sub-documents are indicated with dashes in the family 3 group name. (ie. "Doc2-3" is the 3rd sub-document of the 2nd embedded document.) Note that this option may increase processing time substantially, especially for PDF files with many embedded images.

-ext EXT, --ext EXT (-extension)

Process only files with (-ext) or without (--ext) a specified extension. There may be multiple -ext and --ext options. Extensions may begin with a leading '.', and case is not significant. For example:

exiftool -ext .JPG DIR            # process only JPG files

exiftool --ext cr2 --ext dng DIR  # supported files but CR2/DNG

exiftool --ext . DIR              # ignore if no extension

exiftool -ext "*" DIR             # process all files

exiftool -ext "*" --ext xml DIR   # process all but XML files

The extension may be "*" as in the last two examples above to force processing files with any extension (not just supported files).

Using this option has two main advantages over specifying "*.EXT" on the command line: 1) It applies to files in subdirectories when combined with the -r option. 2) The -ext option is case-insensitive, which is useful when processing files on case-sensitive filesystems.

-F[OFFSET] (-fixBase)

Fix the base for maker notes offsets. A common problem with some image editors is that offsets in the maker notes are not adjusted properly when the file is modified. This may cause the wrong values to be extracted for some maker note entries when reading the edited file. This option allows an integer OFFSET to be specified for adjusting the maker notes base offset. If no OFFSET is given, ExifTool takes its best guess at the correct base. Note that exiftool will automatically fix the offsets for images which store original offset information (ie. newer Canon models). Offsets are fixed permanently if -F is used when writing EXIF to an image. ie)

exiftool -F -exif:resolutionunit=inches image.jpg

-fast[NUM]

Increase speed of extracting information from JPEG images. With this option, ExifTool will not scan to the end of a JPEG image to check for an AFCP or PreviewImage trailer, or past the first comment in GIF images or the audio/video data in WAV/AVI files to search for additional metadata. These speed benefits are small when reading images directly from disk, but can be substantial if piping images through a network connection. For more substantial speed benefits, -fast2 also causes exiftool to avoid extracting any EXIF MakerNote information.

-fileOrder [-]TAG

Set file processing order according to the sorted value of the specified TAG. For example, to process files in order of date:

exiftool -fileOrder DateTimeOriginal DIR

Additional -fileOrder options may be added for secondary sort keys. Floating point values are sorted numerically, and all other values are sorted alphabetically. The sort order may be reversed by prefixing the tag name with a "-" (ie. "-fileOrder -createdate"). A "#" may be appended to the tag name to disable print conversion for the sorted values. Note that the -fileOrder option has a large performance impact since it involves an additional processing pass of each file.

-i DIR (-ignore)

Ignore specified directory name. Use multiple -i options to ignore more than one directory name. A special DIR value of "SYMLINKS" (case sensitive) may be specified to ignore symbolic links when the -r option is used.

-if EXPR

Specify a condition to be evaluated before processing each FILE. EXPR is a Perl-like logic expression containing tag names prefixed by "$" symbols. It is evaluated with the tags from each FILE in turn, and the file is processed only if the expression returns true. Unlike Perl variable names, tag names are not case sensitive and may contain a hyphen. As well, tag names may have a leading group names separated by colons, and/or a trailing "#" character to disable print conversion. The expression $GROUP:all evaluates to 1 if any tag exists in the specified "GROUP", or 0 otherwise (see note 2 below). When multiple -if options are used, all conditions must be satisfied to process the file. Returns an exit status of 1 if all files fail the condition. Below are a few examples:

# extract shutterspeed from all Canon images in a directory

exiftool -shutterspeed -if '$make eq "Canon"' dir

# add one hour to all images created on or after Apr. 2, 2006

exiftool -alldates+=1 -if '$CreateDate ge "2006:04:02"' dir

# set EXIF ISO value if possible, unless it is set already

exiftool '-exif:iso<iso' -if 'not $exif:iso' dir

# find images containing a specific keyword (case insensitive)

exiftool -if '$keywords =~ /harvey/i' -filename dir

Notes:

1) The -n and -b options also apply to tags used in EXPR.

2) Some binary data blocks are not extracted unless specified explicitly. These tags are not available for use in the -if condition unless they are also specified on the command line. The alternative is to use the $GROUP:all syntax. (ie. Use $exif:all instead of $exif in EXPR to test for the existence of EXIF tags.)

3) Tags in the string are interpolated the same way as with -p before the expression is evaluated. In this interpolation, $/ is converted to a newline and $$ represents a single "$" symbol (so Perl variables, if used, require a double "$").

4) The condition may only test tags from the file being processed. To process one file based on tags from another, two steps are required. For example, to process XMP sidecar files in directory "DIR" based on tags from the associated NEF:

exiftool -if EXPR -p '$directory/$filename' -ext nef DIR > nef.txt

exiftool -@ nef.txt -srcfile %d%f.xmp ...

-m (-ignoreMinorErrors)

Ignore minor errors and warnings. This enables writing to files with minor errors and disables some validation checks which could result in minor warnings. Generally, minor errors/warnings indicate a problem which usually won't result in loss of metadata if ignored. However, there are exceptions, so ExifTool leaves it up to you to make the final decision. Minor errors and warnings are indicated by ``[minor]'' at the start of the message. Warnings which affect processing when ignored are indicated by ``[Minor]'' (with a capital ``M'').

-o OUTFILE or FMT (-out)

Set the output file or directory name when writing information. Without this option, when any ``real'' tags are written the original file is renamed to "FILE_original" and output is written to FILE. When writing only FileName and/or Directory ``pseudo'' tags, -o causes the file to be copied instead of moved, but directories specified for either of these tags take precedence over that specified by the -o option.

OUTFILE may be "-" to write to stdout. The output file name may also be specified using a FMT string in which %d, %f and %e represent the directory, file name and extension of FILE. Also, %c may be used to add a copy number. See the -w option for FMT string examples.

The output file is taken to be a directory name if it already exists as a directory or if the name ends with '/'. Output directories are created if necessary. Existing files will not be overwritten. Combining the -overwrite_original option with -o causes the original source file to be erased after the output file is successfully written.

A special feature of this option allows the creation of certain types of files from scratch, or with the metadata from another type of file. The following file types may be created using this technique:

XMP, ICC/ICM, MIE, VRD, EXIF

The output file type is determined by the extension of OUTFILE (specified as "-.EXT" when writing to stdout). The output file is then created from a combination of information in FILE (as if the -tagsFromFile option was used), and tag values assigned on the command line. If no FILE is specified, the output file may be created from scratch using only tags assigned on the command line.

-overwrite_original

Overwrite the original FILE (instead of preserving it by adding "_original" to the file name) when writing information to an image. Caution: This option should only be used if you already have separate backup copies of your image files. The overwrite is implemented by renaming a temporary file to replace the original. This deletes the original file and replaces it with the edited version in a single operation. When combined with -o, this option causes the original file to be deleted if the output file was successfully written (ie. the file is moved instead of copied).

-overwrite_original_in_place

Similar to -overwrite_original except that an extra step is added to allow the original file attributes to be preserved. For example, on a Mac this causes the original file creation date, type, creator, label color, icon, Finder tags and hard links to the file to be preserved (but note that the Mac OS resource fork is always preserved unless specifically deleted with "-rsrc:all="). This is implemented by opening the original file in update mode and replacing its data with a copy of a temporary file before deleting the temporary. The extra step results in slower performance, so the -overwrite_original option should be used instead unless necessary.

-P (-preserve)

Preserve the filesystem modification date/time of the original file ("FileModifyDate") when writing. Note that some filesystems store a creation date which is not preserved by this option, with the exception of Windows systems where Win32API::File::Time is available. For other systems, the -overwrite_original_in_place option may be used if necessary to preserve the creation date.

-password PASSWD

Specify password to allow processing of password-protected PDF documents. If a password is required but not given, a warning is issued and the document is not processed. Ignored if a password is not required.

-progress

Show file progress count in messages. The progress count appears in brackets after then name of each processed file, and gives the current file number and the total number of files to be processed. Implies the -v0 option, which prints the name of each processed file when writing. When combined with the [tt]-if[/tt] option, the total count includes all files before the condition is applied, but files that fail the condition will not have their names printed.

-q (-quiet)

Quiet processing. One -q suppresses normal informational messages, and a second -q suppresses warnings as well. Error messages can not be suppressed, although minor errors may be downgraded to warnings with the -m option.

-r (-recurse)

Recursively process files in subdirectories. Only meaningful if FILE is a directory name. By default, exiftool will also follow symbolic links to directories if supported by the system, but this may be disabled with "-i SYMLINKS" (see the -i option for details).

-scanForXMP

Scan all files (even unsupported formats) for XMP information unless found already. When combined with the -fast option, only unsupported file types are scanned. Warning: It can be time consuming to scan large files.

-u (-unknown)

Extract values of unknown tags. Add another -u to also extract unknown information from binary data blocks. This option applies to tags with numerical tag ID's, and causes tag names like ``Exif_0xc5d9'' to be generated for unknown information. It has no effect on information types which have human-readable tag ID's (such as XMP), since unknown tags are extracted automatically from these formats.

-U (-unknown2)

Extract values of unknown tags as well as unknown information from some binary data blocks. This is the same as two -u options.

-wm MODE (-writeMode)

Set mode for writing/creating tags. MODE is a string of one or more characters from the list below. Write mode is "wcg" unless otherwise specified.

w - Write existing tags

c - Create new tags

g - create new Groups as necessary

The level of the group is the SubDirectory level in the metadata structure. For XMP or IPTC this is the full XMP/IPTC block (the family 0 group), but for EXIF this is the individual IFD (the family 1 group).

-z (-zip)

When reading, causes information to be extracted from .gz and .bz2 compressed images. (Only one image per archive. Requires gzip and bzip2 to be installed on the system.) When writing, causes compressed information to be written if supported by the image format. (ie. The PNG format supports compressed text.) This option also disables the recommended padding in embedded XMP, saving 2424 bytes when writing XMP in a file.

Special features

-geotag TRKFILE

Geotag images from the specified GPS track log file. Using the -geotag option is equivalent to writing a value to the "Geotag" tag. After the -geotag option has been specified, the value of the "Geotime" tag is written to define a date/time for the position interpolation. If "Geotime" is not specified, the value is copied from "DateTimeOriginal". For example, the following two commands are equivalent:

exiftool -geotag track.log image.jpg

exiftool -geotag "-Geotime<DateTimeOriginal" image.jpg

When the "Geotime" value is converted to UTC, the local system timezone is assumed unless the date/time value contains a timezone. Writing "Geotime" causes the following tags to be written (provided they can be calculated from the track log, and they are supported by the destination metadata format): GPSLatitude, GPSLatitudeRef, GPSLongitude, GPSLongitudeRef, GPSAltitude, GPSAltitudeRef, GPSDateStamp, GPSTimeStamp, GPSDateTime, GPSTrack, GPSTrackRef, GPSSpeed, GPSSpeedRef, GPSImgDirection, GPSImgDirectionRef, GPSPitch and GPSRoll. By default, tags are created in EXIF, and updated in XMP only if they already exist. However, "EXIF:Geotime" or "XMP:Geotime" may be specified to write only EXIF or XMP tags respectively. Note that GPSPitch and GPSRoll are non-standard, and require user-defined tags in order to be written.

The "Geosync" tag may be used to specify a time correction which is applied to each "Geotime" value for synchronization with GPS time. For example, the following command compensates for image times which are 1 minute and 20 seconds behind GPS:

exiftool -geosync=+1:20 -geotag a.log DIR

"Geosync" must be set before "Geotime" (if specified) to be effective. Advanced "Geosync" features allow a linear time drift correction and synchronization from previously geotagged images. See ``geotag.html'' in the full ExifTool distribution for more information.

Multiple -geotag options may be used to concatinate GPS track log data. Also, a single -geotag option may be used to load multiple track log files by using wildcards in the TRKFILE name, but note that in this case TRKFILE must be quoted on most systems (with the notable exception of Windows) to prevent filename expansion. For example:

exiftool -geotag "TRACKDIR/*.log" IMAGEDIR

Currently supported track file formats are GPX, NMEA RMC/GGA/GLL, KML, IGC, Garmin XML and TCX, Magellan PMGNTRK, Honeywell PTNTHPR, and Winplus Beacon text files. See ``GEOTAGGING EXAMPLES'' for examples. Also see ``geotag.html'' in the full ExifTool distribution and the Image::ExifTool Options for more details and for information about geotag configuration options.

-globalTimeShift SHIFT

Shift all formatted date/time values by the specified amount when reading. Does not apply to unformatted (-n) output. SHIFT takes the same form as the date/time shift when writing (see Image::ExifTool::Shift.pl for details), with a negative shift being indicated with a minus sign ("-") at the start of the SHIFT string. For example:

# return all date/times, shifted back by 1 hour

exiftool -globalTimeShift -1 -time:all a.jpg

# set the file name from the shifted CreateDate (-1 day) for

# all images in a directory

exiftool "-filename<createdate" -globaltimeshift "-0:0:1 0:0:0" \

-d %Y%m%d-%H%M%S.%%e dir

-use MODULE

Add features from specified plug-in MODULE. Currently, the MWG module is the only plug-in module distributed with exiftool. This module adds read/write support for tags as recommended by the Metadata Working Group. To save typing, "-use MWG" is assumed if the "MWG" group is specified for any tag on the command line. See the MWG Tags documentation for more details. Note that this option is not reversible, and remains in effect until the application terminates, even across the "-execute" option.

Utilities

-restore_original

-delete_original[!]

These utility options automate the maintenance of the "_original" files created by exiftool. They have no effect on files without an "_original" copy. The -restore_original option restores the specified files from their original copies by renaming the "_original" files to replace the edited versions. For example, the following command restores the originals of all JPG images in directory "DIR":

exiftool -restore_original -ext jpg DIR

The -delete_original option deletes the "_original" copies of all files specified on the command line. Without a trailing "!" this option prompts for confirmation before continuing. For example, the following command deletes "a.jpg_original" if it exists, after asking ``Are you sure?'':

exiftool -delete_original a.jpg

These options may not be used with other options to read or write tag values in the same command, but may be combined with options such -ext, -if, -r, -q and -v.

Other options

-@ ARGFILE

Read command-line arguments from the specified file. The file contains one argument per line (NOT one option per line --- some options require additional arguments, and all arguments must be placed on separate lines). Blank lines and lines beginning with "#" and are ignored. Normal shell processing of arguments is not performed, which among other things means that arguments should not be quoted and spaces are treated as any other character. ARGFILE may exist relative to either the current directory or the exiftool directory unless an absolute pathname is given.

For example, the following ARGFILE will set the value of Copyright to ``Copyright YYYY, Phil Harvey'', where ``YYYY'' is the year of CreateDate:

-d

%Y

-copyright<Copyright $createdate, Phil Harvey

-k (-pause)

Pause with the message "-- press any key --" or "-- press RETURN --" (depending on your system) before terminating. This option is used to prevent the command window from closing when run as a Windows drag and drop application.

-list, -listw, -listf, -listr, -listwf, -listg[NUM], -listd, -listx

Print a list of all valid tag names (-list), all writable tag names (-listw), all supported file extensions (-listf), all recognized file extensions (-listr), all writable file extensions (-listwf), all tag groups [in a specified family] (-listg[NUM]), all deletable tag groups (-listd), or an XML database of tag details including language translations (-listx). The -list, -listw and -listx options may be followed by an additional argument of the form "-GROUP:All" to list only tags in a specific group, where "GROUP" is one or more family 0-2 group names (excepting EXIF IFD groups) separated by colons. With -listg, NUM may be given to specify the group family, otherwise family 0 is assumed. Here are some examples:

-list               # list all tag names

-list -EXIF:All     # list all EXIF tags

-list -xmp:time:all # list all XMP tags relating to time

-listw -XMP-dc:All  # list all writable XMP-dc tags

-listf              # list all supported file extensions

-listr              # list all recognized file extensions

-listwf             # list all writable file extensions

-listg1             # list all groups in family 1

-listd              # list all deletable groups

-listx -EXIF:All    # list database of EXIF tags in XML format

-listx -XMP:All -s  # list short XML database of XMP tags

When combined with -listx, the -s option shortens the output by omitting the descriptions and values (as in the last example above), and -f adds a 'flags' attribute if applicable. The flags are formatted as a comma-separated list of the following possible values: Avoid, Binary, List, Mandatory, Permanent, Protected, Unknown and Unsafe (see the Tag Name documentation). For XMP List tags, the list type (Alt, Bag or Seq) is added to the flags, and flattened structure tags are indicated by a Flattened flag.

Note that none of the -list options require an input FILE.

-ver

Print exiftool version number.

Advanced options

Among other things, the advanced options allow complex processing to be performed from a single command without the need for additional scripting. This may be particularly useful for implementations such as Windows drag-and-drop applications. These options may also be used to improve performance in multi-pass processing by reducing the overhead required to load exiftool for each invocation.

-api OPT[=VAL]

Set ExifTool API option. OPT is an API option name. The option value is set to 1 if =VAL is omitted. See Image::ExifTool Options for a list of available API options. This overrides API options set via the config file.

-common_args

Specifies that all arguments following this option are common to all executed commands when -execute is used. This and the -config option are the only options that may not be used inside a -@ ARGFILE. Note that by definition this option and its arguments MUST come after all other options on the command line.

-config CFGFILE

Load specified configuration file instead of the default ``.ExifTool_config''. If used, this option must come before all other arguments on the command line. The CFGFILE name may contain a directory specification (otherwise the file must exist in the current directory), or may be set to an empty string ("``) to disable loading of the config file. See the sample configuration file and ''config.html" in the full ExifTool distribution for more information about the ExifTool configuration file.

-echo[NUM] TEXT

Echo text to stdout (-echo or -echo1) or stderr (-echo2). Text is output as the command line is parsed, before the processing of any input files. NUM may also be 3 or 4 to output text (to stdout or stderr respectively) after processing is complete.

-execute[NUM]

Execute command for all arguments up to this point on the command line. Allows multiple commands to be executed from a single command line. NUM is an optional number that is echoed in the ``{ready}'' message when using the -stay_open feature.

-srcfile FMT

Specify a different source file to be processed based on the name of the original FILE. This may be useful in some special situations for processing related preview images or sidecar files. See the -w option for a description of the FMT syntax. Note that file name FMT strings for all options are based on the original FILE specified from the command line, not the name of the source file specified by -srcfile.

If than one -srcfile option is specified, the files are tested in order and the first existing source file is processed. If none of the source files already exist, then exiftool uses the first -srcfile specified.

A FMT of "@" may be used to represent the original FILE, which may be useful when specifying multiple -srcfile options (ie. to fall back to processing the original FILE if no sidecar exists).

-stay_open FLAG

If FLAG is 1 or "True", causes exiftool keep reading from the -@ ARGFILE even after reaching the end of file. This feature allows calling applications to pre-load exiftool, thus avoiding the overhead of loading exiftool for each command. The procedure is as follows:

1) Execute "exiftool -stay_open True -@ ARGFILE", where ARGFILE is the name of an existing (possibly empty) argument file or "-" to pipe arguments from the standard input.

2) Write exiftool command-line arguments to ARGFILE, one argument per line (see the -@ option for details).

3) Write "-execute\n" to ARGFILE, where "\n" represents a newline sequence. (Note: You may need to flush your write buffers here if using buffered output.) Exiftool will then execute the command with the arguments received up to this point, send a ``{ready}'' message to stdout when done (unless the -q or -T option is used), and continue trying to read arguments for the next command from ARGFILE. To aid in command/response synchronization, any number appended to the "-execute" option is echoed in the ``{ready}'' message. For example, "-execute613" results in ``{ready613}''.

4) Repeat steps 2 and 3 for each command.

5) Write "-stay_open\nFalse\n" to ARGFILE when done. This will cause exiftool to process any remaining command-line arguments then exit normally.

The input ARGFILE may be changed at any time before step 5 above by writing the following lines to the currently open ARGFILE:

-stay_open

True

-@

NEWARGFILE

This causes ARGFILE to be closed, and NEWARGFILE to be kept open. (Without the -stay_open here, exiftool would have returned to reading arguments from ARGFILE after reaching the end of NEWARGFILE.)

Note: When writing arguments to a disk file there is a delay of up to 0.01 seconds after writing "-execute\n" before exiftool starts processing the command. This delay may be avoided by sending a CONT signal to the exiftool process immediately after writing "-execute\n". (There is no associated delay when writing arguments via a pipe with "-@ -", so the signal is not necessary when using this technique.)

READING EXAMPLES

Note: Beware when cutting and pasting these examples into your terminal! Some characters such as single and double quotes and hyphens may have been changed into similar-looking yet functionally-different characters by the text formatter used to display this documentation. Also note that Windows users must use double quotes instead of single quotes as below around arguments containing special characters.

exiftool -a -u -g1 a.jpg

Print all meta information in an image, including duplicate and unknown tags, sorted by group (for family 1).

exiftool -common dir

Print common meta information for all images in "dir". "-common" is a shortcut tag representing common EXIF meta information.

exiftool -T -createdate -aperture -shutterspeed -iso dir > out.txt

List specified meta information in tab-delimited column form for all images in "dir" to an output text file named ``out.txt''.

exiftool -s -ImageSize -ExposureTime b.jpg

Print ImageSize and ExposureTime tag names and values.

exiftool -l -canon c.jpg d.jpg

Print standard Canon information from two image files.

exiftool -r -w .txt -common pictures

Recursively extract common meta information from files in "pictures" directory, writing text output to ".txt" files with the same names.

exiftool -b -ThumbnailImage image.jpg > thumbnail.jpg

Save thumbnail image from "image.jpg" to a file called "thumbnail.jpg".

exiftool -b -JpgFromRaw -w _JFR.JPG -ext NEF -r .

Recursively extract JPG image from all Nikon NEF files in the current directory, adding "_JFR.JPG" for the name of the output JPG files.

exiftool -d '%r %a, %B %e, %Y' -DateTimeOriginal -S -s -ext jpg .

Print formatted date/time for all JPG files in the current directory.

exiftool -IFD1:XResolution -IFD1:YResolution image.jpg

Extract image resolution from EXIF IFD1 information (thumbnail image IFD).

exiftool '-*resolution*' image.jpg

Extract all tags with names containing the word ``Resolution'' from an image.

exiftool -xmp:author:all -a image.jpg

Extract all author-related XMP information from an image.

exiftool -xmp -b a.jpg > out.xmp

Extract complete XMP data record intact from "a.jpg" and write it to "out.xmp" using the special "XMP" tag (see the Extra tags in Image::ExifTool::TagNames).

exiftool -p '$filename has date $dateTimeOriginal' -q -f dir

Print one line of output containing the file name and DateTimeOriginal for each image in directory "dir".

exiftool -ee -p '$gpslatitude, $gpslongitude, $gpstimestamp' a.m2ts

Extract all GPS positions from an AVCHD video.

exiftool -icc_profile -b -w icc image.jpg

Save complete ICC_Profile from an image to an output file with the same name and an extension of ".icc".

exiftool -htmldump -w tmp/%f_%e.html t/images

Generate HTML pages from a hex dump of EXIF information in all images from the "t/images" directory. The output HTML files are written to the "tmp" directory (which is created if it didn't exist), with names of the form 'FILENAME_EXT.html'.

exiftool -a -b -ee -embeddedimage -W Image_%.3g3.%s file.pdf

Extract embedded JPG and JP2 images from a PDF file. The output images will have file names like ``Image_#.jpg'' or ``Image_#.jp2'', where ``#'' is the ExifTool family 3 embedded document number for the image.

WRITING EXAMPLES

Note that quotes are necessary around arguments which contain certain special characters such as ">", "<" or any white space. These quoting techniques are shell dependent, but the examples below will work for most Unix shells. With the Windows cmd shell however, double quotes should be used (ie. -Comment=``This is a new comment'').

exiftool -Comment='This is a new comment' dst.jpg

Write new comment to a JPG image (replaces any existing comment).

exiftool -comment= -o newdir -ext jpg .

Remove comment from all JPG images in the current directory, writing the modified images to a new directory.

exiftool -keywords=EXIF -keywords=editor dst.jpg

Replace existing keyword list with two new keywords ("EXIF" and "editor").

exiftool -Keywords+=word -o newfile.jpg src.jpg

Copy a source image to a new file, and add a keyword ("word") to the current list of keywords.

exiftool -exposurecompensation+=-0.5 a.jpg

Decrement the value of ExposureCompensation by 0.5 EV. Note that += with a negative value is used for decrementing because the -= operator is used for conditional deletion (see next example).

exiftool -credit-=xxx dir

Delete Credit information from all files in a directory where the Credit value was ("xxx").

exiftool -xmp:description-de='k&uuml;hl' -E dst.jpg

Write alternate language for XMP:Description, using HTML character escaping to input special characters.

exiftool -all= dst.jpg

Delete all meta information from an image. Note: You should NOT do this to RAW images (except DNG) since proprietary RAW image formats often contain information in the makernotes that is necessary for converting the image.

exiftool -all= -comment='lonely' dst.jpg

Delete all meta information from an image and add a comment back in. (Note that the order is important: "-comment='lonely' -all=" would also delete the new comment.)

exiftool -all= --jfif:all dst.jpg

Delete all meta information except JFIF group from an image.

exiftool -Photoshop:All= dst.jpg

Delete Photoshop meta information from an image (note that the Photoshop information also includes IPTC).

exiftool -r -XMP-crss:all= DIR

Recursively delete all XMP-crss information from images in a directory.

exiftool '-ThumbnailImage<=thumb.jpg' dst.jpg

Set the thumbnail image from specified file (Note: The quotes are necessary to prevent shell redirection).

exiftool '-JpgFromRaw<=%d%f_JFR.JPG' -ext NEF -r .

Recursively write JPEG images with filenames ending in "_JFR.JPG" to the JpgFromRaw tag of like-named files with extension ".NEF" in the current directory. (This is the inverse of the "-JpgFromRaw" command of the ``READING EXAMPLES'' section above.)

exiftool -DateTimeOriginal-='0:0:0 1:30:0' dir

Adjust original date/time of all images in directory "dir" by subtracting one hour and 30 minutes. (This is equivalent to "-DateTimeOriginal-=1.5". See Image::ExifTool::Shift.pl for details.)

exiftool -createdate+=3 -modifydate+=3 a.jpg b.jpg

Add 3 hours to the CreateDate and ModifyDate timestamps of two images.

exiftool -AllDates+=1:30 -if '$make eq Canon' dir

Shift the values of DateTimeOriginal, CreateDate and ModifyDate forward by 1 hour and 30 minutes for all Canon images in a directory. (The AllDates tag is provided as a shortcut for these three tags, allowing them to be accessed via a single tag.)

exiftool -xmp:city=Kingston image1.jpg image2.nef

Write a tag to the XMP group of two images. (Without the "xmp:" this tag would get written to the IPTC group since "City" exists in both, and IPTC is preferred by default.)

exiftool -LightSource-='Unknown (0)' dst.tiff

Delete "LightSource" tag only if it is unknown with a value of 0.

exiftool -whitebalance-=auto -WhiteBalance=tung dst.jpg

Set "WhiteBalance" to "Tungsten" only if it was previously "Auto".

exiftool -comment-= -comment='new comment' a.jpg

Write a new comment only if the image doesn't have one already.

exiftool -o %d%f.xmp dir

Create XMP meta information data files for all images in "dir".

exiftool -o test.xmp -owner=Phil -title='XMP File'

Create an XMP data file only from tags defined on the command line.

exiftool '-ICC_Profile<=%d%f.icc' image.jpg

Write ICC_Profile to an image from a ".icc" file of the same name.

exiftool -hierarchicalkeywords='{keyword=one,children={keyword=B}}'

Write structured XMP information. See <http://owl.phy.queensu.ca/~phil/exiftool/struct.html> for more details.

exiftool -trailer:all= image.jpg

Delete any trailer found after the end of image (EOI) in a JPEG file. A number of digital cameras store a large PreviewImage after the JPEG EOI, and the file size may be reduced significantly by deleting this trailer. See the JPEG Tags documentation for a list of recognized JPEG trailers.

COPYING EXAMPLES

These examples demonstrate the ability to copy tag values between files.

exiftool -tagsFromFile src.cr2 dst.jpg

Copy the values of all writable tags from "src.cr2" to "dst.jpg", writing the information to same-named tags in the preferred groups.

exiftool -TagsFromFile src.jpg -all:all dst.jpg

Copy the values of all writable tags from "src.jpg" to "dst.jpg", preserving the original tag groups.

exiftool -all= -tagsfromfile src.jpg -exif:all dst.jpg

Erase all meta information from "dst.jpg" image, then copy EXIF tags from "src.jpg".

exiftool -exif:all= -tagsfromfile @ -all:all -unsafe bad.jpg

Rebuild all EXIF meta information from scratch in an image. This technique can be used in JPEG images to repair corrupted EXIF information which otherwise could not be written due to errors. The "Unsafe" tag is a shortcut for unsafe EXIF tags in JPEG images which are not normally copied. See the tag name documentation for more details about unsafe tags.

exiftool -Tagsfromfile a.jpg out.xmp

Copy meta information from "a.jpg" to an XMP data file. If the XMP data file "out.xmp" already exists, it will be updated with the new information. Otherwise the XMP data file will be created. Only XMP, ICC and MIE files may be created like this (other file types may be edited but not created). See ``WRITING EXAMPLES'' above for another technique to generate XMP files.

exiftool -tagsFromFile a.jpg -XMP:All= -ThumbnailImage= -m b.jpg

Copy all meta information from "a.jpg" to "b.jpg", deleting all XMP information and the thumbnail image from the destination.

exiftool -TagsFromFile src.jpg -title -author=Phil dst.jpg

Copy title from one image to another and set a new author name.

exiftool -TagsFromFile a.jpg -ISO -TagsFromFile b.jpg -comment dst.jpg

Copy ISO from one image and Comment from another image to a destination image.

exiftool -tagsfromfile src.jpg -exif:all --subifd:all dst.jpg

Copy only the EXIF information from one image to another, excluding SubIFD tags.

exiftool '-FileModifyDate<DateTimeOriginal' dir

Use the original date from the meta information to set the same file's filesystem modification date for all images in a directory. (Note that "-TagsFromFile @" is assumed if no other -TagsFromFile is specified when redirecting information as in this example.)

exiftool -TagsFromFile src.jpg '-xmp:all<all' dst.jpg

Copy all possible information from "src.jpg" and write in XMP format to "dst.jpg".

exiftool -@ iptc2xmp.args -iptc:all= a.jpg

Translate IPTC information to XMP with appropriate tag name conversions, and delete the original IPTC information from an image. This example uses iptc2xmp.args, which is a file included with the ExifTool distribution that contains the required arguments to convert IPTC information to XMP format. Also included with the distribution are xmp2iptc.args (which performs the inverse conversion) and a few more .args files for other conversions between EXIF, IPTC and XMP.

exiftool -tagsfromfile %d%f.CR2 -r -ext JPG dir

Recursively rewrite all "JPG" images in "dir" with information copied from the corresponding "CR2" images in the same directories.

exiftool '-keywords+<make' image.jpg

Add camera make to list of keywords.

exiftool '-comment<ISO=$exif:iso Exposure=${shutterspeed}' dir

Set the Comment tag of all images in "dir" from the values of the EXIF:ISO and ShutterSpeed tags. The resulting comment will be in the form ``ISO=100 Exposure=1/60''.

exiftool -TagsFromFile src.jpg -icc_profile dst.jpg

Copy ICC_Profile from one image to another.

exiftool -TagsFromFile src.jpg -all:all dst.mie

Copy all meta information in its original form from a JPEG image to a MIE file. The MIE file will be created if it doesn't exist. This technique can be used to store the metadata of an image so it can be inserted back into the image (with the inverse command) later in a workflow.

exiftool -o dst.mie -all:all src.jpg

This command performs exactly the same task as the command above, except that the -o option will not write to an output file that already exists.

exiftool -if '$jpgfromraw' -b -jpgfromraw -w %d%f_%ue.jpg -execute -if '$previewimage' -b -previewimage -w %d%f_%ue.jpg -execute -tagsfromfile @ -srcfile %d%f_%ue.jpg -overwrite_original -common_args --ext jpg DIR

[Advanced] Extract JpgFromRaw or PreviewImage from all but JPG files in DIR, saving them with file names like "image_EXT.jpg", then add all meta information from the original files to the extracted images. Here, the command line is broken into three sections (separated by -execute options), and each is executed as if it were a separate command. The -common_args option causes the "--ext jpg DIR" arguments to be applied to all three commands, and the -srcfile option allows the extracted JPG image to be the source file for the third command (whereas the RAW files are the source files for the other two commands).

RENAMING EXAMPLES

By writing the "FileName" and "Directory" tags, files are renamed and/or moved to new directories. This can be particularly useful and powerful for organizing files by date when combined with the -d option. New directories are created as necessary, but existing files will not be overwritten. The format codes %d, %f and %e may be used in the new file name to represent the directory, name and extension of the original file, and %c may be used to add a copy number if the file already exists (see the -w option for details). Note that if used within a date format string, an extra '%' must be added to pass these codes through the date/time parser. (And further note that in a Windows batch file, all '%' characters must also be escaped, so in this extreme case '%%%%f' is necessary to pass a simple '%f' through the two levels of parsing.) See <http://owl.phy.queensu.ca/~phil/exiftool/filename.html> for additional documentation and examples.

exiftool -filename=new.jpg dir/old.jpg

Rename "old.jpg" to "new.jpg" in directory "dir".

exiftool -directory=%e dir

Move all files from directory "dir" into directories named by the original file extensions.

exiftool '-Directory<DateTimeOriginal' -d %Y/%m/%d dir

Move all files in "dir" into a directory hierarchy based on year, month and day of "DateTimeOriginal". ie) This command would move the file "dir/image.jpg" with a "DateTimeOriginal" of "2005:10:12 16:05:56" to "2005/10/12/image.jpg".

exiftool -o . '-Directory<DateTimeOriginal' -d %Y/%m/%d dir

Same effect as above except files are copied instead of moved.

exiftool '-filename<%f_${model;}.%e' dir

Rename all files in "dir" by adding the camera model name to the file name. The semicolon after the tag name inside the braces causes characters which are invalid in Windows file names to be deleted from the tag value (see the -p option documentation for an explanation).

exiftool '-FileName<CreateDate' -d %Y%m%d_%H%M%S%%-c.%%e dir

Rename all images in "dir" according to the "CreateDate" date and time, adding a copy number with leading '-' if the file already exists ("%-c"), and preserving the original file extension (%e). Note the extra '%' necessary to escape the filename codes (%c and %e) in the date format string.

exiftool -r '-FileName<CreateDate' -d %Y-%m-%d/%H%M_%%f.%%e dir

Both the directory and the filename may be changed together via the "FileName" tag if the new "FileName" contains a '/'. The example above recursively renames all images in a directory by adding a "CreateDate" timestamp to the start of the filename, then moves them into new directories named by date.

exiftool '-FileName<${CreateDate}_$filenumber.jpg' -d %Y%m%d -ext jpg .

Set the filename of all JPG images in the current directory from the CreateDate and FileNumber tags, in the form ``20060507_118-1861.jpg''.

GEOTAGGING EXAMPLES

ExifTool implements geotagging via 3 special tags: Geotag (which for convenience is also implemented as an exiftool option), Geosync and Geotime. The examples below highlight some geotagging features. See <http://owl.phy.queensu.ca/~phil/exiftool/geotag.html> for additional documentation.

exiftool -geotag track.log a.jpg

Geotag an image ("a.jpg") from position information in a GPS track log ("track.log"). Since the "Geotime" tag is not specified, the value of DateTimeOriginal is used for geotagging. Local system time is assumed unless DateTimeOriginal contains a timezone.

exiftool -geotag t.log -geotime='2009:04:02 13:41:12-05:00' a.jpg

Geotag an image with the GPS position for a specific time. (Note that the "Geotag" tag must be assigned before "Geotime" for the GPS data to be available when "Geotime" is set.)

exiftool -geotag log.gpx '-xmp:geotime<createdate' dir

Geotag all images in directory "dir" with XMP tags instead of EXIF tags, based on the image CreateDate. (In this case, the order of the arguments doesn't matter because tags with values copied from other tags are always set after constant values.)

exiftool -geotag a.log -geosync=-20 dir

Geotag images in directory "dir", accounting for image timestamps which were 20 seconds ahead of GPS.

exiftool -geotag a.log -geosync=1.jpg -geosync=2.jpg dir

Geotag images using time synchronization from two previously geotagged images (1.jpg and 2.jpg), synchronizing the image and GPS times using a linear time drift correction.

exiftool -geotag a.log '-geotime<${createdate}+01:00' dir

Geotag images in "dir" using CreateDate with the specified timezone. If CreateDate already contained a timezone, then the timezone specified on the command line is ignored.

exiftool -geotag= a.jpg

Delete GPS tags which may have been added by the geotag feature. Note that this does not remove all GPS tags --- to do this instead use "-gps:all=".

exiftool -xmp:geotag= a.jpg

Delete XMP GPS tags which were added by the geotag feature.

exiftool -xmp:geotag=track.log a.jpg

Geotag an image with XMP tags, using the time from DateTimeOriginal.

exiftool -geotag a.log -geotag b.log -r dir

Combine multiple track logs and geotag an entire directory tree of images.

exiftool -geotag 'tracks/*.log' -r dir

Read all track logs from the "tracks" directory.

exiftool -p gpx.fmt -d %Y-%m-%dT%H:%M:%SZ dir > out.gpx

Generate a GPX track log from all images in directory "dir". This example uses the "gpx.fmt" file included in the full ExifTool distribution package and assumes that the images in "dir" have all been previously geotagged.

PIPING EXAMPLES

cat a.jpg | exiftool -

Extract information from stdin.

exiftool image.jpg -thumbnailimage -b | exiftool -

Extract information from an embedded thumbnail image.

cat a.jpg | exiftool -iptc:keywords+=fantastic - > b.jpg

Add an IPTC keyword in a pipeline, saving output to a new file.

curl -s http://a.domain.com/bigfile.jpg | exiftool -fast -

Extract information from an image over the internet using the cURL utility. The -fast option prevents exiftool from scanning for trailer information, so only the meta information header is transferred.

exiftool a.jpg -thumbnailimage -b | exiftool -comment=wow - | exiftool a.jpg -thumbnailimage'<=-'

Add a comment to an embedded thumbnail image. (Why anyone would want to do this I don't know, but I've included this as an example to illustrate the flexibility of ExifTool.)

DIAGNOSTICS

The exiftool application exits with a status of 0 on success, or 1 if an error occured or if all files failed the -if condition.

AUTHOR

Copyright 2003-2014, Phil Harvey

This is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

SEE ALSO

Image::ExifTool(3pm), Image::ExifTool::TagNames(3pm), Image::ExifTool::Shortcuts(3pm), Image::ExifTool::Shift.pl

NAME SYNOPSIS DESCRIPTION OPTIONS Option Summary Option Details READING EXAMPLES WRITING EXAMPLES COPYING EXAMPLES RENAMING EXAMPLES GEOTAGGING EXAMPLES PIPING EXAMPLES DIAGNOSTICS AUTHOR SEE ALSO

This document was created by man2html using the manual pages.

Time: 16:33:33 GMT, September 14, 2024

ASFileCrypt

TOC Index

NAME

ASFileCrypt - Encrypt files with Salsa20, ChaCha20 or HC-256

SYNOPSIS

WA2LWinTools/bin/AsFileCrypt [ -h | -i | -u | -V ]

AsFileCrypt [ file ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

Encryption program for files that uses Salsa20, ChaCha20 or HC-256 with a 256-bit key.

The program creates an encrypted (password protected) copy of any file and the program can later be used to decrypt (restore) the original file.

Features:

-

The program integrate with Windows which means that you can right-click on a file and choose ASFileCrypt in the 'Send To' context menu of 'Windows Explorer'.

-

The speed is measured during each encryption / decryption operation and the program will display the result for you when it's done.

-

This encryption program makes use of a key strengthening algorithm which delays the final encryption key, this increases the security.

-

The program stores an encrypted checksum of the original file, which is verified at decryption.

-

You don't need to enter the password twice, instead you can press [F12] if you want to show or hide the password.

OPTIONS

-h

usage message.

-i

install the ASFileCrypt command as menu point 'ASFileCrypt' to the 'Send To' context menu in 'Windows Explorer'.

-u

uninstall the ASFileCrypt shortcut from the 'Send To' context menu in 'Windows Explorer'.

-V

print program version.

file

file to encrypt or decrypt.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage message displayed.

5

program version printed.

6

program variant not known. This error occurs when the ASFileCrypt command is renamed.

FILES

-

EXAMPLES

-

SEE ALSO

wintoolsintro(1), config(1m), https://www.andreas-software.com/international/program_as_file_crypt.php

NOTES

ASFileCrypt was developed by Andreas Joensson <https://www.andreas-software.com/>. See https://www.andreas-software.com/international/program_as_file_crypt.php for more information.

Parts of this manual page are extracted from the web page: https://www.andreas-software.com/international/program_as_file_crypt.php.

BUGS

-

AUTHOR

ASFileCrypt was developed by Andreas Joensson <https://www.andreas-software.com/> and integrated into WA2L/WinTools by Christian Walther. Send suggestions and bug reports regarding the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2023 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:31:42 GMT, September 14, 2024

mTail

TOC Index

NAME

mTail - continuous output of growing files (Unix like tail for Windows)

SYNOPSIS

WA2LWinTools/bin/mTail [ -h | -i | -u | -V ]

mTail [ filename ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

When started thru right click and using the 'SendTo' Windows Explorer context menu the selected file is automatically loaded into mTail.

You should now see the mTAIL main window. Click on the button next to the "File:" label to select a file from the file system browser or enter a filename manually in the text combobox to the right of the button ( example: C:\temp\log.txt ).

Click the Start button (to the right of the window) and you should see the end of the text file you chose appear in the text display area. To stop tailing, just click the stop button.

You are not limited to one instance of mTAIL; you can launch any number of mTAIL windows to tail multiple file at the same time.

For a detailed documentation containing also screen shots to illustrate the usage, see: http://ophilipp.free.fr/soft/mTAIL.pdf or mtail.Help(1).

OPTIONS

-h

usage message.

-i

install the mTail command as menu point 'mTail' to the 'Send To' context menu in 'Windows Explorer'.

-u

uninstall the mTail shortcut from the 'Send To' context menu in 'Windows Explorer'.

-V

print program version.

filename

file to be displayed.

ENVIRONMENT

-

EXIT STATUS

0

always.

FILES

etc/mtail.cfg

configuration of mTail. This file is maintained by the command.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), config(1m), mtail.Help(1), wintail(1), http://ophilipp.free.fr/soft/mTAIL.pdf

NOTES

mTail has been developed by Olivier Philipp <ophilipp@free.fr>.

Parts of this manual page are based on the documentation in http://ophilipp.free.fr/soft/mTAIL.pdf.

Please note and respect that the mTail program is only free, if it is not used in a commercial/business environment.

If used in a commercial/business environment a registration and a donation to the author Olivier Philipp is required.

See: http://www.mtail.com/ for registration information.

BUGS

-

AUTHOR

mTail was developed by by Olivier Philipp <ophilipp@free.fr> and integrated into WA2L/WinTools by Christian Walther. Send suggestions and bug reports regarding the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:29 GMT, September 14, 2024

wintail

TOC Index

NAME

WinTail - continuous output of growing files (Unix like tail for Windows)

SYNOPSIS

WA2LWinTools/bin/WinTail [ -h | -i | -u | -V ]

wintail [ filename... ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

When started thru right click and using the 'SendTo' Windows Explorer context menu the selected file is automatically loaded into WinTail.

For a detailed documentation containing also screen shots to illustrate the usage, see: http://www.tailforwindows.net/.

OPTIONS

-h usage message.

-i

install the WinTail command as menu point 'WinTail' to the 'Send To' context menu in 'Windows Explorer'.

-u

uninstall the WinTail shortcut from the 'Send To' context menu in 'Windows Explorer'.

-V

print program version.

filename...

file(s) to be displayed. The filename must be specified as absolute file name.

If the WinTail command is used from the command line, a quick way to use an absolute file name is the usage of the %cd% environment variable which holds the current working directory:

[ H:\bin\myApplication\log\ ]

[ fred@ACME007 ][*wtshell*/cmd]: wintail %cd%\connect.log %cd%\debug.log

ENVIRONMENT

-

EXIT STATUS

0

always.

FILES

etc/WinTail.cfg

configuration of WinTail. This file is maintained by the command.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), config(1m), mtail(1m), http://www.tailforwindows.net/

NOTES

wintail has been developed by Alberto Andreo <https://sourceforge.net/u/albertoandreo/profile/>.

Parts of this manual page are based on the documentation in http://www.tailforwindows.net/.

BUGS

-

AUTHOR

wintail was developed by by Alberto Andreo <https://sourceforge.net/u/albertoandreo/profile/> and integrated into WA2L/WinTools by Christian Walther. Send suggestions and bug reports regarding the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:33:22 GMT, September 14, 2024

NewFileTime

TOC Index

NAME

NewFileTime - correct or manipulate any of the timestamps for any file and folder

SYNOPSIS

WA2LWinTools/bin/NewFileTime [ -h | -i | -u | -V ]

NewFileTime file...

AVAILABILITY

WA2L/WinTools

DESCRIPTION

NewFileTime is a Windows™ tool that provides you easy access to correct or manipulate any of the timestamps for any file and folder on your Windows™ system.

Several files and/or folders can be modified at the same time. You can add files simply via Drag and Drop or by import from a folder. In any case, it opens in different ways to bring you quickly to the job at hand. You can make files proportionally younger or older, or you can set a specific date/time.

With this utility everyone can have the ability to make quick corrections to the creation, last access and modification dates/times of the files or folders on their PC. NewFileTime does not have to be installed and can be executed easily from the desktop.

It can be used to make time corrections, such as: for incorrectly set of time on the digital camera, the computer, or for other important reasons.

Key Features:

-

Summer time and winter time stamp corrections

-

Multiple files support

-

Change timestamp plus drag and drop

-

Change File and Folder time via MS Explorer Menu

-

File Name to File Time Stamp

-

Edit and import file times in Excel or Calc

OPTIONS

-h

usage message.

-i

install the NewFileTime command to the 'SendTo' context menu in 'Windows Explorer'.

-u

uninstall the NewFileTime command from the 'SendTo' context menu in 'Windows Explorer'.

-V

print program version.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage message displayed.

5

version message displayed.

FILES

etc/NewFileTime.cfg

configuration file copy of the active NewFileTime.ini file of NewFileTime.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), config(1m), setmodificationdate(1), https://softwareok.com/?seite=Microsoft/NewFileTime

NOTES

Parts of this manpage were extracted from the documentation of NewFileTime written by Nenad Hrg and modified to fit to the WA2L/WinTools package. See: https://softwareok.com/?seite=Microsoft/NewFileTime for more information.

BUGS

-

AUTHOR

NewFileTime was developed by Nenad Hrg and integrated into WA2L/WinTools by Christian Walther. Send suggestions and bug reports related to the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2022 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:31 GMT, September 14, 2024

SetModificationDate

TOC Index

NAME

SetModificationDate - Set Modification Timestamps of Files in Directory

SYNOPSIS

WA2LWinTools/bin/SetModificationDate [ -h | -i | -u | -V ]

SetModificationDate [ directory ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

Set file modification date of files in a directory in the same order as when the files are sorted by name.

This command can be used to ensure, that images are showed in the right sequence when displaying them on a TV that does not display files ordered by name correctly.

The SetModificationDate command can be installed to the 'Send To' context menu in 'Microsoft™ Windows Explorer' for most convenient usage. To do so, invoke SetModificationDate -i once.

OPTIONS

-h

usage message.

-i

install the SetModificationDate command as menu point 'SetModificationDate' to the 'Send To' context menu in 'Windows Explorer'.

-u

uninstall the SetModificationDate shortcut from the 'Send To' context menu in 'Windows Explorer'.

-V

print program version.

directory

the modification date of the files within this directory will be modified. When installed in the 'Send To' menu the selected directory in 'Windows Explorer' are passed to the SetModificationDate command and the modification date of all files therein are set in the same sequence as if the files are ordered by filename.

If no directory is specified, you are queried to select the directory by a open folder box dialog where you then can select the directory to be processed.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage message displayed.

5

program version printed.

6

program variant not known. This error occurs when the SetModificationDate command is renamed.

FILES

-

EXAMPLES

-

SEE ALSO

wintoolsintro(1), config(1m), newfiletime(1m)

NOTES

-

BUGS

-

AUTHOR

SetModificationDate was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:58 GMT, September 14, 2024

todayprefix

TOC Index

NAME

todayprefix - add the date as prefix to the file name

SYNOPSIS

WA2LWinTools/bin/todayprefix [ -h | -i | -u | -V ]

todayprefix file...

AVAILABILITY

WA2L/WinTools

DESCRIPTION

when the todayprefix is called without pressing any special key, it prepends the current date ( 20150128 - filename.ext ) to the file name.

When the SPACE key is pressed during command execution, the resulting file is 201501282359 - filename.ext .

When the SHIFT key is pressed during command execution, the resulting file is 2015-01-28 - filename.ext .

When the LEFT CONTROL key is pressed during command execution, the resulting file is 28012015 - filename.ext .

When the RIGHT CONTROL key is pressed during command execution, the resulting file is 28-01-2015 - filename.ext .

The given file is renamed, if there is not already a file with the same name.

Files having already a date prefix of another date are renamed to the current date.

Examples (executed on January 28th, 2015) without pressing any other key:

Reservation.docx           ==>  20150128 - Reservation.docx

20150115 - ToDo List.xlsx  ==>  20150128 - ToDo List.xlsx

201501151345 - Image.png   ==>  20150128 - Image.png

2015-01-15 - Report.docx   ==>  20150128 - Report.docx

15012015 - Logbook.docx    ==>  20150128 - Logbook.docx

15-01-2015 - Agenda.docx   ==>  20150128 - Agenda.docx

Examples (executed on January 28th, 2015, 23:59) when pressing the SPACE key:

Reservation.docx           ==>  201501282359 - Reservation.docx

20150115 - ToDo List.xlsx  ==>  201501282359 - ToDo List.xlsx

201501151345 - Image.png   ==>  201501282359 - Image.png

2015-01-15 - Report.docx   ==>  201501282359 - Report.docx

15012015 - Logbook.docx    ==>  201501282359 - Logbook.docx

15-01-2015 - Agenda.docx   ==>  201501282359 - Agenda.docx

Examples (executed on January 28th, 2015) when pressing the SHIFT key:

Reservation.docx           ==>  2015-01-28 - Reservation.docx

20150115 - ToDo List.xlsx  ==>  2015-01-28 - ToDo List.xlsx

201501151345 - Image.png   ==>  2015-01-28 - Image.png

2015-01-15 - Report.docx   ==>  2015-01-28 - Report.docx

15012015 - Logbook.docx    ==>  2015-01-28 - Logbook.docx

15-01-2015 - Agenda.docx   ==>  2015-01-28 - Agenda.docx

Examples (executed on January 28th, 2015) when pressing the LEFT CONTROL key:

Reservation.docx           ==>  28012015 - Reservation.docx

20150115 - ToDo List.xlsx  ==>  28012015 - ToDo List.xlsx

201501151345 - Image.png   ==>  28012015 - Image.png

2015-01-15 - Report.docx   ==>  28012015 - Report.docx

15012015 - Logbook.docx    ==>  28012015 - Logbook.docx

15-01-2015 - Agenda.docx   ==>  28012015 - Agenda.docx

Examples (executed on January 28th, 2015) when pressing the RIGHT CONTROL key:

Reservation.docx           ==>  28-01-2015 - Reservation.docx

20150115 - ToDo List.xlsx  ==>  28-01-2015 - ToDo List.xlsx

201501151345 - Image.png   ==>  28-01-2015 - Image.png

2015-01-15 - Report.docx   ==>  28-01-2015 - Report.docx

15012015 - Logbook.docx    ==>  28-01-2015 - Logbook.docx

15-01-2015 - Agenda.docx   ==>  28-01-2015 - Agenda.docx

OPTIONS

-h

usage message.

-i

install the todayprefix command as menu point 'todayprefix' to the 'Send To' context menu in 'Windows Explorer'.

-u

uninstall the todayprefix shortcut from the 'Send To' context menu in 'Windows Explorer'.

-V

print program version.

file...

list of files to add the prefix to. When installed in the 'Send To' menu the selected file(s) in 'Windows Explorer' are passed as a list of files to the todayprefix command.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage message displayed.

5

version message displayed.

FILES

etc/todayprefix.cfg

optional configuration file for todayprefix.

When the setting SEPARATOR is set to False, no separator between the date and the file is put.

Default is SEPARATOR=True what does mean that the dash ( - ) is put between the date and the file as demonstrated in the examples above.

#

# todayprefix.cfg - Configfile for todayprefix

#

# [00] 11.02.2019 CWa   Initial Version

#

SEPARATOR=False

EXAMPLES

-

SEE ALSO

wintoolsintro(1), sav(1), savnow(1), todayprefix.cfg(4), config(1m), vcp(1)

NOTES

-

BUGS

-

AUTHOR

todayprefix was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:33:09 GMT, September 14, 2024

todayprefix.cfg

TOC Index

NAME

todayprefix.cfg - configuration file for todayprefix

SYNOPSIS

WA2LWinTools/etc/todayprefix.cfg

AVAILABILITY

WA2L/WinTools

DESCRIPTION

This is the optional configuration file for the todayprefix command.

FILEFORMAT

Rows starting with a # are considered as comments.

The file format is OPTION=VALUE

Between the OPTION , the = and the VALUE are no spaces.

You can comment out any OPTION or completely remove the related setting line to use the default settings.

OPTIONS

SEPARATOR

when set to True a dash with a leading and tailing space is put between the date and the file name, as: 201501282359 - filename.ext .

When set to False only a single space (no additional separator) is put between the date and the file name, as: 201501282359 - filename.ext .

Example: SEPARATOR=False

Default: SEPARATOR=True

EXAMPLES

1) Simple example configuration file

#

# WA2LWinTools/etc/todayprefix.cfg - Configuration file for todayprefix

#

# [00] 07.11.2019 CWa   Initial Version

#

SEPARATOR=False

SEE ALSO

wintoolsintro(1), todayprefix(1)

NOTES

-

BUGS

-

AUTHOR

todayprefix.cfg was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2019 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION FILEFORMAT OPTIONS EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:33:09 GMT, September 14, 2024

FolderChangesView

TOC Index

NAME

FolderChangesView - Monitor file changes in one or more directories

SYNOPSIS

WA2LWinTools/bin/FolderChangesView [ -h | -i | -u | -V ]

FolderChangesView [ options ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

The FolderChangesView utility monitors the folder or disk drive that you choose and lists every filename that is being modified, created, or deleted while the folder is being monitored.

You can use FolderChangesView with any local disk drive or with a remote network share, as long as you have read permission to the selected folder.

See also FolderChangesView description on: https://www.nirsoft.net/utils/folder_changes_view.html

OPTIONS

-h

usage message.

-i

install the FolderChangesView command on the Windows™ 'Desktop'.

-u

uninstall the FolderChangesView command from the Windows™ 'Desktop'.

-V

print program version.

options

more FolderChangesView options. See https://www.nirsoft.net/utils/folder_changes_view.html for more information.

ENVIRONMENT

-

EXIT STATUS

0

always.

FILES

etc/FolderChangesView.cfg

configuration file of FolderChangesView.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), config(1m), https://www.nirsoft.net/utils/folder_changes_view.html

NOTES

This manpage is a partial extract of the home page https://www.nirsoft.net/utils/folder_changes_view.html which has been written by Nir Sofer <nirsofer@yahoo.com>. See the mentioned web page to view the complete FolderChangesView description.

BUGS

-

AUTHOR

FolderChangesView was developed by Nir Sofer <nirsofer@yahoo.com> (https://www.nirsoft.net/utils/folder_changes_view.html) and integrated into WA2L/WinTools by Christian Walther. Send suggestions and bug reports regarding the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2021 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:06 GMT, September 14, 2024

RidNacs

TOC Index

NAME

RidNacs - Disk space usage analyzer

SYNOPSIS

WA2LWinTools/bin/RidNacs [ -h | -i | -u | -V ]

RidNacs [ directory ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

RidNacs is a free and very fast disk space usage analyzer for Windows.

It scans your hard drives, network drives or single folders and displays the results in a multi-column tree view with a percentage bar chart column.

The familiar file manager interface gives the user an intuitive way to analyze and identify the largest files and folders.

This makes RidNacs to your best companion if you want to clean up the disk and you need to discover the space hogs on your hard drive.

The result of the scan can be exported in different formats (XML, HTML, CSV, TXT), so it could be printed or compared with future scans.

Besides of all these benefits RidNacs has an outstanding scan performance and it scores with a small memory footprint.

The RidNacs command can be installed to the 'Send To' context menu in 'Microsoft™ Windows Explorer' for most convenient usage. To do so, invoke RidNacs -i once.

OPTIONS

-h

usage message.

-i

install the RidNacs command as menu point 'RidNacs' to the 'Send To' context menu in 'Windows Explorer'.

-u

uninstall the RidNacs shortcut from the 'Send To' context menu in 'Windows Explorer'.

-V

print program version.

directory

a directory to analyze the free disk space. If no directory is specified, you can choose a start point for the analysis in the program.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage message displayed.

5

program version printed.

6

program variant not known. This error occurs when the RidNacs command is renamed.

FILES

etc/RidNacs.cfg

configuration file of RidNacs.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), config(1m), https://www.splashsoft.de/ridnacs-disk-space-usage-analyzer/, https://www.splashsoft.de/category/software/freeware/ridnacs/

NOTES

RidNacs was developed by Stephan Plath <info@splashsoft.de>. See https://www.splashsoft.de/category/software/freeware/ridnacs/ for more information.

Parts of this manual page are extracted from the web page: https://www.splashsoft.de/ridnacs-disk-space-usage-analyzer/.

BUGS

-

AUTHOR

RidNacs was developed by Stephan Plath <info@splashsoft.de> and integrated into WA2L/WinTools by Christian Walther. Send suggestions and bug reports regarding the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:52 GMT, September 14, 2024

DockFolders

TOC Index

NAME

DockFolders - Dock folders to the system tray

SYNOPSIS

WA2LWinTools/bin/DockFolders [ -h | -i | -u | -V ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

A simple tool to get a quick and elegant access to files from a menu in the system tray.

OPTIONS

-h

usage message.

-i

install the DockFolders command to 'Startup' in the Windows Start Menu.

-u

uninstall the DockFolders shortcut from 'Startup' in the Windows Start Menu.

-V

print DockFolders version.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage message displayed.

5

version message displayed.

FILES

etc/DockFolders.cfg

configuration file of DockFolders.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), config(1m), folderspopup(1), https://sandbox.silonsystems.com/dockfolders/

NOTES

DockFolders has been developed by Silon Systems S.L. (https://sandbox.silonsystems.com/dockfolders/).

Parts of the documentation has been extracted from (https://sandbox.silonsystems.com/dockfolders/).

BUGS

-

AUTHOR

DockFolders was developed by by Silon Systems S.L. and integrated into WA2L/WinTools by Christian Walther. Send suggestions and bug reports related to the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2024 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:01 GMT, September 14, 2024

FoldersPopup

TOC Index

NAME

FoldersPopup - Pop up Menu for quick Folder Access

SYNOPSIS

WA2LWinTools/bin/FoldersPopup [ -h | -i | -u | -V ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

FoldersPopup lets you move easily between frequently used folders within save dialogs, the Windows desktop and in the file explorer.

Click the middle mouse button to access your favorite folders within the menu.

For the full comprehensive documentation of FoldersPopup see: http://code.jeanlalonde.ca/#quickstart

Quick start

When you run it, FoldersPopup adds an icon in the System Tray and await your orders. You want to retrieve a document in a frequently used folder?

1)

In Windows Explorer or in a file dialog box, just click the middle mouse button (MMB).

2)

In the popup menu, select the desired folder.

3)

FoldersPopup will take you there this instantly!

Need a new file Explorer window while working in any application or window?

1)

From any window, hold the Shift key while pressing the MMB.

Or simply click on the FoldersPopup icon in the System Tray.

2)

In the popup menu, choose the folder to open in the new Explorer window. You're done!

In this menu, choose FoldersPopup Settings to open the FoldersPopup settings window where you can add to your menu all kind of favorites, delete, move or rename them and group your folders in submenus. Click Save to keep your changes.

Main features

All your favorite folders, documents and web pages at your finger tip

-

To open the popup menu, press the middle mouse button (MMB) or press Windows-A *over* a file dialog box, a file Explorer window or the desktop to popup your personalized favorites launcher menu:

-

The folder you choose in the menu is open in the current Explorer window or file dialog box.

-

If your mouse has a scroll wheel, you can press it: this is the middle mouse button.

-

If your mouse does not have a middle button, you can choose another trigger in the Options dialog box.

-

OR...

-

Hold the Shift key while pressing the MMB (or press Shift-Windows-A) from *any* window.

-

The folder you choose will open in a new File Explorer window.

-

In addition to your own favorites, these special menus add more efficient ways to browse your content:

-

The My Special folders menu gives an easy access to Desktop, Document, Pictures, Downloads, My Computer, Network Neighborhood, Control Panel and Recycle Bin.

-

The Current Folders menu lists the folders currently open in all active Windows Explorer windows.

-

The Group of Folders menu allows to save and restore groups of folders at their original state.

-

The Recent folders menu lists the recent folders memorized by Windows.

-

The Clipboard menu shows the folders, documents, application path or URL saved in your Windows Clipboard.

Manage your personalized popup menu

-

Add folders on the fly with the Add This Folder item in the popup menu.

-

To edit your menu, choose FoldersPopup Settings in the popup menu or press Shift-Control-S.

-

Use the various buttons to add, reorder, remove or edit favorites in the Settings window. The horizontal line button inserts separators in your menu and the vertical line button inserts column breaks to give even more

-

room to your menu.

-

Move favorites with hotkeys (see hotkeys help under the favorites list), select multiple favorites to move them together.

-

Assign custom icons to your favorites in the Add / Edit Favorite window. Pick icons in any .EXE, .DLL or .ICO file (see www.iconverticons.com to create your own icons from PNG or JPG files).

-

Drag and drop favorite folders or documents to the Settings window to add them to your menu.

Five types of favorites

-

Folder: add your most frequently used local or network directories to reach them in a snap in a Windows Explorer or a file dialog box.

-

Special Folder: add Windows system folders from a list of more than 50 special folders, for example: Libraries, Recent items, Recycle Bin, Startup folder, History, Favorites, Quick Launch, Downloads, Cookies, Temporary .TP - files, etc. (Windows 7 and more recent).

-

Document: create your day-to-day documents list and launch them in their native application from any window.

-

Application: add your favorite applications and get full control on their execution (command line parameters and working directory).

-

Link (URL): add your preferred web pages and open them in your default browser at any time. Note: In any file path (folder, document or application), the system environment variables like %appdata%, %public%, %temp% or %userprofile% are supported in favorite location (for example: "%appdata%MicrosoftTemplates" will take you to the folder C:Users[your_name]AppDataRoamingMicrosoftTemplates). Tech support, sysadmin and other power users love it!

Submenus

-

Group favorites by subjects or locations in nested submenus.

-

To add a submenu, in the Settings window, click the Add button and, in the new dialog box, select the last radio button Submenu.

-

In the Settings window, select the menu to edit in the Menu to edit: dropdown list.

-

To move a folder from one menu to another, click the Edit button or double-click the folder name in the Settings window and select the new menu in the Folder parent menu dropdown list.

Current folders

-

Use the Current Folders menu to open a folder already open in another Explorer window (especially convenient in a file dialog box).

-

Save and restore groups of folders based on projects or tasks

-

Create a new group of folders including all folders currently open in Explorer windows with the Group of folders Save Current Folders as Group menu.

-

Select a group in the Group of folders menu to restore these folders in their original Explorer window size and location.

-

Restored windows can replace the windows currently open or can be added to them. You decide it when you save a group.

-

Currently, Windows Explorer and Directory Opus windows are supported (Total Commander windows support is waiting for a new command in a future version of TC).

Recent folders

-

The Recent folders menu lists the recent places memorized by Windows.

-

An option in Settings determines the number of displayed recent folders in the menu (default is 10).

-

More info and discussions about how FoldersPopup handles Recent folders.

Clipboard submenu

-

Use the Clipboard menu to open folders, documents, applications path(s) or URLs found in the Clipboard.

-

Only existing folder, documents or application files are displayed in the submenu.

-

When the Clipboard contains no path or URL, the previous Clipboard submenu content is preserved.

In FoldersPopup Settings, Options

-

In the Settings dialog box, click the Options button to open the Options dialog box.

-

Select Run at Startup option to launch FoldersPopup automatically.

-

Select your working language: English, French, German, Dutch, Korean, Italian and Swedish are currently supported.

-

Display or hide the Current Folders, Group of Folders, Recent folders and Clipboard special menus.

-

Select the option to use numeric menu shortcuts to launch favorites with your keyboard.

-

Display or hide menu icons, and choose menu icons size.

-

Select the option to remember the Settings window position and size from one session to the other.

-

Display the popup menu near the mouse pointer, in the active window or at a fix position.

-

Display or hide the startup Tray tip.

-

Enable the popup menu when clicking on the taskbar (or disable it for compatibility with other utilities like 7+ Taskbar Tweaker).

-

In the File managers support tab, enable Directory Opus (DOpus) or Total Commander (TC) support.

Configurable triggers

-

In the Options dialog box, Menu hotkeys tab, change the mouse triggers to open the folders menu (by default, middle mouse button and Shift-MMB).

-

Choose the keyboard triggers to open the folders menu (by default, Windows-A and Shift-Windows-A).

-

In the Other hotkeys tab, choose the keyboard trigger to open the Settings dialog box (by default, Shift-Control-F).

-

Choose the keyboard triggers opening instantly the special menus Current Folders (Shift-Control-F), Groups of Folders (Shift-Control-G), Recent Folders (Shift-Control-R) and Clipboard (Shift-Control-C).

-

Select the option to display or hide the special menus shortcuts reminders in the main menu.

Directory Opus support (DOpus)

-

Automatic enabling of DOpus support if the software is found on your system.

-

Change user folders, recent folders and special folders (My Computer, Network Neighborhood, Recycle Bin, etc.) in DOpus listers reliably and seamlessly.

-

More info here: Using FoldersPopup with Directory Opus.

Total Commander support (TC)

-

Automatic enabling of Total Commander support if the software is found on your system.

-

Change user folders, recent folders and special folders (My Computer, Network Neighborhood, Recycle Bin, etc.) in TC windows reliably and seamlessly.

-

More info here: Using FoldersPopup with Total Commander.

Universal File Managers Support

-

FPconnect is an universal file manager connector for FoldersPopup from Roland Toth (https://github.com/rolandtoth/FPconnect).

-

This FoldersPopup addon allows integration of any file manager that supports command line navigation. Thanks to tpr (Roland's nickname).

-

Support on FPconnect is available on Roland's blog.

System Tray menu

-

Left-click on the FoldersPopup icon in the Tray menu to open your favorites menu.

-

Right-click the icon in the Tray menu to:

-

open the Settings dialog box;

-

open the FoldersPopup.ini file;

-

select the Run at Startup option;

-

suspend temporarily the FP hotkeys;

-

check for new version of FP;

-

open the Help, About and Support Freeware! windows;

-

and quit FoldersPopup and unload it from the active memory.

OPTIONS

-h

usage message.

Start FoldersPopup.

-i

install the FoldersPopup command to 'Startup' in the Windows Start Menu.

-u

uninstall the FoldersPopup shortcut from 'Startup' in the Windows Start Menu.

-V

print program version.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage message displayed.

5

version message displayed.

FILES

etc/FoldersPopup.cfg

config file for FoldersPopup.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), config(1m), dockfolders(1), http://code.jeanlalonde.ca/#quickstart, https://www.quickaccesspopup.com/

NOTES

Parts of this manpages were extracted from the documentation of FoldersPopup from https://www.portablefreeware.com/index.php?id=2557, http://code.jeanlalonde.ca/ and https://www.quickaccesspopup.com/.

See there for more information about FoldersPopup.

BUGS

-

AUTHOR

FoldersPopup was developed by Jean Lalonde <https://www.quickaccesspopup.com/support/> (see: https://www.quickaccesspopup.com/) and integrated into WA2L/WinTools by Christian Walther. Send suggestions and bug reports related to the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2023 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION Quick start Main features OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:06 GMT, September 14, 2024

Greenshot

TOC Index

NAME

Greenshot - start Greenshot screen capture tool / editor

SYNOPSIS

WA2LWinTools/bin/Greenshot [ -h | -i | -u | -V ]

Greenshot [ /option ] [ filename ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

Greenshot a screenshot tool optimized for productivity.

Save a screenshot or a part of the screen to a file within a second.

Supports several image formats.

Apply text and shapes to the screenshot.

Offers capture of window, region or full screenshot.

OPTIONS

Start Greenshot.

-h

usage message.

-i

install the Greenshot command to 'Startup' in the Windows Start Menu.

-u

uninstall the Greenshot shortcut from 'Startup' in the Windows Start Menu.

-V

print program version.

/help

Greenshot help explaining all options starting with a / (slash).

/exit

Tries to close all running instances.

/reload

Reload the configuration of Greenshot.

/language language_code

Set the language of Greenshot, e.g. greenshot /language en-US.

filename

Open the bitmap files in the running Greenshot instance or start a new instance.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage message displayed.

5

version message displayed.

FILES

etc/Greenshot.ini

config file for Greenshot.

var/db/greenshot/

default screenshot save location.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), activehotkeys(1m), greenshot.Help(1), picpick(1), screenshot(1), https://getgreenshot.org/help/

NOTES

Parts of this manpages were extracted from the documentation of Greenshot from https://getgreenshot.org/help/. See: https://getgreenshot.org/ for more information about Greenshot.

BUGS

-

AUTHOR

Greenshot was developed by Thomas Brown, Jens Klingen, Robin Krom (see: https://getgreenshot.org/) and integrated into WA2L/WinTools by Christian Walther. Send suggestions and bug reports regarding to the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:07 GMT, September 14, 2024

PicPick

TOC Index

NAME

PicPick - start PicPick screen capture tool / editor

SYNOPSIS

WA2LWinTools/bin/PicPick [ -h | -i | -u | -V ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

A full-featured screen capture tool, intuitive image editor, color picker, color palette, pixel-ruler, protractor, cross-hair, whiteboard and more.

OPTIONS

-h

usage message.

Start PicPick.

-i

install the PicPick command to 'Startup' in the Windows Start Menu.

-u

uninstall the PicPick shortcut from 'Startup' in the Windows Start Menu.

-V

print program version.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage message displayed.

5

version message displayed.

FILES

etc/PicPick.cfg

config file for PicPick.

var/db/picpick/

default screenshot save location.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), activehotkeys(1m), greenshot(1), screenshot(1), http://ngwin.com/picpick, https://portableapps.com/apps/graphics_pictures/picpick-portable

NOTES

Parts of this manpages were extracted from the documentation of PicPick from http://ngwin.com/picpick. See: http://ngwin.com/picpick for more information about PicPick.

BUGS

-

AUTHOR

PicPick was developed by 'Wiziple software' (see: http://ngwin.com/picpick) and integrated into WA2L/WinTools by Christian Walther. Send suggestions and bug reports regarding to the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2021 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:39 GMT, September 14, 2024

Screenshot

TOC Index

NAME

Screenshot - Full screen capture of a monitor (legacy, use: ScreenshotTray)

SYNOPSIS

WA2LWinTools/bin/Screenshot [ -h | -i | -u | -V ]

Screenshot [ -v ] [ monitor ]

Screenshot [ -r interval [ -d ]] [ -v ] [ monitor ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

NOTE: The Screenshot command is legacy and is replaced by the ScreenshotTray command. However, the legacy command is currently not removed from the package to continue operations.

---

Create a full screen shot of a certain monitor referenced by the monitor number.

The created screen shot file is automatically saved to the var/db/screenshot/ directory.

The idea is to start Screenshot monitor using a hotkey thru hotkeyp(1) or pstart(1) to quickly create screen shots for example during screen presentations.

OPTIONS

-h

usage help.

-V

print program version.

-i

install the Screenshot command as 'Screenshot' to the Windows™ 'Desktop'.

-u

uninstall the Screenshot shortcut from the 'Desktop'.

-r interval

continuously repeat a screen capture every interval seconds. To end the capturing, press Ctrl+C.

-d

dispose a screen capture if it is identical to the previous when using the -r interval option.

-v

more detailed (verbose) output.

monitor

monitor number.

If no monitor number is specified, the monitor with number 1 is captured.

EXIT STATUS

0

no error.

1

output directory does not exist.

4

usage printed.

5

version printed.

FILES

etc/Screenshot.cfg

optional configuration file for Screenshot.

var/db/screenshot/

default screen capture output directory.

Screenshot_<DATE>_<TIME>_M<monitor>.png

saved screen capture image.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), greenshot(1), hotkeyp(1), picpick(1), pstart(1), screenshot.cfg(4)

NOTES

The Screenshot command is legacy (=not developed further) and is replaced by the ScreenshotTray command. However, the legacy command is currently not removed from the package to continue operations.

BUGS

Sometimes the Ctrl+C key must be pressed for some time (or sometimes more then once) to end the command when using the -r interval option.

AUTHOR

Screenshot was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2022 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:56 GMT, September 14, 2024

Screenshot.cfg

TOC Index

NAME

Screenshot.cfg - configuration file for ScreenshotTray and Screenshot

SYNOPSIS

WA2LWinTools/etc/Screenshot.cfg

AVAILABILITY

WA2L/WinTools

DESCRIPTION

This is the optional configuration file for ScreenshotTray and the legacy Screenshot command.

FILEFORMAT

Rows starting with a # are considered as comments.

The file format is OPTION=VALUE

Between the OPTION , the = and the VALUE are no spaces.

You can comment out any OPTION or completely remove the related setting line to use the default settings.

OPTIONS

OUTPUTDIR

screen capture output directory. The directory specified must exist, else the default directory is used.

Example: OUTPUTDIR=%INSTALLDRIVE%:\data\screenshots

Default: OUTPUTDIR=%INSTALLDIR%\var\db\screenshot

OUTPUTSUBDIR

screen capture subdirectory in output directory. If the sub-directory specified does not exists it is created in the OUTPUTDIR.

Example: OUTPUTSUBDIR=%YEAR%-%MONTH%-%DAY%

Default: OUTPUTSUBDIR=

INTERVAL

automatic capture interval in seconds of the ScreenshotTray command when the related tray menu item is selected.

Example: INTERVAL=10

Default: INTERVAL=5

SOUNDFILE

play a (short) acoustic signal when a screenshot using ScreenshotTray is saved. However, the sound is only played if the 'Acoustic Screenshot Signal' setting is activated in the tray menu item.

Example: SOUNDFILE=%INSTALLDIR%\lib\ScreenshotTray-CLICK.wav

Default: SOUNDFILE=%INSTALLDIR%\lib\ScreenshotTray-WOOSH.wav

EXAMPLES

1) Simple example configuration file

#

# WA2LWinTools/etc/Screenshot.cfg - Configuration file for Screenshot

#

# [00] 18.08.2021 CWa   Initial Version

#

OUTPUTDIR=%INSTALLDRIVE%:\data\screenshots

OUTPUTSUBDIR=%YEAR%-%MONTH%-%DAY%

INTERVAL=10

SEE ALSO

wintoolsintro(1), lpath(3), screenshot(1), screenshottray(1)

NOTES

The following variables can be used for Screenshot in the configuration file: %INSTALLDRIVE%, %INSTALLDIR%, %TEMP%, %TMP%, %USERNAME%, %DOMAINNAME%, %HOSTNAME%, %YEAR%, %MONTH%, %DAY%, and %MYDOCUMENTS%.

The following variables can be additionally used for ScreenshotTray in the configuration file: %SYSTEMROOT%, %APPDATA%, %LOCALAPPDATA%, %HOMEDRIVE% and %HOMEPATH%.

Furthermore ScreenshotTray understands labels (see: lpath(3)) in the OUTPUTDIR and SOUNDFILE settings.

BUGS

-

AUTHOR

screenshot.cfg was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2021 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION FILEFORMAT OPTIONS EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:56 GMT, September 14, 2024

ScreenshotTray

TOC Index

NAME

ScreenshotTray - Full screen capture of a monitor

SYNOPSIS

WA2LWinTools/bin/ScreenshotTray [ -h | -i | -u | -V ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

create a full screen shot of a certain monitor referenced by the monitor number selected in the system tray menu or using the Ctrl+F1, Ctrl+F2, Ctrl+F3 or Ctrl+F4 hot key to capture monitor 1 to 4.

The created screen shot file is automatically saved to the var/db/screenshot/ directory.

The idea is to use ScreenshotTray using the related hotkey or the tray menu to quickly create and save screen shots (for example during screen presentations) with most minimal user intervention.

If 'Repeat Screenshot every 5 seconds' in the tray menu is selected, the chosen monitor is captured every 5 seconds. However, an image is only saved if it differs to the previous screen shot taken.

If 'Imprint Timestamp on Screenshot' in the tray menu is set, a timestamp in the format YYYY-MM-DD hh:mm:ss (e.g. 2021-02-18 20:55:00) is imprinted on the saved screen shot image.

OPTIONS

-h

usage help.

-V

print program version.

-i

install the ScreenshotTray command as 'ScreenshotTray' to the Windows™ 'Start' menu

-u

uninstall the ScreenshotTray shortcut from the 'Start' menu.

EXIT STATUS

0

no error.

4

usage printed.

5

version printed.

FILES

etc/Screenshot.cfg

optional configuration file for ScreenshotTray.

var/db/screenshot/

default screen capture output directory.

Screenshot_<DATE>_<TIME>_M<monitor>.png

saved screen capture image.

var/cache/screenshot/timestamp.flag

flag file to remember the 'Imprint Timestamp on Screenshot' setting.

var/cache/screenshot/playsound.flag

flag file to remember the 'Acoustic Screenshot Signal' setting.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), greenshot(1), hotkeyp(1), picpick(1), pstart(1), screenshot.cfg(4)

BUGS

-

AUTHOR

ScreenshotTray was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2024 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS EXIT STATUS FILES EXAMPLES SEE ALSO BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:57 GMT, September 14, 2024

HexEditor

TOC Index

NAME

HexEditor - Hex Editor and Disk Editor

SYNOPSIS

WA2LWinTools/bin/HexEditor [ -h | -i | -u | -V ]

HexEditor [ file ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

HexEditor (HxD Hex Editor) is a carefully designed and fast hex editor which, additionally to raw disk editing and modifying of main memory (RAM), handles files of any size.

The easy to use interface offers features such as searching and replacing, exporting, checksums/digests, insertion of byte patterns, a file shredder, concatenation or splitting of files, statistics and much more.

Editing works like in a text editor with a focus on a simple and task-oriented operation, as such functions were streamlined to hide differences that are purely technical.

For example, drives and memory are presented similar to a file and are shown as a whole, in contrast to a sector/region-limited view that cuts off data which potentially belongs together. Drives and memory can be edited the same way as a regular file including support for undo. In addition memory-sections define a foldable region and inaccessible sections are hidden by default.

Furthermore a lot of effort was put into making operations fast and efficient, instead of forcing you to use specialized functions for technical reasons or arbitrarily limiting file sizes. This includes a responsive interface and progress indicators for lengthy operations.

See also: https://mh-nexus.de/en/hxd/ for more information about HexEditor (HxD).

OPTIONS

-h

usage message.

-i

install the HexEditor command as menu point 'HexEditor' to the 'Send To' context menu in 'Windows Explorer'.

-u

uninstall the HexEditor shortcut from the 'Send To' context menu in 'Windows Explorer'.

-V

print program version.

directory

a directory to analyze the free disk space. If no directory is specified, you can choose a start point for the analysis in the program.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage message displayed.

5

program version printed.

6

program variant not known. This error occurs when the HexEditor command is renamed.

FILES

etc/HexEditor.cfg

configuration file of HexEditor.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), config(1m), https://mh-nexus.de/en/hxd/

NOTES

HexEditor (HxD) was developed by Mael Hoerz <https://mh-nexus.de/en/contact.php>. See https://mh-nexus.de/en/hxd/ for more information.

Parts of this manual page are extracted from the web page: https://mh-nexus.de/en/hxd/.

BUGS

-

AUTHOR

HexEditor (HxD) was developed by Mael Hoerz <https://mh-nexus.de/en/contact.php> and integrated into WA2L/WinTools by Christian Walther. Send suggestions and bug reports regarding the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2023 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:08 GMT, September 14, 2024

HP48GX

TOC Index

NAME

HP48GX - HP48-GX scientific calculator

SYNOPSIS

WA2LWinTools/bin/HP48GX [ -h | -i | -u | -V ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

hp48gx(1) Emulation of the legendary HP48 GX scientific RPN calculator.

For the HP48 GX manual see:

http://h10032.www1.hp.com/ctg/Manual/c00043324.pdf (German), http://h10032.www1.hp.com/ctg/Manual/c00442262.pdf (English).

OPTIONS

-h

usage message.

-i

install the HP48GX command on the Windows™ 'Desktop'.

-u

uninstall the HP48GX command from the Windows™ 'Desktop'.

-V

print program version.

ENVIRONMENT

-

EXIT STATUS

0

always.

4

usage displayed.

5

version message displayed.

FILES

etc/HP48GX.cfg

configuration file for the command maintained by HP48GX.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), config(1m), http://h10032.www1.hp.com/ctg/Manual/c00043324.pdf, http://h10032.www1.hp.com/ctg/Manual/c00442262.pdf

NOTES

-

BUGS

-

AUTHOR

The HP48-GX calculator was developed by Hewlett-Packard, the emulator (Emu48) used to run the HP48-GX ROM was developed by Christoph Giesselink and Sebastien Carlier <https://hp.giesselink.com/emu48.htm> and integrated into WA2L/WinTools by Christian Walther. Send suggestions and bug reports regarding the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:09 GMT, September 14, 2024

IconGrabber

TOC Index

NAME

IconGrabber - Search and extract icons and cursors from EXE or DLL files

SYNOPSIS

WA2LWinTools/bin/IconGrabber [ -h | -i | -u | -V ]

IconGrabber [ file ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

(BeCy)IconGrabber is a small utility to view icons and cursors of any sizes that are contained in EXE, DLL, ICL, OCX, CPL, SRC, ICO and CUR files. The icons/cursors can be saved either individually as an icon, cursor, bitmap, png file or collectively within resource libraries.

Features:

File Formats

The application supports reading icons/cursors from Windows executable files (NE/PE format) as for example EXE, DLL and ICL files. Of course simple icon/cursor files like ICO and CUR can also be read. However, the extraction of compressed or animated resources is not possible. In addition to those standard Windows formats, the Unix XPM (v3) format can be imported, too. Individual images can be exported to ICO, CUR, BMP and PNG files. Multiple symbols can be saved as resource libraries, i.e. DLL or ICL files.

Directory View

Using this view the system can be browsed for a file in the usual way, i.e. the contents of the current directory is displayed in a list from which a file can be selected. Using this view, one is not required to select files that really contain icons. For files without icons (like most document files), the application can automatically extract the icons from the associated application executable.

Search Mode

Besides searching on one's own, the application can scan the system for files which contain icons/cursors. Given a root directory the application scans this directory for symbols. Optionally, all sub directories can be scanned, too.

Favorites

Frequently used icon/cursor files can be added to the list of Favorites. This way a file can easily be found the next time the application is run.

Access to Shell Icons

The Favorites always contain an entry which allows viewing the icons which are currently displayed by the operating system. Sometimes the best way to find an icon.

OPTIONS

-h

usage message.

-i

install the IconGrabber command as menu point to 'Send To' context menu in 'Windows Explorer'.

-u

uninstall the IconGrabber shortcut from the 'Send To' context menu in 'Windows Explorer'.

-V

print program version.

file

file of which the icon/cursor has to be extracted.

When installed in the 'Send To' menu the selected file in 'Windows Explorer' is passed as the file to the IconGrabber command.

If no file is specified, you are queried to select a file by IconGrabber where you then can select a file to be processed.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage message displayed.

5

version message displayed.

FILES

-

EXAMPLES

-

SEE ALSO

wintoolsintro(1), config(1m), http://www.becyhome.de/becyicongrabber/description_eng.htm

NOTES

IconGrabber (BeCyIconGrabber) has been developed by Benjamin Bentmann

Parts of the documentation has been extracted from http://www.becyhome.de/becyicongrabber/description_eng.htm.

BUGS

-

AUTHOR

IconGrabber (BeCyIconGrabber) was developed by Benjamin Bentmann and integrated into WA2L/WinTools by Christian Walther. Send suggestions and bug reports regarding the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:09 GMT, September 14, 2024

IconRefresh

TOC Index

NAME

IconRefresh - Refresh icons on the Windows desktop

SYNOPSIS

WA2LWinTools/bin/IconRefresh [ -h | -i | -u | -V ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

Refresh the icons on the Windows™ Desktop.

OPTIONS

-h

usage message.

-i

install the IconRefresh command as shortcut to the user's 'Desktop'.

-u

uninstall the IconRefresh shortcut from the user's 'Desktop'.

-V

print program version.

ENVIRONMENT

-

EXIT STATUS

0

always.

4

usage message displayed.

5

version message displayed.

FILES

-

EXAMPLES

-

SEE ALSO

wintoolsintro(1), config(1m), http://www.nirsoft.net/utils/nircmd.html

NOTES

the nircmdc command that is used internally has been developed by Nir Sofer <nirsofer@yahoo.com>, see also http://www.nirsoft.net/utils/nircmd.html for more information.

BUGS

-

AUTHOR

nircmdc shellrefresh was developed by by Nir Sofer <nirsofer@yahoo.com> and integrated as IconRefresh into WA2L/WinTools by Christian Walther. Send suggestions and bug reports regarding the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2022 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:10 GMT, September 14, 2024

MycView

TOC Index

NAME

MycView - fast image viewer

SYNOPSIS

WA2LWinTools/bin/MycView [ -h | -i | -u | -V ] [ file | folder ] [ options ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

Small image viewer (Jpeg, Png, Gif, Tif, Bmp, Pnm, Emf, Wmf, Lst, Sld). The program displays a slideshow of all the pictures in a given directory and can work manually or automatically. MycView is developed Win32 native there, it does not use specific library (Java, .Net, Qt, Gtk,...).

For the full description of MycView see http://myc01.free.fr/mycview/.

OPTIONS

-h

usage message.

-i

install the MycView command to the 'SendTo' Windows explorer context menu.

-u

uninstall the MycView command from the 'SendTo' Windows explorer context menu.

-V

print program version.

file

image file to be displayed.

folder

folder whose image files to be displayed.

options:

See http://myc01.free.fr/mycview/.

ENVIRONMENT

-

EXIT STATUS

0

always.

4

usage message displayed.

5

version message displayed.

FILES

etc/MycView.ini

INI file maintained by MycView to hold all settings.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), config(1m), http://myc01.free.fr/mycview/

NOTES

MycView has been developed by <myc_1@yahoo.com>.

Parts of the documentation has been extracted from http://myc01.free.fr/mycview/.

See also http://myc01.free.fr/mycview/ for more information.

BUGS

-

AUTHOR

MycView was developed by <myc_1@yahoo.com> and integrated into WA2L/WinTools by Christian Walther. Send suggestions and bug reports regarding the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:30 GMT, September 14, 2024

KeyNote

TOC Index

NAME

KeyNote - multi tabbed notebook

SYNOPSIS

WA2LWinTools/bin/KeyNote [ -h | -i | -u | -V ]

KeyNote [ options ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

KeyNote is a flexible, multi-featured tabbed notebook, based on Windows™ standard RichEdit control.

It's always accessible with a single keypress, even if you work in another application.

A large number of text formatting functions allows you to create very readable, clear, and well-organized notes.

The basic idea in KeyNote is that you can have many separate notes within a single file. This means that you do not need to open several files - for most purposes it is enough to create only one file and several notes inside it.

With the addition of the tree-type notes, you now have a three-dimensional notebook: many notes within one file and a multi-level, nested pages within a single note.

Optionally, KeyNote can encrypt your data securely using the Blowfish or Idea algorithms. KeyNote's interface and behavior are extremely configurable.

KeyNote is as simple to use as any text editor, but if you want, you can use many advanced functions that KeyNote offers, such as sending notes via email, glossary, hyperlinks, macros, styles, plugins, virtual nodes, and much more.

OPTIONS

-h

usage message.

Start KeyNote.

-i

install the KeyNote command to 'Startup' in the Windows Start Menu.

-u

uninstall the KeyNote shortcut from 'Startup' in the Windows Start Menu.

-V

print program version.

options

additional KeyNote options. See keynote.Help(1) for a documentation.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage message displayed.

5

version message displayed.

FILES

The following files are the most common files that will be seen when using KeyNote. For a full description of all files, see "General Information -> Auxiliary Files" in application help, keynote.Help(1) or keynote.chm(1).

*.knt

KeyNote file. These are the files that contain you notes.

*.kne

encrypted KeyNote file.

*.bak

Backup file. They are created automatically by KeyNote each time your .knt/.kne file is saved.

etc/keynote.ini

main config file for KeyNote.

etc/keynote.mgr

File manager storage. This file contains a list of all KeyNote files you have used. Missing files are automatically removed. In KeyNote, you can press F12 to open the File Manager and quickly select one of the remembered files in order to open it.

etc/keynote.mru

config file for KeyNote.

etc/keynote.def

Default editor and tree settings for newly created notes. These are the options which you change with the "Default settings" command (under the "Tools" menu; or press F6). Note that you can have separate default settings for each .knt/.kne file, hence more than one .def file.

var/db/keynote/notebooks/

default directory to store the notebooks created using KeyNote.

var/db/keynote/backup/

default notebook backups.

var/db/keynote/export/

default notebook exports.

var/db/keynote/templates/

note templates.

var/db/keynote/macros/

macros.

var/db/keynote/profiles/

profiles.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), activehotkeys(1m), config(1m), keynote.chm(1), keynote.Help(1)

NOTES

Parts of this manpage were extracted from the KeyNote help file.

BUGS

-

AUTHOR

KeyNote was developed by Daniel Prado Velasco <dprado.keynote@gmail.com> and integrated into WA2L/WinTools by Christian Walther. Send suggestions and bug reports regarding to the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2021 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:13 GMT, September 14, 2024

LYNX

TOC Index

NAME

lynx - a general purpose distributed information browser for the World Wide Web

SYNOPSIS

lynx [options] [optional paths or URLs]

lynx [options] [path or URL] -get_data

data

--

lynx [options] [path or URL] -post_data

data

--

Use ``lynx -help'' to display a complete list of current options.

DESCRIPTION

Lynx is a fully-featured World Wide Web (WWW) client for users running cursor-addressable, character-cell display devices (e.g., vt100 terminals, vt100 emulators running on Windows 95/NT/XP/7/8 or any POSIX platform, or any other ``curses-oriented'' display). It will display hypertext markup language (HTML) documents containing links to files residing on the local system, as well as files residing on remote systems running Gopher, HTTP, FTP, WAIS, and NNTP servers. Current versions of Lynx run on Unix, VMS, Windows 95/NT/XP/7/8, DOS DJGPP and OS/2.

Lynx can be used to access information on the World Wide Web, or to build information systems intended primarily for local access. For example, Lynx has been used to build several Campus Wide Information Systems (CWIS). In addition, Lynx can be used to build systems isolated within a single LAN.

OPTIONS

At start up, Lynx will load any local file or remote URL specified at the command line. For help with URLs, press ``?'' or ``H'' while running Lynx. Then follow the link titled, ``Help on URLs.''

If more than one local file or remote URL is listed on the command line, Lynx will open only the last interactively. All of the names (local files and remote URLs) are added to the G)oto history.

Lynx uses only long option names. Option names can begin with double dash ``--'' as well, underscores and dashes can be intermixed in option names (in the reference below, options are shown with one dash ``-'' before them, and with underscores ``_'').

Lynx provides many command-line options. Some options require a value (string, number or keyword). These are noted in the reference below. The other options set boolean values in the program. There are three types of boolean options: set, unset and toggle. If no option value is given, these have the obvious meaning: set (to true), unset (to false), or toggle (between true/false). For any of these, an explicit value can be given in different forms to allow for operating system constraints, e.g.,

.sp

.in +4

-center:off

-center=off

-center-

.in -4

Lynx recognizes ``1'', ``+'', ``on'' and ``true'' for true values, and ``0'', ``-'', ``off'' and ``false'' for false values. Other option-values are ignored.

The default boolean, number and string option values that are compiled into Lynx are displayed in the help-message provided by lynx -help. Some of those may differ according to how Lynx was built; see the help message itself for these values. The -help option is processed in the third pass of options-processing, so any option which sets a value, as well as runtime configuration values are reflected in the help-message.

-

If the argument is only ``-'', then Lynx expects to receive the arguments from the standard input. This is to allow for the potentially very long command line that can be associated with the -get_data or -post_data arguments (see below). It can also be used to avoid having sensitive information in the invoking command line (which would be visible to other processes on most systems), especially when the -auth or -pauth options are used.

-accept_all_cookies

accept all cookies.

-anonymous

apply restrictions for anonymous account, see also -restrictions.

-assume_charset=MIMEname

charset for documents that do not specify it.

-assume_local_charset=MIMEname

charset assumed for local files, i.e., files which Lynx creates such as internal pages for the options menu.

-assume_unrec_charset=MIMEname

use this instead of unrecognized charsets.

-auth=ID:PASSWD

set authorization ID and password for protected documents at startup. Be sure to protect any script files which use this switch.

-base

prepend a request URL comment and BASE tag to text/html outputs for -source dumps.

-bibhost=URL

specify a local bibp server (default http://bibhost/).

-blink

forces high intensity background colors for color mode, if available and supported by the terminal. This applies to the slang library (for a few terminal emulators), or to OS/2 EMX with ncurses.

-book

use the bookmark page as the startfile. The default or command line startfile is still set for the Main screen command, and will be used if the bookmark page is unavailable or blank.

-buried_news

toggles scanning of news articles for buried references, and converts them to news links. Not recommended because email addresses enclosed in angle brackets will be converted to false news links, and uuencoded messages can be trashed.

-cache=NUMBER

set the NUMBER of documents cached in memory. The default is 10.

-case

enable case-sensitive string searching.

-center

toggles center alignment in HTML TABLE. Normally table cells are centered on the table grid. Set this option ``on'' to disable centering. The default is ``off''.

-cfg=FILENAME

specifies a Lynx configuration file other than the default lynx.cfg.

-child

exit on left-arrow in startfile, and disable save to disk and associated print/mail options.

-child_relaxed

exit on left-arrow in startfile, but allow save to disk and associated print/mail options.

-cmd_log=FILENAME

write keystroke commands and related information to the specified file.

-cmd_script=FILENAME

read keystroke commands from the specified file. You can use the data written using the -cmd_log option. Lynx will ignore other information which the command-logging may have written to the logfile. Each line of the command script contains either a comment beginning with ``#'', or a keyword:

exit

causes the script to stop, and forces Lynx to exit immediately.

key

the character value, in printable form. Cursor and other special keys are given as names, e.g., ``Down Arrow''. Printable 7-bit ASCII codes are given as-is, and hexadecimal values represent other 8-bit codes.

set

followed by a ``name=value'' allows one to override values set in the lynx.cfg or .lynxrc files. Lynx tries the cfg-file setting first.

-collapse_br_tags

toggles collapsing of BR tags.

-color

forces color mode on, if available. Default color control sequences which work for many terminal types are assumed if the terminal capability description does not specify how to handle color. Lynx needs to be compiled with the slang library for this flag, it is equivalent to setting the COLORTERM environment variable. (If color support is instead provided by a color-capable curses library like ncurses, Lynx relies completely on the terminal description to determine whether color mode is possible, and this flag is not needed and thus unavailable.) A saved show_color=always setting found in a .lynxrc file at startup has the same effect. A saved show_color=never found in .lynxrc on startup is overridden by this flag.

-connect_timeout=N

Sets the connection timeout, where N is given in seconds.

-cookie_file=FILENAME

specifies a file to use to read cookies. If none is specified, the default value is ~/.lynx_cookies for most systems, but ~/cookies for MS-DOS.

-cookie_save_file=FILENAME

specifies a file to use to store cookies. If none is specified, the value given by -cookie_file is used.

-cookies

toggles handling of Set-Cookie headers.

-core

toggles forced core dumps on fatal errors. Turn this option off to ask Lynx to force a core dump if a fatal error occurs.

-crawl

with -traversal, output each page to a file. with -dump, format output as with -traversal, but to the standard output.

-curses_pads

toggles the use of curses ``pad'' feature which supports left/right scrolling of the display. The feature is normally available for curses configurations, but inactive. To activate it, use the ``|'' character or the LINEWRAP_TOGGLE command. Toggling this option makes the feature altogether unavailable.

-debug_partial

separate incremental display stages with MessageSecs delay

-default_colors

toggles the default-colors feature which is normally set in the lynx.cfg file.

-delay

add DebugSecs delay after each progress-message

-display=DISPLAY

set the display variable for X rexec-ed programs.

-display_charset=MIMEname

set the charset for the terminal output.

-dont_wrap_pre

inhibit wrapping of text when -dump'ing and -crawl'ing, mark wrapped lines of <pre> in interactive session.

-dump

dumps the formatted output of the default document or those specified on the command line to standard output. Unlike interactive mode, all documents are processed. This can be used in the following way:

.sp

.in +4

lynx -dump http://www.subir.com/lynx.html

.in -4

Files specified on the command line are formatted as HTML if their names end with one of the standard web suffixes such as ``.htm'' or ``.html''. Use the -force_html option to format files whose names do not follow this convention.

-editor=EDITOR

enable external editing, using the specified EDITOR. (vi, ed, emacs, etc.)

-emacskeys

enable emacs-like key movement.

-enable_scrollback

toggles compatibility with communication programs' scrollback keys (may be incompatible with some curses packages).

-error_file=FILE

define a file where Lynx will report HTTP access codes.

-exec

enable local program execution (normally not configured).

-fileversions

include all versions of files in local VMS directory listings.

-find_leaks

toggle memory leak-checking. Normally this is not compiled-into your executable, but when it is, it can be disabled for a session.

-force_empty_hrefless_a

force HREF-less ``A'' elements to be empty (close them as soon as they are seen).

-force_html

forces the first document to be interpreted as HTML.

This is most useful when processing files specified on the command line which have an unrecognized suffix (or the suffix is associated with a non-HTML type, such as ``.txt'' for plain text files).

Lynx recognizes these file suffixes as HTML:

.sp

.in +4

``.ht3'',

``.htm'',

``.html3'',

``.html'',

``.htmlx'',

``.php3'',

``.php'',

``.phtml'',

``.sht'', and

``.shtml''.

.in -4

-force_secure

toggles forcing of the secure flag for SSL cookies.

-forms_options

toggles whether the Options Menu is key-based or form-based.

-from

toggles transmissions of From headers.

-ftp

disable ftp access.

-get_data

properly formatted data for a get form are read in from the standard input and passed to the form. Input is terminated by a line that starts with ``---''.

Lynx issues an HTTP GET, sending the form to the path or URL given on the command-line and prints the response of the server. If no path or URL is given, Lynx sends the form to the start-page.

-head

send a HEAD request for the mime headers.

-help

print the Lynx command syntax usage message, and exit.

-hiddenlinks=[option]

control the display of hidden links.

merge

hidden links show up as bracketed numbers and are numbered together with other links in the sequence of their occurrence in the document.

listonly

hidden links are shown only on L)ist screens and listings generated by -dump or from the P)rint menu, but appear separately at the end of those lists. This is the default behavior.

ignore

hidden links do not appear even in listings.

-historical

toggles use of ``>'' or ``-->'' as a terminator for comments.

-homepage=URL

set homepage separate from start page.

-image_links

toggles inclusion of links for all images.

-index=URL

set the default index file to the specified URL.

-ismap

toggles inclusion of ISMAP links when client-side MAPs are present.

-justify

do justification of text.

-link=NUMBER

starting count for lnk#.dat files produced by -crawl.

-list_decoded

for -dump, show URL-encoded links decoded.

-list_inline

for -dump, show the links inline with the text.

-listonly

for -dump, show only the list of links.

-localhost

disable URLs that point to remote hosts.

-locexec

enable local program execution from local files only (if Lynx was compiled with local execution enabled).

-lss=FILENAME

specify filename containing color-style information. The default is lynx.lss. If you give an empty filename, Lynx uses a built-in monochrome scheme which imitates the non-color-style configuration.

-mime_header

prints the MIME header of a fetched document along with its source.

-minimal

toggles minimal versus valid comment parsing.

-nested_tables

toggles nested-tables logic (for debugging).

-newschunksize=NUMBER

number of articles in chunked news listings.

-newsmaxchunk=NUMBER

maximum news articles in listings before chunking.

-nobold

disable bold video-attribute.

-nobrowse

disable directory browsing.

-nocc

disable Cc: prompts for self copies of mailings. Note that this does not disable any CCs which are incorporated within a mailto URL or form ACTION.

-nocolor

force color mode off, overriding terminal capabilities and any -color flags, COLORTERM variable, and saved .lynxrc settings.

-noexec

disable local program execution. (DEFAULT)

-nofilereferer

disable transmissions of Referer headers for file URLs.

-nolist

disable the link list feature in dumps.

-nolog

disable mailing of error messages to document owners.

-nomargins

disable left/right margins in the default style sheet.

-nomore

disable -more- string in statusline messages.

-nonrestarting_sigwinch

This flag is not available on all systems, Lynx needs to be compiled with HAVE_SIGACTION defined. If available, this flag may cause Lynx to react more immediately to window changes when run within an xterm.

-nonumbers

disable link- and field-numbering. This overrides -number_fields and -number_links.

-nopause

disable forced pauses for statusline messages.

-noprint

disable most print functions.

-noredir

prevents automatic redirection and prints a message with a link to the new URL.

-noreferer

disable transmissions of Referer headers.

-noreverse

disable reverse video-attribute.

-nosocks

disable SOCKS proxy usage by a SOCKSified Lynx.

-nostatus

disable the retrieval status messages.

-notitle

disable title and blank line from top of page.

-nounderline

disable underline video-attribute.

-number_fields

force numbering of links as well as form input fields

-number_links

force numbering of links.

-partial

toggles display partial pages while loading.

-partial_thres=NUMBER

number of lines to render before repainting display with partial-display logic

-passive_ftp

toggles passive ftp connections.

-pauth=ID:PASSWD

set authorization ID and password for a protected proxy server at startup. Be sure to protect any script files which use this switch.

-popup

toggles handling of single-choice SELECT options via popup windows or as lists of radio buttons.

-post_data

properly formatted data for a post form are read in from the standard input and passed to the form. Input is terminated by a line that starts with ``---''.

Lynx issues an HTTP POST, sending the form to the path or URL given on the command-line and prints the response of the server. If no path or URL is given, Lynx sends the form to the start-page.

-preparsed

show HTML source preparsed and reformatted when used with -source or in source view.

-prettysrc

show HTML source view with lexical elements and tags in color.

-print

enable print functions. (default)

-pseudo_inlines

toggles pseudo-ALTs for inline images with no ALT string.

-raw

toggles default setting of 8-bit character translations or CJK mode for the startup character set.

-realm

restricts access to URLs in the starting realm.

-read_timeout=N

Sets the read-timeout, where N is given in seconds.

-reload

flushes the cache on a proxy server (only the first document given on the command-line is affected).

-restrictions=[option][,option][,option]...

allows a list of services to be disabled selectively. Dashes and underscores in option names can be intermixed. The following list is printed if no options are specified.

all

restricts all options listed below.

bookmark

disallow changing the location of the bookmark file.

bookmark_exec

disallow execution links via the bookmark file.

change_exec_perms

disallow changing the eXecute permission on files (but still allow it for directories) when local file management is enabled.

default

same as command line option -anonymous. Disables default services for anonymous users. Set to all restricted, except for: inside_telnet, outside_telnet, inside_ftp, outside_ftp, inside_rlogin, outside_rlogin, inside_news, outside_news, telnet_port, jump, mail, print, exec, and goto. The settings for these, as well as additional goto restrictions for specific URL schemes that are also applied, are derived from definitions within userdefs.h.

dired_support

disallow local file management.

disk_save

disallow saving to disk in the download and print menus.

dotfiles

disallow access to, or creation of, hidden (dot) files.

download

disallow some downloaders in the download menu (does not imply disk_save restriction).

editor

disallow external editing.

exec

disable execution scripts.

exec_frozen

disallow the user from changing the local execution option.

externals

disallow some ``EXTERNAL'' configuration lines if support for passing URLs to external applications (with the EXTERN command) is compiled in.

file_url

disallow using G)oto, served links or bookmarks for file: URLs.

goto

disable the ``g'' (goto) command.

inside_ftp

disallow ftps for people coming from inside your domain (utmp required for selectivity).

inside_news

disallow USENET news posting for people coming from inside your domain (utmp required for selectivity).

inside_rlogin

disallow rlogins for people coming from inside your domain (utmp required for selectivity).

inside_telnet

disallow telnets for people coming from inside your domain (utmp required for selectivity).

jump

disable the ``j'' (jump) command.

multibook

disallow multiple bookmarks.

mail

disallow mail.

news_post

disallow USENET News posting.

options_save

disallow saving options in .lynxrc.

outside_ftp

disallow ftps for people coming from outside your domain (utmp required for selectivity).

outside_news

disallow USENET news reading and posting for people coming from outside your domain (utmp required for selectivity). This restriction applies to ``news'', ``nntp'', ``newspost'', and ``newsreply'' URLs, but not to ``snews'', ``snewspost'', or ``snewsreply'' in case they are supported.

outside_rlogin

disallow rlogins for people coming from outside your domain (utmp required for selectivity).

outside_telnet

disallow telnets for people coming from outside your domain (utmp required for selectivity).

print

disallow most print options.

shell

disallow shell escapes and lynxexec or lynxprog G)oto's.

suspend

disallow Unix Control-Z suspends with escape to shell.

telnet_port

disallow specifying a port in telnet G)oto's.

useragent

disallow modifications of the User-Agent header.

-resubmit_posts

toggles forced resubmissions (no-cache) of forms with method POST when the documents they returned are sought with the PREV_DOC command or from the History List.

-rlogin

disable recognition of rlogin commands.

-scrollbar

toggles showing scrollbar.

-scrollbar_arrow

toggles showing arrows at ends of the scrollbar.

-selective

require .www_browsable files to browse directories.

-session=FILENAME

resumes from specified file on startup and saves session to that file on exit.

-sessionin=FILENAME

resumes session from specified file.

-sessionout=FILENAME

saves session to specified file.

-short_url

show very long URLs in the status line with ``...'' to represent the portion which cannot be displayed. The beginning and end of the URL are displayed, rather than suppressing the end.

-show_cfg

Print the configuration settings, e.g., as read from ``lynx.cfg'', and exit.

-show_cursor

If enabled the cursor will not be hidden in the right hand corner but will instead be positioned at the start of the currently selected link. Show cursor is the default for systems without FANCY_CURSES capabilities. The default configuration can be changed in userdefs.h or lynx.cfg. The command line switch toggles the default.

-show_rate

If enabled the transfer rate is shown in bytes/second. If disabled, no transfer rate is shown. Use lynx.cfg or the options menu to select KB/second and/or ETA.

-socks5_proxy=URL

(Via which) SOCKS5 proxy to connect: any network traffic, including all DNS resolutions but the one for URL itself, will be redirected through the SOCKS5 proxy. URL may be given as ``proxy.example.com'', ``proxy.example.com:1080'', ``192.168.0.1'', or ``192.168.0.1:1080'' (and IPv6 notation if so supported). A SOCKS5 proxy may also be specified via the environment variable SOCKS5_PROXY. This option controls the builtin SOCKS5 support, which is unrelated to the option -nosocks.

-soft_dquotes

toggles emulation of the old Netscape and Mosaic bug which treated ``>'' as a co-terminator for double-quotes and tags.

-source

works the same as dump but outputs HTML source instead of formatted text. For example

.sp

.in +4

lynx -source . >foo.html

.in -4

generates HTML source listing the files in the current directory. Each file is marked by an HREF relative to the parent directory. Add a trailing slash to make the HREF's relative to the current directory:

.sp

.in +4

lynx -source ./ >foo.html

.in -4

-stack_dump

disable SIGINT cleanup handler

-startfile_ok

allow non-http startfile and homepage with -validate.

-stderr

When dumping a document using -dump or -source, Lynx normally does not display alert (error) messages that you see on the screen in the status line. Use the -stderr option to tell Lynx to write these messages to the standard error.

-stdin

read the startfile from standard input (UNIX only).

-syslog=text

information for syslog call.

-syslog_urls

log requested URLs with syslog.

-tagsoup

initialize parser, using Tag Soup DTD rather than SortaSGML.

-telnet

disable recognition of telnet commands.

-term=TERM

tell Lynx what terminal type to assume it is talking to. (This may be useful for remote execution, when, for example, Lynx connects to a remote TCP/IP port that starts a script that, in turn, starts another Lynx process.)

-timeout=N

For win32, sets the network read-timeout, where N is given in seconds.

-tlog

toggles between using a Lynx Trace Log and stderr for trace output from the session.

-tna

turns on ``Textfields Need Activation'' mode.

-trace

turns on Lynx trace mode. Destination of trace output depends on -tlog.

-trace_mask=value

turn on optional traces, which may result in very large trace files. Logically OR the values to combine options:

1

SGML character parsing states

2

color-style

4

TRST (table layout)

8

configuration (lynx.cfg, .lynxrc, .lynx-keymaps, mime.types and mailcap contents)

16

binary string copy/append, used in form data construction.

32

cookies

64

character sets

128

GridText parsing

256

timing

512

detailed URL parsing

-traversal

traverse all http links derived from startfile. When used with -crawl, each link that begins with the same string as startfile is output to a file, intended for indexing.

See CRAWL.announce for more information.

-trim_blank_lines

toggles trimming of trailing blank lines as well as the related trimming of blank lines while collapsing BR tags.

-trim_input_fields

trim input text/textarea fields in forms.

-underline_links

toggles use of underline/bold attribute for links.

-underscore

toggles use of _underline_ format in dumps.

-unique_urls

check for duplicate link numbers in each page and corresponding lists, and reuse the original link number.

-update_term_title

enables updating the title in terminal emulators. Use only if your terminal emulator supports that escape code. Has no effect when used with -notitle.

-use_mouse

turn on mouse support, if available. Clicking the left mouse button on a link traverses it. Clicking the right mouse button pops back. Click on the top line to scroll up. Click on the bottom line to scroll down. The first few positions in the top and bottom line may invoke additional functions. Lynx must be compiled with ncurses or slang to support this feature. If ncurses is used, clicking the middle mouse button pops up a simple menu. Mouse clicks may only work reliably while Lynx is idle waiting for input.

-useragent=Name

set alternate Lynx User-Agent header.

-validate

accept only http URLs (for validation). Complete security restrictions also are implemented.

-verbose

toggle [LINK], [IMAGE] and [INLINE] comments with filenames of these images.

-version

print version information, and exit.

-vikeys

enable vi-like key movement.

-wdebug

enable Waterloo tcp/ip packet debug (print to watt debugfile). This applies only to DOS versions compiled with WATTCP or WATT-32.

-width=NUMBER

number of columns for formatting of dumps, default is 80. This is limited by the number of columns that Lynx could display, typically 1024 (the MAX_LINE symbol).

-with_backspaces

emit backspaces in output if -dump'ing or -crawl'ing (like man does)

-xhtml_parsing

tells Lynx that it can ignore certain tags which have no content in an XHTML 1.0 document. For example ``<p/>'' will be discarded.

COMMANDS

More than one key can be mapped to a given command. Here are some of the most useful:

.IP * 4 Use Up arrow and Down arrow to scroll through hypertext links.

.IP * 4 Right arrow or Return will follow a highlighted hypertext link.

.IP * 4 Left Arrow or ``u'' will retreat from a link.

.IP * 4 Type ``H'', ``?'', or F1 for online help and descriptions of key-stroke commands.

.IP * 4 Type ``k'' or ``K'' for a list of the current key-stroke command mappings.

If the same command is mapped to the same letter differing only by upper/lowercase only the lowercase mapping is shown.

.IP * 4 Type Delete to view history list.

ENVIRONMENT

In addition to various ``standard'' environment variables such as HOME, PATH, USER, DISPLAY, TMPDIR, etc, Lynx utilizes several Lynx-specific environment variables, if they exist.

Others may be created or modified by Lynx to pass data to an external program, or for other reasons. These are listed separately below.

See also the sections on SIMULATED CGI SUPPORT and NATIVE LANGUAGE SUPPORT, below.

Note: Not all environment variables apply to all types of platforms supported by Lynx, though most do. Feedback on platform dependencies is solicited.

Environment Variables Used By Lynx:

COLORTERM

If set, color capability for the terminal is forced on at startup time. The actual value assigned to the variable is ignored. This variable is only meaningful if Lynx was built using the slang screen-handling library.

LYNX_CFG

This variable, if set, will override the default location and name of the global configuration file (normally, lynx.cfg) that was defined by the LYNX_CFG_FILE constant in the userdefs.h file, during installation.

See the userdefs.h file for more information.

LYNX_CFG_PATH

If set, this variable overrides the compiled-in search-list of directories used to find the configuration files, e.g., lynx.cfg and lynx.lss. The list is delimited with ":" (or ";" for Windows) like the PATH environment variable.

LYNX_HELPFILE

If set, this variable overrides the compiled-in URL and configuration file URL for the Lynx help file.

LYNX_LOCALEDIR

If set, this variable overrides the compiled-in location of the locale directory which contains native language (NLS) message text.

LYNX_LSS

This variable, if set, specifies the location of the default Lynx character style sheet file. [Currently only meaningful if Lynx was built using curses color style support.]

LYNX_SAVE_SPACE

This variable, if set, will override the default path prefix for files saved to disk that is defined in the lynx.cfg SAVE_SPACE: statement.

See the lynx.cfg file for more information.

LYNX_TEMP_SPACE

This variable, if set, will override the default path prefix for temporary files that was defined during installation, as well as any value that may be assigned to the TMPDIR variable.

MAIL

This variable specifies the default inbox Lynx will check for new mail, if such checking is enabled in the lynx.cfg file.

NEWS_ORGANIZATION

This variable, if set, provides the string used in the Organization: header of USENET news postings. It will override the setting of the ORGANIZATION environment variable, if it is also set (and, on UNIX, the contents of an /etc/organization file, if present).

NNTPSERVER

If set, this variable specifies the default NNTP server that will be used for USENET news reading and posting with Lynx, via news: URL's.

ORGANIZATION

This variable, if set, provides the string used in the Organization: header of USENET news postings. On UNIX, it will override the contents of an /etc/organization file, if present.

PROTOCOL_proxy

Lynx supports the use of proxy servers that can act as firewall gateways and caching servers. They are preferable to the older gateway servers (see WWW_access_GATEWAY, below).

Each protocol used by Lynx, (http, ftp, gopher, etc), can be mapped separately by setting environment variables of the form PROTOCOL_proxy. Protocols are indicated in a URI by the name before ``:'', e.g., ``http'' in ``http://some.server.dom:port/'' for HTML.

Depending on your system configuration and supported protocols, the environment variables recognized by lynx may include

.sp

.in +4

cso_proxy

finger_proxy

ftp_proxy

gopher_proxy

https_proxy

http_proxy

newspost_proxy

newsreply_proxy

news_proxy

nntp_proxy

no_proxy

snewspost_proxy

snewsreply_proxy

snews_proxy

wais_proxy

.in -4

See Lynx Users Guide for additional details and examples.

SOCKS5_PROXY

Is inspected if -socks5_proxy has not been used (for the same content).

SSL_CERT_DIR

Set to the directory containing trusted certificates.

SSL_CERT_FILE

Set to the full path and filename for your file of trusted certificates.

WWW_access_GATEWAY

Lynx still supports use of gateway servers, with the servers specified via ``WWW_access_GATEWAY'' variables (where ``access'' is lower case and can be ``http'', ``ftp'', ``gopher'' or ``wais''). However most gateway servers have been discontinued. Note that you do not include a terminal ``/'' for gateways, but do for proxies specified by PROTOCOL_proxy environment variables.

See Lynx Users Guide for details.

WWW_HOME

This variable, if set, will override the default startup URL specified in any of the Lynx configuration files.

Environment Variables Set or Modified By Lynx:

LYNX_PRINT_DATE

This variable is set by the Lynx p(rint) function, to the Date: string seen in the document's ``Information about'' page (= cmd), if any. It is created for use by an external program, as defined in a lynx.cfg PRINTER: definition statement. If the field does not exist for the document, the variable is set to a null string under UNIX, or ``No Date'' under VMS.

LYNX_PRINT_LASTMOD

This variable is set by the Lynx p(rint) function, to the Last Mod: string seen in the document's ``Information about'' page (= cmd), if any. It is created for use by an external program, as defined in a lynx.cfg PRINTER: definition statement. If the field does not exist for the document, the variable is set to a null string under UNIX, or ``No LastMod'' under VMS.

LYNX_PRINT_TITLE

This variable is set by the Lynx p(rint) function, to the Linkname: string seen in the document's ``Information about'' page (= cmd), if any. It is created for use by an external program, as defined in a lynx.cfg PRINTER: definition statement. If the field does not exist for the document, the variable is set to a null string under UNIX, or ``No Title'' under VMS.

LYNX_PRINT_URL

This variable is set by the Lynx p(rint) function, to the URL: string seen in the document's ``Information about'' page (= cmd), if any. It is created for use by an external program, as defined in a lynx.cfg PRINTER: definition statement. If the field does not exist for the document, the variable is set to a null string under UNIX, or ``No URL'' under VMS.

LYNX_TRACE

If set, causes Lynx to write a trace file as if the -trace option were supplied.

LYNX_TRACE_FILE

If set, overrides the compiled-in name of the trace file, which is either Lynx.trace or LY-TRACE.LOG (the latter on the DOS/Windows platforms). The trace file is in either case relative to the home directory.

LYNX_VERSION

This variable is always set by Lynx, and may be used by an external program to determine if it was invoked by Lynx.

See also the comments in the distribution's sample mailcap file, for notes on usage in such a file.

TERM

Normally, this variable is used by Lynx to determine the terminal type being used to invoke Lynx. If, however, it is unset at startup time (or has the value ``unknown''), or if the -term command-line option is used (see OPTIONS section above), Lynx will set or modify its value to the user specified terminal type (for the Lynx execution environment). Note: If set/modified by Lynx, the values of the LINES and/or COLUMNS environment variables may also be changed.

SIMULATED CGI SUPPORT

If built with the cgi-links option enabled, Lynx allows access to a cgi script directly without the need for an http daemon.

When executing such ``lynxcgi scripts'' (if enabled), the following variables may be set for simulating a CGI environment:

CONTENT_LENGTH

CONTENT_TYPE

DOCUMENT_ROOT

HTTP_ACCEPT_CHARSET

HTTP_ACCEPT_LANGUAGE

HTTP_USER_AGENT

PATH_INFO

PATH_TRANSLATED

QUERY_STRING

REMOTE_ADDR

REMOTE_HOST

REQUEST_METHOD

SERVER_SOFTWARE

Other environment variables are not inherited by the script, unless they are provided via a LYNXCGI_ENVIRONMENT statement in the configuration file. See the lynx.cfg file, and the (draft) CGI 1.1 Specification <http://Web.Golux.Com/coar/cgi/draft-coar-cgi-v11-00.txt> for the definition and usage of these variables.

The CGI Specification, and other associated documentation, should be consulted for general information on CGI script programming.

NATIVE LANGUAGE SUPPORT

If configured and installed with Native Language Support, Lynx will display status and other messages in your local language. See the file ABOUT_NLS in the source distribution, or at your local GNU site, for more information about internationalization.

The following environment variables may be used to alter default settings:

LANG

This variable, if set, will override the default message language. It is an ISO 639 two-letter code identifying the language. Language codes are NOT the same as the country codes given in ISO 3166.

LANGUAGE

This variable, if set, will override the default message language. This is a GNU extension that has higher priority for setting the message catalog than LANG or LC_ALL.

LC_ALL

and

LC_MESSAGES

These variables, if set, specify the notion of native language formatting style. They are POSIXly correct.

LINGUAS

This variable, if set prior to configuration, limits the installed languages to specific values. It is a space-separated list of two-letter codes. Currently, it is hard-coded to a wish list.

NLSPATH

This variable, if set, is used as the path prefix for message catalogs.

NOTES

This is the manual for Lynx v2.9.0dev.5; development is in progress for 2.9.0.

If you wish to contribute to the further development of Lynx, subscribe to our mailing list. Send email to <lynx-dev-request@nongnu.org> with ``subscribe lynx-dev'' as the only line in the body of your message.

Send bug reports, comments, suggestions to <lynx-dev@nongnu.org> after subscribing.

Unsubscribe by sending email to <lynx-dev-request@nongnu.org> with ``unsubscribe lynx-dev'' as the only line in the body of your message. Do not send the unsubscribe message to the lynx-dev list, itself.

SEE ALSO

wintoolsintro(1), config(1m), catgets(3), curses(3), environ(7), execve(2), ftp(1), gettext(GNU), localeconv(3), ncurses(3), setlocale(3), slang(?), termcap(5), terminfo(5), wget(GNU)

Note that man page availability and section numbering is somewhat platform dependent, and may vary from the above references.

A section shown as (GNU), is intended to denote that the topic may be available via an info page, instead of a man page (i.e., try ``info subject'', rather than ``man subject'').

A section shown as (?) denotes that documentation on the topic exists, but is not part of an established documentation retrieval system (see the distribution files associated with the topic, or contact your System Administrator for further information).

ACKNOWLEDGMENTS

Lynx has incorporated code from a variety of sources along the way. The earliest versions of Lynx included code from Earl Fogel of Computing Services at the University of Saskatchewan, who implemented HYPERREZ in the Unix environment. HYPERREZ was developed by Niel Larson of Think.com and served as the model for the early versions of Lynx. Those versions also incorporated libraries from the Unix Gopher clients developed at the University of Minnesota, and the later versions of Lynx rely on the WWW client library code developed by Tim Berners-Lee and the WWW community. Also a special thanks to Foteos Macrides who ported much of Lynx to VMS and did or organized most of its development since the departures of Lou Montulli and Garrett Blythe from the University of Kansas in the summer of 1994 through the release of v2.7.2, and to everyone on the net who has contributed to Lynx's development either directly (through patches, comments or bug reports) or indirectly (through inspiration and development of other systems).

AUTHORS

Lou Montulli, Garrett Blythe, Craig Lavender, Michael Grobe, Charles Rezac

Academic Computing Services

University of Kansas

Lawrence, Kansas 66047

Foteos Macrides

Worcester Foundation for Biomedical Research

Shrewsbury, Massachusetts 01545

Thomas E. Dickey

<dickey@invisible-island.net>

NAME SYNOPSIS DESCRIPTION OPTIONS COMMANDS ENVIRONMENT SIMULATED CGI SUPPORT NATIVE LANGUAGE SUPPORT NOTES SEE ALSO ACKNOWLEDGMENTS AUTHORS

This document was created by man2html using the manual pages.

Time: 16:32:19 GMT, September 14, 2024

MC

TOC Index

NAME

mc - Visual shell for Unix-like systems.

USAGE

mc [-bcCdfhPsVx] [-l log] [dir1 [dir2]] [-e [file] ...] [-v file]

DESCRIPTION

GNU Midnight Commander is a directory browser/file manager for Unix-like operating systems.

OPTIONS

-b, --nocolor

Force black and white display.

-c, --color

Force color mode, please check the section Colors for more information.

-C arg, --colors=arg

Specify a different color set in the command line. The format of arg is documented in the Colors section.

-d, --nomouse

Disable mouse support.

-e [file], --edit[=file]

Start the internal editor. If the file is specified, open it on startup. See also mcedit (1).

-f, --datadir

Display the compiled-in search paths for Midnight Commander files.

-k, --resetsoft

Reset softkeys to their default from the termcap/terminfo database. Only useful on HP terminals when the function keys don't work.

-P file, --printwd=file

Print the last working directory to the specified file. This option is not meant to be used directly. Instead, it's used from a special shell script that automatically changes the current directory of the shell to the last directory Midnight Commander was in. Source the file /usr/lib/mc/mc.sh (bash and zsh users) or /usr/lib/mc.csh (tcsh users) respectively to define mc as an alias to the appropriate shell script.

-s, --slow

Set alternative mode drawing of frameworks. If the section [Lines] is not filled, the symbol for the pseudographics frame is a space, otherwise the frame characters are taken from following parameters.

You can redefine the following variables:

lefttop

left-top corner

righttop

right-top corner

centertop

center-top cross

centerbottom

center-bottom cross

leftbottom

left-bottom corner

rightbottom

right-bottom corner

leftmiddle

left-middle cross

rightmiddle

right-middle cross

centermiddle

center cross

horiz

default horizontal line

vert

default vertical line

thinhoriz

thin horizontal line

thinvert

thin vertical line

-S arg, --skin=arg

Specify a name of skin in the command line. Technology of skins is documented in the Skins section.

-v file, --view=file

Start the internal viewer to view the specified file. See also mcview (1).

-V, --version

Display the version of the program.

-x, --xterm

Force xterm mode. Used when running on xterm-capable terminals (two screen modes, and able to send mouse escape sequences).

If both paths are specified, the first path name is the directory to show in the active panel; the second path name is the directory to be shown in the other panel.

If one path is specified, the path name is the directory to show in the active panel; value of "other_dir" from panels.ini is the directory to be shown in the passive panel.

If no paths are specified, current directory is shown in the active panel; value of "other_dir" from panels.ini is the directory to be shown in the passive panel.

Overview

The screen of Midnight Commander is divided into four parts. Almost all of the screen space is taken up by two directory panels. By default, the second line from the bottom of the screen is the shell command line, and the bottom line shows the function key labels. The topmost line is the menu bar line. The menu bar line may not be visible, but appears if you click the topmost line with the mouse or press the F9 key.

Midnight Commander provides a view of two directories at the same time. One of the panels is the current panel (a selection bar is in the current panel). Almost all operations take place on the current panel. Some file operations like Rename and Copy by default use the directory of the unselected panel as a destination (don't worry, they always ask you for confirmation first). For more information, see the sections on the Directory Panels, the Left and Right Menus and the File Menu.

You can execute system commands from Midnight Commander by simply typing them. Everything you type will appear on the shell command line, and when you press Enter, Midnight Commander will execute the command line you typed; read the Shell Command Line and Input Line Keys sections to learn more about the command line.

Mouse Support

Midnight Commander comes with mouse support. It is activated whenever you are running on an xterm(1) terminal (it even works if you take a telnet, ssh or rlogin connection to another machine from the xterm) or if you are running on a Linux console and have the gpm mouse server running.

When you left click on a file in the directory panels, that file is selected; if you click with the right button, the file is marked (or unmarked, depending on the previous state).

Double-clicking on a file will try to execute the command if it is an executable program; and if the extension file has a program specified for the file's extension, the specified program is executed.

Also, it is possible to execute the commands assigned to the function key labels by clicking on them.

The default auto repeat rate for the mouse buttons is 400 milliseconds. This may be changed to other values by editing the ~/.config/mc/ini file and changing the mouse_repeat_rate parameter.

If you are running Midnight Commander with the mouse support, you can get the default mouse behavior (cutting and pasting text) by holding down the Shift key.

Keys

Some commands in Midnight Commander involve the use of the Control (sometimes labeled CTRL or CTL) and the Meta (sometimes labeled ALT or even Compose) keys. In this manual we will use the following abbreviations:

C-<chr>

means hold the Control key while typing the character <chr>. Thus C-f would be: hold the Control key and type f.

Alt-<chr>

means hold the Meta or Alt key down while typing <chr>. If there is no Meta or Alt key, type ESC, release it, then type the character <chr>.

S-<chr>

means hold the Shift key down while typing <chr>.

All input lines in Midnight Commander use an approximation to the GNU Emacs editor's key bindings (default).

You may redefine key bindings. See redefine hotkey bindings

for more info. All other key bindings (described in this manual) are relative to default behavior.

There are many sections which tell about the keys. The following are the most important.

The File Menu section documents the keyboard shortcuts for the commands appearing in the File menu. This section includes the function keys. Most of these commands perform some action, usually on the selected file or the tagged files.

The Directory Panels section documents the keys which select a file or tag files as a target for a later action (the action is usually one from the file menu).

The Shell Command Line section list the keys which are used for entering and editing command lines. Most of these copy file names and such from the directory panels to the command line (to avoid excessive typing) or access the command line history.

Input Line Keys are used for editing input lines. This means both the command line and the input lines in the query dialogs.

Redefine hotkey bindings

Hotkey bindings may be read from external file (keymap-file). Initially, Midnight Commander creates key bindings using keymap defined in the source code. Then, two files /usr/share/mc/mc.keymap and /etc/mc/mc.keymap are loaded always, sequentially reassigned key bindings defined earlier. User-defined keymap-file is searched on the following algorithm (to the first one found):

1) command line option -K <keymap> or --keymap=<keymap>

2) Environment variable MC_KEYMAP

3) Parameter keymap in section [Midnight-Commander] of config file.

4) File ~/.config/mc/mc.keymap

Command line option, environment variable and parameter in config file may contain the absolute path to the keymap-file (with the extension .keymap or without it). Search of keymap-file will occur in (to the first one found):

1) ~/.config/mc

2) /etc/mc/

3) /usr/share/mc/

Miscellaneous Keys

Here are some keys which don't fall into any of the other categories:

Enter

if there is some text in the command line (the one at the bottom of the panels), then that command is executed. If there is no text in the command line then if the selection bar is over a directory the Midnight Commander does a chdir(2) to the selected directory and reloads the information on the panel; if the selection is an executable file then it is executed. Finally, if the extension of the selected file name matches one of the extensions in the extensions file then the corresponding command is executed.

C-l

repaint all the information in Midnight Commander.

C-x c

run the Chmod command on a file or on the tagged files.

C-x o

run the Chown command on the current file or on the tagged files.

C-x l

run the hard link command.

C-x s

run the absolute symbolic link command.

C-x v

run the relative symbolic link command. See the File Menu section for more information about symbolic links.

C-x i

set the other panel display mode to information.

C-x q

set the other panel display mode to quick view.

C-x !

execute the External panelize command.

C-x h

run the add directory to hotlist command.

Alt-!

executes the Filtered view command, described in the view command.

Alt-?

executes the Find file command.

Alt-c

pops up the quick cd dialog.

C-o

when the program is being run in the Linux or FreeBSD console or under an xterm, it will show you the output of the previous command. When ran on the Linux console, Midnight Commander uses an external program (cons.saver) to handle saving and restoring of information on the screen.

When the subshell support is compiled in, you can type C-o at any time and you will be taken back to Midnight Commander's main screen, to return to your application just type C-o. If you have an application suspended by using this trick, you won't be able to execute other programs from Midnight Commander until you terminate the suspended application.

Directory Panels

This section lists the keys which operate on the directory panels. If you want to know how to change the appearance of the panels take a look at the section on Left and Right Menus.

Tab, C-i

change the current panel. The old other panel becomes the new current panel and the old current panel becomes the new other panel. The selection bar moves from the old current panel to the new current panel.

Insert, C-t

to tag files you may use the Insert key (the kich1 terminfo sequence). To untag files, just retag a tagged file.

M-e

to change charset of panel you may use M-e (Alt-e). Recoding is made from selected codepage into system codepage. To cancel the recoding you may select "directory up" (..) in active panel. To cancel the charsets in all directories, select "No translation " in the dialog of encodings.

Alt-g, Alt-r, Alt-j

used to select the top file in a panel, the middle file and the bottom one, respectively.

Alt-t

toggle the current display listing to show the next display listing mode. With this it is possible to quickly switch to brief listing, long listing, user defined listing mode, and back to the default.

C-\\ (control-backslash)

show the directory hotlist and change to the selected directory.

+  (plus)

this is used to select (tag) a group of files. Midnight Commander will prompt for a selection options. When Files only checkbox is on, only files will be selected. If Files only is off, as files as directories will be selected. When Shell Patterns checkbox is on, the regular expression is much like the filename globbing in the shell (* standing for zero or more characters and ? standing for one character). If Shell Patterns is off, then the tagging of files is done with normal regular expressions (see ed (1)). When Case sensitive checkbox is on, the selection will be case sensitive characters. If Case sensitive is off, the case will be ignored.

\\ (backslash)

use the "\" key to unselect a group of files. This is the opposite of the Plus key.

up-key, C-p

move the selection bar to the previous entry in the panel.

down-key, C-n

move the selection bar to the next entry in the panel.

home, a1, Alt-<

move the selection bar to the first entry in the panel.

end, c1, Alt->

move the selection bar to the last entry in the panel.

next-page, C-v

move the selection bar one page down.

prev-page, Alt-v

move the selection bar one page up.

Alt-o

If the currently selected file is a directory, load that directory on the other panel and moves the selection to the next file. If the currently selected file is not a directory, load the parent directory on the other panel and moves the selection to the next file.

Alt-i

make the current directory of the current panel also the current directory of the other panel. Put the other panel to the listing mode if needed. If the current panel is panelized, the other panel doesn't become panelized.

C-PageUp, C-PageDown

only when supported by the terminal: change to ".." and to the currently selected directory respectively.

Alt-y

moves to the previous directory in the history, equivalent to clicking the < with the mouse.

Alt-u

moves to the next directory in the history, equivalent to clicking the > with the mouse.

Alt-Shift-h, Alt-H

displays the directory history, equivalent to depressing the 'v' with the mouse.

Quick search

The Quick search mode allows you to perform fast file search in file panel. Press C-s or Alt-s to start a filename search in the directory listing. When the search is active, the user input will be added to the search string instead of the command line. If the Show mini-status option is enabled the search string is shown on the mini-status line. When typing, the selection bar will move to the next file starting with the typed letters. The Backspace or DEL keys can be used to correct typing mistakes. If C-s is pressed again, the next match is searched for. If quick search is started with double pressing of C-s, the previous quick search pattern will be used for current search. Besides the filename characters, you can also use wildcard characters '*' and '?'.

Shell Command Line

This section lists keys which are useful to avoid excessive typing when entering shell commands.

Alt-Enter

copy the currently selected file name to the command line.

C-Enter

same a Alt-Enter. May not work on remote systems and some terminals.

C-Shift-Enter

copy the full path name of the currently selected file to the command line. May not work on remote systems and some terminals.

Alt-Tab

does the filename, command, variable, username and hostname completion for you.

C-x t, C-x C-t

copy the tagged files (or if there are no tagged files, the selected file) of the current panel (C-x t) or of the other panel (C-x C-t) to the command line.

C-x p, C-x C-p

the first key sequence copies the current path name to the command line, and the second one copies the unselected panel's path name to the command line.

C-q

the quote command can be used to insert characters that are otherwise interpreted by Midnight Commander (like the '+' symbol)

Alt-p, Alt-n

use these keys to browse through the command history. Alt-p takes you to the last entry, Alt-n takes you to the next one.

Alt-h

displays the history for the current input line.

General Movement Keys

The help viewer, the file viewer and the directory tree use common code to handle moving. Therefore they accept exactly the same keys. Each of them also accepts some keys of its own.

Other parts of Midnight Commander use some of the same movement keys, so this section may be of use for those parts too.

Up, C-p

moves one line backward.

Down, C-n

moves one line forward.

Prev Page, Page Up, Alt-v

moves one page up.

Next Page, Page Down, C-v

moves one page down.

Home, A1

moves to the beginning.

End, C1

move to the end.

The help viewer and the file viewer accept the following keys in addition the to ones mentioned above:

b, C-b, C-h, Backspace, Delete

moves one page up.

Space bar

moves one page down.

u, d

moves one half of a page up or down.

g, G

moves to the beginning or to the end.

Input Line Keys

The input lines (they are used for the command line and for the query dialogs in the program) accept these keys:

C-a

puts the cursor at the beginning of line.

C-e

puts the cursor at the end of the line.

C-b, move-left

move the cursor one position left.

C-f, move-right

move the cursor one position right.

Alt-f

moves one word forward.

Alt-b

moves one word backward.

C-h, Backspace

delete the previous character.

C-d, Delete

delete the character in the point (over the cursor).

C-@

sets the mark for cutting.

C-w

copies the text between the cursor and the mark to a kill buffer and removes the text from the input line.

Alt-w

copies the text between the cursor and the mark to a kill buffer.

C-y

yanks back the contents of the kill buffer.

C-k

kills the text from the cursor to the end of the line.

Alt-p, Alt-n

Use these keys to browse through the command history. Alt-p takes you to the last entry, Alt-n takes you to the next one.

Alt-C-h, Alt-Backspace

delete one word backward.

Alt-Tab

does the filename, command, variable, username and hostname completion for you.

Menu Bar

The menu bar pops up when you press F9 or click the mouse on the top row of the screen. The menu bar has five menus: "Left", "File", "Command", "Options" and "Right".

The Left and Right Menus allow you to modify the appearance of the left and right directory panels.

The File Menu lists the actions you can perform on the currently selected file or the tagged files.

The Command Menu lists the actions which are more general and bear no relation to the currently selected file or the tagged files.

The Options Menu lists the actions which allow you to customize Midnight Commander.

Left and Right (Above and Below) Menus

The outlook of the directory panels can be changed from the Left and Right menus (they are named Above and Below when the horizontal panel split is chosen from the Layout options dialog).

Listing Mode...

The listing mode view is used to display a listing of files, there are four different listing modes available: Full, Brief, Long and User. The full directory view shows the file name, the size of the file and the modification time.

The brief view shows only the file name and it has from 1 up to 9 columns (therefore showing more files unlike other views). The long view is similar to the output of ls -l command. The long view takes the whole screen width.

If you choose the "User" display format, then you have to specify the display format.

The user display format must start with a panel size specifier. This may be "half" or "full", and they specify a half screen panel and a full screen panel respectively.

After the panel size, you may specify how many listings to fit in the panel, side-by-side (in other words: how many times to repeat the fields horizontally). This defaults to 1. You may change this by adding a number from 1 to 9 to the format string.

After this you add the name of the fields with an optional size specifier. This are the available fields you may display:

name

displays the file name.

size

displays the file size.

bsize

is an alternative form of the size format. It displays the size of the files and for directories it just shows SUB-DIR or UP--DIR.

type

displays a one character wide type field. This character is similar to what is displayed by ls with the -F flag - * for executable files, / for directories, @ for links, = for sockets, - for character devices, + for block devices, | for pipes, ~ for symbolic links to directories and ! for stale symlinks (links that point nowhere).

mark

an asterisk if the file is tagged, a space if it's not.

mtime

file's last modification time.

atime

file's last access time.

ctime

file's status change time.

perm

a string representing the current permission bits of the file.

mode

an octal value with the current permission bits of the file.

nlink

the number of links to the file.

ngid

the GID (numeric).

nuid

the UID (numeric).

owner

the owner of the file.

group

the group of the file.

inode

the inode of the file.

Also you can use following keywords to define the panel layout:

space

a space in the display format.

|

add a vertical line to the display format.

To force one field to a fixed size (a size specifier), you just add : followed by the number of characters you want the field to have. If the number is followed by the symbol +, then the size specifies the minimal field size - if the program finds out that there is more space on the screen, it will then expand that field.

For example, the Full display corresponds to this format:

half type name | size | mtime

And the Long display corresponds to this format:

full perm space nlink space owner space group space size space mtime space name

This is a nice user display format:

half name | size:7 | type mode:3

Panels may also be set to the following modes:

Info

The info view display information related to the currently selected file and if possible information about the current file system.

Tree

The tree view is quite similar to the directory tree feature. See the section about it for more information.

Quick View

In this mode, the panel will switch to a reduced viewer that displays the contents of the currently selected file, if you select the panel (with the tab key or the mouse), you will have access to the usual viewer commands.

Sort Order...

The eight sort orders are by name, by extension, by modification time, by access time, and by inode information modification time, by size, by inode and unsorted. In the Sort order dialog box you can choose the sort order and you may also specify if you want to sort in reverse order by checking the reverse box.

By default directories are sorted before files but this can be changed from the Panel options menu (option Mix all files).

Filter...

The filter command allows you to specify a shell pattern (for example *.tar.gz) which the files must match to be shown. Regardless of the filter pattern, the directories and the links to directories are always shown in the directory panel.

Reread

The reread command reload the list of files in the directory. It is useful if other processes have created or removed files.

File Menu

Midnight Commander uses the F1 - F10 keys as keyboard shortcuts for commands appearing in the file menu. The escape sequences for the function keys are terminfo capabilities kf1 trough kf10. On terminals without function key support, you can achieve the same functionality by pressing the ESC key and then a number in the range 1 through 9 and 0 (corresponding to F1 to F9 and F10 respectively).

The File menu has the following commands (keyboard shortcuts in parentheses):

Help (F1)

Invokes the built-in hypertext help viewer. Inside the help viewer, you can use the Tab key to select the next link and the Enter key to follow that link. The keys Space and Backspace are used to move forward and backward in a help page. Press F1 again to get the full list of accepted keys.

Menu (F2)

Invoke the user menu. The user menu provides an easy way to provide users with a menu and add extra features to Midnight Commander.

View (F3, F13)

View the currently selected file. By default this invokes the Internal File Viewer but if the option "Use internal view" is off, it invokes an external file viewer specified by the VIEWER environment variable. If VIEWER is undefined, the PAGER environment variable is tried. If PAGER is also undefined, the "view" command is invoked. If you use F13 instead, the viewer will be invoked without doing any formatting or preprocessing to the file. See parameters for external viewer for explain how you may specify an extended command line options for external viewers.

Filtered View (Alt-!)

This command prompts for a command and its arguments (the argument defaults to the currently selected file name), the output from such command is shown in the internal file viewer.

Edit (F4, F14)

Press F4 to edit the highlighted file. Press F14 (usually F14) to start the editor with a new, empty file. Currently they invoke the vi editor, or the editor specified in the EDITOR environment variable, or the Internal File Editor if the use_internal_edit option is on. See parameters for external editor for explain how you may specify an extended command line options for external editors.

Copy (F5, F15)

Press F5 to pop up an input dialog to copy the currently selected file (or the tagged files, if there is at least one file tagged) to the directory/filename you specify in the input dialog. The destination defaults to the directory in the non-selected panel. Space for destination file may be preallocated relative to preallocate_space configure option. During this process, you can press C-c or ESC to abort the operation. For details about source mask (which will be usually either * or ^\(.*\)$ depending on setting of Use shell patterns) and possible wildcards in the destination see Mask copy/rename.

F15 (usually F15) is similar, but defaults to the directory in the selected panel. It always operates on the selected file, regardless of any tagged files.

On some systems, it is possible to do the copy in the background by clicking on the background button (or pressing Alt-b in the dialog box). The Background Jobs is used to control the background process.

Link (C-x l)

Create a hard link to the current file.

Absolute symlink (C-x s)

Create a absolute symbolic link to the current file.

Relative symLink (C-x v)

Create a relative symbolic link to the current file.

To those of you who don't know what links are: creating a link to a file is a bit like copying the file, but both the source filename and the destination filename represent the same file image. For example, if you edit one of these files, all changes you make will appear in both files. Some people call links aliases or shortcuts.

A hard link appears as a real file. After making it, there is no way of telling which one is the original and which is the link. If you delete either one of them the other one is still intact. It is very difficult to notice that the files represent the same image. Use hard links when you don't even want to know.

A symbolic link is a reference to the name of the original file. If the original file is deleted the symbolic link is useless. It is quite easy to notice that the files represent the same image. Midnight Commander shows an "@"-sign in front of the file name if it is a symbolic link to somewhere (except to directory, where it shows a tilde (~)). The original file which the link points to is shown on mini-status line if the Show mini-status option is enabled. Use symbolic links when you want to avoid the confusion that can be caused by hard links.

When you press "C-x s" Midnight Commander will automatically fill in the complete path+filename of the original file and suggest a name for the link. You can change either one.

Sometimes you may want to change the absolute path of the original into a relative path. An absolute path starts from the root directory:

/home/frodo/mc/mc -> /home/frodo/new/mc

A relative link describes the original file's location starting from the location of the link itself:

/home/frodo/mc/mc -> ../new/mc

You can force Midnight Commander to suggest a relative path by pressing "C-x v" instead of "C-x s".

Rename/Move (F6, F16)

Press F6 to pop up an input dialog to copy the currently selected file (or the tagged files, if there is at least one file tagged) to the directory/filename you specify in the input dialog. The destination defaults to the directory in the non-selected panel. For more details look at Copy (F5) operation above, most of the things are quite similar.

F16 (usually F16) is similar, but defaults to the directory in the selected panel. It always operates on the selected file, regardless of any tagged files.

On some systems, it is possible to do the copy in the background by clicking on the background button (or pressing Alt-b in the dialog box). The Background Jobs is used to control the background process.

Mkdir (F7)

Pop up an input dialog and creates the directory specified.

Delete (F8)

Delete the currently selected file or the tagged files in the currently selected panel. During the process, you can press C-c or ESC to abort the operation.

Quick cd (Alt-c) Use the quick cd command if you have full command line and want to cd somewhere.

Select group (+)

This is used to select (tag) a group of files. Midnight Commander will prompt for a selection options. When Files only checkbox is on, only files will be selected. If Files only is off, as files as directories will be selected. When Shell Patterns checkbox is on, the regular expression is much like the filename globbing in the shell (* standing for zero or more characters and ? standing for one character). If Shell Patterns is off, then the tagging of files is done with normal regular expressions (see ed (1)). When Case sensitive checkbox is on, the selection will be case sensitive characters. If Case sensitive is off, the case will be ignored.

Unselect group (\\)

Used to unselect a group of files. This is the opposite of the Select group command.

Quit (F10, Shift-F10)

Terminate Midnight Commander. Shift-F10 is used when you want to quit and you are using the shell wrapper. Shift-F10 will not take you to the last directory you visited with Midnight Commander, instead it will stay at the directory where you started Midnight Commander.

Quick cd

This command is useful if you have a full command line and want to cd somewhere without having to yank and paste the command line. This command pops up a small dialog, where you enter everything you would enter after cd on the command line and then you press enter. This features all the things that are already in the internal cd command.

Command Menu

The Directory tree command shows a tree figure of the directories.

The "Find file" command allows you to search for a specific file.

The "Swap panels" command swaps the contents of the two directory panels.

The "Switch panels on/off" command shows the output of the last shell command. This works only on xterm and on Linux and FreeBSD console.

The "Compare directories" command compares the directory panels with each other. You can then use the Copy (F5) command to make the panels identical. There are three compare methods. The quick method compares only file size and file date. The thorough method makes a full byte-by-byte compare. The thorough method is not available if the machine does not support the mmap(2) system call. The size-only compare method just compares the file sizes and does not check the contents or the date times, it just checks the file size.

The "External panelize" allows you to execute an external program, and make the output of that program the contents of the current panel.

The "Command history" command shows a list of typed commands. The selected command is copied to the command line. The command history can also be accessed by typing Alt-p or Alt-n.

The "Directory hotlist" command makes changing of the current directory to often used directories faster.

The "Screen list" command shows a dialog window with the list of currently running internal editors, viewers and other MC modules that support this mode.

The "Edit extension file" command allows you to specify programs to executed when you try to execute, view, edit and do a bunch of other thing on files with certain extensions (filename endings).

The "Edit Menu File" command may be used for editing the user menu (which appears by pressing F2).

Directory Tree

The Directory Tree command shows a tree figure of the directories. You can select a directory from the figure and Midnight Commander will change to that directory.

There are two ways to invoke the tree. The real directory tree command is available from Commands menu. The other way is to select tree view from the Left or Right menu.

To get rid of long delays, Midnight Commander creates the tree figure by scanning only a small subset of all the directories. If the directory which you want to see is missing, move to its parent directory and press C-r (or F2).

You can use the following keys:

General movement keys are accepted.

Enter. In the directory tree, exits the directory tree and changes to this directory in the current panel. In the tree view, changes to this directory in the other panel and stays in tree view mode in the current panel.

C-r, F2 (Rescan). Rescan this directory. Use this when the tree figure is out of date: it is missing subdirectories or shows some subdirectories which don't exist any more.

F3 (Forget). Delete this directory from the tree figure. Use this to remove clutter from the figure. If you want the directory back to the tree figure press F2 in its parent directory.

F4 (Static/Dynamic). Toggle between the dynamic navigation mode (default) and the static navigation mode.

In the static navigation mode you can use the Up and Down keys to select a directory. All known directories are shown.

In the dynamic navigation mode you can use the Up and Down keys to select a sibling directory, the Left key to move to the parent directory, and the Right key to move to a child directory. Only the parent, sibling and children directories are shown, others are left out. The tree figure changes dynamically as you traverse.

F5 (Copy). Copy the directory.

F6 (RenMov). Move the directory.

F7 (Mkdir). Make a new directory below this directory.

F8 (Delete). Delete this directory from the file system.

C-s, Alt-s. Search the next directory matching the search string. If there is no such directory these keys will move one line down.

C-h, Backspace. Delete the last character of the search string.

Any other character. Add the character to the search string and move to the next directory which starts with these characters. In the tree view you must first activate the search mode by pressing C-s. The search string is shown in the mini status line.

The following actions are available only in the directory tree. They aren't supported in the tree view.

F1 (Help). Invoke the help viewer and show this section.

Esc, F10. Exit the directory tree. Do not change the directory.

The mouse is supported. A double-click behaves like Enter. See also the section on mouse support.

Find File

The Find File feature first asks for the start directory for the search and the filename to be searched for. By pressing the Tree button you can select the start directory from the directory tree figure.

The "File name" input field contains a filename pattern to be searched for. It is interpreted as a shell pattern or as a regular expression depending on the state of the "Using shell patterns" checkbox. An empty value is valid and matches any file name.

The "Content" input field contains a string to search for within the files. Leave this field empty to disable searching file contents.

Option "Whole words" allows select only those files containing matches that form whole words. Like grep -w.

You can start the search by pressing the OK button. During the search you can stop from the Stop button and continue from the Start button.

You can browse the filelist with the up and down arrow keys. The Chdir button will change to the directory of the currently selected file. The Again button will ask for the parameters for a new search. The Quit button quits the search operation. The Panelize button will place the found files to the current directory panel so that you can do additional operations on them (view, copy, move, delete and so on). To return to the normal file listing, change directory to "..".

The 'Enable ignore directories' checkbox and input field below it allow one to set up the list of directories that should be skip during the search files (for example, you may want to avoid searches on a CD-ROM or on a NFS directory that is mounted across a slow link). List components must be separated with a colon, here is an example:

/cdrom:/nfs/wuarchive:/afs

Relative paths are supported also. The following example shows how to skip special directories of version control systems:

/cdrom:/nfs/wuarchive:/afs:.svn:.git:CVS

Attention: input field can contain a dot (.), this means the current absolute path.

You may consider using the External panelize command for some operations. Find file command is for simple queries only, while using External panelize you can do as mysterious searches as you would like.

External panelize

The External panelize allows you to execute an external program, and make the output of that program the contents of the current panel.

For example, if you want to manipulate in one of the panels all the symbolic links in the current directory, you can use external panelization to run the following command:

find . -type l -print

Upon command completion, the directory contents of the panel will no longer be the directory listing of the current directory, but all the files that are symbolic links.

If you want to panelize all of the files that have been downloaded from your FTP server, you can use this awk command to extract the file name from the transfer log files:

awk '$9 ~! /incoming/ { print $9 }' < /var/log/xferlog

You may want to save often used panelize commands under a descriptive name, so that you can recall them quickly. You do this by typing the command on the input line and pressing Add new button. Then you enter a name under which you want the command to be saved. Next time, you just choose that command from the list and do not have to type it again.

Hotlist

The Directory hotlist command shows the labels of the directories in the directory hotlist. Midnight Commander will change to the directory corresponding to the selected label. From the hotlist dialog, you can remove already created label/directory pairs and add new ones. To add new directories quickly, you can use the Add to hotlist command (C-x h), which adds the current directory into the directory hotlist, asking just for the label for the directory.

This makes cd to often used directories faster. You may consider using the CDPATH variable as described in internal cd command description.

Edit Extension File

This will invoke your editor on the file ~/.config/mc/mc.ext. The format of this file following:

All lines starting with # or empty lines are thrown away.

Lines starting in the first column should have following format:

keyword/expr, i.e. everything after the slash until new line is expr.

keyword can be:

shell

- expr is an extension (no wildcards). File matches it its name ends with expr. Example: shell/.tar matches *.tar.

regex

- expr is a regular expression. File matches if its name matches the regular expression.

directory

- expr is a regular expression. File matches if it is a directory and its name matches the regular expression.

type

- expr is a regular expression. File matches if the output of file %f without the initial "filename:" part matches regular expression expr.

default

- matches any file. expr is ignored.

include

- denotes a common section. expr is the name of the section.

Other lines should start with a space or tab and should be of the format: keyword=command (with no spaces around =), where keyword should be: Open (invoked on Enter or double click), View (F3), Edit (F4) or Include (to add rules from the common section). command is any one-line shell command, with the simple macro substitution.

Rules are matched from top to bottom, thus the order is important. If the appropriate action is missing, search continues as if this rule didn't match (i.e. if a file matches the first and second entry and View action is missing in the first one, then on pressing F3 the View action from the second entry will be used). default should match all the actions.

Background Jobs

This lets you control the state of any background Midnight Commander process (only copy and move files operations can be done in the background). You can stop, restart and kill a background job from here.

Edit Menu File

The user menu is a menu of useful actions that can be customized by the user. When you access the user menu, the file .mc.menu from the current directory is used if it exists, but only if it is owned by user or root and is not world-writable. If no such file found, ~/.config/mc/menu is tried in the same way, and otherwise mc uses the default system-wide menu /usr/share/mc/mc.menu.

The format of the menu file is very simple. Lines that start with anything but space or tab are considered entries for the menu (in order to be able to use it like a hot key, the first character should be a letter). All the lines that start with a space or a tab are the commands that will be executed when the entry is selected.

When an option is selected all the command lines of the option are copied to a temporary file in the temporary directory (usually /usr/tmp) and then that file is executed. This allows the user to put normal shell constructs in the menus. Also simple macro substitution takes place before executing the menu code. For more information, see macro substitution.

Here is a sample mc.menu file:

A       Dump the currently selected file

od -c %f

B       Edit a bug report and send it to root

I=`mktemp ${MC_TMPDIR:-/tmp}/mail.XXXXXX` || exit 1

vi $I

mail -s "Midnight Commander bug" root < $I

rm -f $I

M       Read mail

emacs -f rmail

N       Read Usenet news

emacs -f gnus

H       Call the info hypertext browser

info

J       Copy current directory to other panel recursively

tar cf - . | (cd %D && tar xvpf -)

K       Make a release of the current subdirectory

echo -n "Name of distribution file: "

read tar

ln -s %d `dirname %d`/$tar

cd ..

tar cvhf ${tar}.tar $tar

= f *.tar.gz | f *.tgz & t n

X       Extract the contents of a compressed tar file

tar xzvf %f

Default Conditions

Each menu entry may be preceded by a condition. The condition must start from the first column with a '=' character. If the condition is true, the menu entry will be the default entry.

Condition syntax:       = <sub-cond>

or:                   = <sub-cond> | <sub-cond> ...

or:                   = <sub-cond> & <sub-cond> ...

Sub-condition is one of following:

y <pattern>           syntax of current file matching pattern?

(for edit menu only)

f <pattern>           current file matching pattern?

F <pattern>           other file matching pattern?

d <pattern>           current directory matching pattern?

D <pattern>           other directory matching pattern?

t <type>              current file of type?

T <type>              other file of type?

x <filename>          is it executable filename?

! <sub-cond>          negate the result of sub-condition

Pattern is a normal shell pattern or a regular expression, according to the shell patterns option. You can override the global value of the shell patterns option by writing "shell_patterns=x" on the first line of the menu file (where "x" is either 0 or 1).

Type is one or more of the following characters:

n     not a directory

r     regular file

d     directory

l     link

c     character device

b     block device

f     FIFO (pipe)

s     socket

x     executable file

t     tagged

For example 'rlf' means either regular file, link or fifo. The 't' type is a little special because it acts on the panel instead of the file. The condition '=t t' is true if there are tagged files in the current panel and false if not.

If the condition starts with '=?' instead of '=' a debug trace will be shown whenever the value of the condition is calculated.

The conditions are calculated from left to right. This means

= f *.tar.gz | f *.tgz & t n

is calculated as

( (f *.tar.gz) | (f *.tgz) ) & (t n)

Here is a sample of the use of conditions:

= f *.tar.gz | f *.tgz & t n

L       List the contents of a compressed tar-archive

gzip -cd %f | tar xvf -

Addition Conditions

If the condition begins with '+' (or '+?') instead of '=' (or '=?') it is an addition condition. If the condition is true the menu entry will be included in the menu. If the condition is false the menu entry will not be included in the menu.

You can combine default and addition conditions by starting condition with '+=' or '=+' (or '+=?' or '=+?' if you want debug trace). If you want to use two different conditions, one for adding and another for defaulting, you can precede a menu entry with two condition lines, one starting with '+' and another starting with '='.

Comments are started with '#'. The additional comment lines must start with '#', space or tab.

Options Menu

Midnight Commander has some options that may be toggled on and off in several dialogs which are accessible from this menu. Options are enabled if they have an asterisk or "x" in front of them.

The Configuration command pops up a dialog from which you can change most of settings of Midnight Commander.

The Layout command pops up a dialog from which you specify a bunch of options how mc looks like on the screen.

The Panel options command pops up a dialog from which you specify options of file manager panels.

The Confirmation command pops up a dialog from which you specify which actions you want to confirm.

The Appearance command pops up a dialog from which you specify the skin.

The Display bits command pops up a dialog from which you may select which characters is your terminal able to display.

The Learn keys command pops up a dialog from which you test some keys which are not working on some terminals and you may fix them.

The Virtual FS command pops up a dialog from which you specify some VFS related options.

The Save setup command saves the current settings of the Left, Right and Options menus. A small number of other settings is saved, too.

Configuration

The options in this dialog are divided into several groups: "File operation options", "Esc key mode", "Pause after run" and "Other options".

File operation options

Verbose operation. This toggles whether the file Copy, Rename and Delete operations are verbose (i.e., display a dialog box for each operation). If you have a slow terminal, you may wish to disable the verbose operation. It is automatically turned off if the speed of your terminal is less than 9600 bps.

Compute totals. If this option is enabled, Midnight Commander computes total byte sizes and total number of files prior to any Copy, Rename and Delete operations. This will provide you with a more accurate progress bar at the expense of some speed. This option has no effect, if Verbose operation is disabled.

Classic progressbar. If this option is enabled, the progressbar of Copy/Move/Delete operations is always grown form left to right. If disabled, the growing direction of progressbar follows to direction of Copy/Move/Delete operation: from left panel to right one and vice versa. Enabled by default.

Mkdir autoname. When you press F7 to create a new directory, the input line in popup dialog will be filled by name of current file or directory in active panel. Disabled by default.

Preallocate space. Preallocate space for whole target file, if possible, before copy operation. Disabled by default.

Esc key mode.

By default, Midnight Commander treats the ESC key as a key prefix. Therefore, you should press Esc code twice to exit a dialog. But there is a possibility to use a single press of ESC key for that action.

Single press. By default this option is disabled. If you'll enable it, the ESC key will act as a prefix key for set up time interval (see Timeout option below), and if no extra keys have arrived, then the ESC key is interpreted as a cancel key (ESC ESC).

Timeout. This options is used to setup the time interval (in microseconds) for single press of ESC key. By default, this interval is one second (1000000 microseconds). Also the timeout can be set via KEYBOARD_KEY_TIMEOUT_US environment variable (also in microseconds), which has higher priority than Timeout option value.

Pause after run

After executing your commands, Midnight Commander can pause, so that you can examine the output of the command. There are three possible settings for this variable:

Never. Means that you do not want to see the output of your command. If you are using the Linux or FreeBSD console or an xterm, you will be able to see the output of the command by typing C-o.

On dumb terminals. You will get the pause message on terminals that are not capable of showing the output of the last command executed (any terminal that is not an xterm or the Linux console).

Always. The program will pause after executing all of your commands.

Other options

Use internal editor. If this option is enabled, the built-in file editor is used to edit files. If the option is disabled, the editor specified in the EDITOR environment variable is used. If no editor is specified, vi is used. See the section on the internal file editor.

Use internal viewer. If this option is enabled, the built-in file viewer is used to view files. If the option is disabled, the pager specified in the PAGER environment variable is used. If no pager is specified, the view command is used. See the section on the internal file viewer.

Ask new file name. If this option is enabled, file name is asked before open new file in editor.

Auto menus. If this option is enabled, the user menu will be invoked at startup. Useful for building menus for non-unixers.

Drop down menus. When this option is enabled, the pull down menus will be activated as soon as you press the F9 key. Otherwise, you will only get the menu title, and you will have to activate the menu either with the arrow keys or with the hotkeys. It is recommended if you are using hotkeys.

Shell Patterns. By default the Select, Unselect and Filter commands will use shell-like regular expressions. The following conversions are performed to achieve this: the '*' is replaced by '.*' (zero or more characters); the '?' is replaced by '.' (exactly one character) and '.' by the literal dot. If the option is disabled, then the regular expressions are the ones described in ed(1).

Complete: show all. By default, Midnight Commander pops up all possible completions if the completion is ambiguous only when you press Alt-Tab for the second time. For the first time, it just completes as much as possible and beeps in the case of ambiguity. Enable this option if you want to see all possible completions even after pressing Alt-Tab the first time.

Rotating dash. If this option is enabled, the Midnight Commander shows a rotating dash in the upper right corner as a work in progress indicator.

Cd follows links. This option, if set, causes Midnight Commander to follow the logical chain of directories when changing current directory either in the panels, or using the cd command. This is the default behavior of bash. When unset, Midnight Commander follows the real directory structure, so cd .. if you've entered that directory through a link will move you to the current directory's real parent and not to the directory where the link was present.

Safe delete. If this option is enabled, deleting files and directory hotlist entries unintentionally becomes more difficult. The default selection in the confirmation dialogs for deletion changes from "Yes" to "No". This option is disabled by default.

Auto save setup. If this option is enabled, when you exit Midnight Commander, the configurable options of Midnight Commander are saved in the ~/.config/mc/ini file.

Layout

The layout dialog gives you a possibility to change the general layout of screen. The options in this dialog are divided into several groups: "Panel split", "Console output" and "Other options".

Panel split

The rest of the screen area is used for the two directory panels. You can specify whether the area is split to the panels in Vertical or Horizontal direction. Panel layout can be changed using Alt-, (Alt-comma) shortcut.

Equal split. By default, panels have equal sizes. Using this option you can specify an unequal split.

Console output

On the Linux or FreeBSD console you can specify how many lines are shown in the output window. This option is available if Midnight Commander runs on native console only.

Other options

Menu bar visible. If enabled, main menu of Midnight Commander is always visible on the top row of screen above panels. Enabled by default.

Command prompt. If enabled, command line is available. Enabled by default.

Keybar visible. If enabled, 10 labels associated with F1-F10 keys are located at the bottom row of screen. Enabled by default.

Hintbar visible. If enabled, the one-line hints are visible below panels. Enabled by default.

XTerm window title. When run in a terminal emulator for X11, Midnight Commander sets the terminal window title to the current working directory and updates it when necessary. If your terminal emulator is broken and you see some incorrect output on startup and directory change, turn off this option. Enabled by default.

Show free space. If enabled, free space and total space of current file system is shown at the bottom frame of panel. Enabled by default.

Panel options

Main panel options

Show mini-status. If enabled, one line of status information about the currently selected item is shown at the bottom of the panels. Enabled by default.

Use SI size units. If this option is enabled, Midnight Commander will use SI prefixes (base 10) when displaying any byte sizes. If disabled (default), Midnight Commander will use IEC prefixes (base 2).

Mix all files. If this option is enabled, all files and directories are shown mixed together. If the option is disabled (default), directories (and links to directories) are shown at the beginning of the listing, and other files below.

Show backup files. If enabled, Midnight Commander will show files ending with a tilde. Otherwise, they won't be shown (like GNU's ls option -B). Enabled by default.

Show hidden files. If enabled, Midnight Commander will show all files that start with a dot (like ls -a). Disabled by default.

Fast directory reload. If this option is enabled, Midnight Commander will use a trick to determine if the directory contents have changed. The trick is to reload the directory only if the i-node of the directory has changed; this means that reloads only happen when files are created or deleted. If what changes is the i-node for a file in the directory (file size changes, mode or owner changes, etc) the display is not updated. In these cases, if you have the option on, you have to rescan the directory manually (with C-r). Disabled by default.

Mark moves down. If enabled, the selection bar will move down when you mark a file (with Insert key). Enabled by default.

Reverse files only. Allow revert selection of files only. Enabled by default. If enabled, the reverse selection is applied to files only, not to directories. The selection of directories is untouched. If off, the reverse selection is applied to files as well to directories: all unselected items become selected, and vice versa.

Simple swap. If both panels contain file listing, simple swap means that panels exchange its screen positions: left panel become right one, and vice versa. If this option is unchecked, file listing panels exchange its content keeping listing format and sort options. Unchecked by default.

Auto save panels setup. If this option is enabled, when you exit Midnight Commander, the current settings of panels are saved in the ~/.config/mc/panels.ini file. Disabled by default.

Navigation

Lynx-like motion. If this option is enabled, you may use the arrows keys to automatically chdir if the current selection is a subdirectory and the shell command line is empty. By default, this setting is off.

Page scrolling. If set (the default), panel will scroll by half the display when the cursor reaches the end or the beginning of the panel, otherwise it will just scroll a file at a time.

Center scrolling. If set, panel will scroll when the cursor reaches the middle of the panel column, only hitting the top or bottom of the panel when actually on the first or last file. This behavior applies when scrolling one file at a time, and does not apply to the page up/down keys.

Mouse page scrolling. Controls whenever scrolling with the mouse wheel is done by pages or line by line on the panels.

File highlight

You can specify whether permissions and file types should be highlighted with distinctive Colors. If the permission highlighting is enabled, the parts of the perm and mode display fields which apply to the user running Midnight Commander are highlighted with the color defined by the selected keyword. If the file type highlighting is enabled, file names are colored according to rules described in /etc/mc/filehighlight.ini file. See Filenames Highlight for more info.

Quick search

You can specify how the Quick search mode should work: case insensitively, case sensitively or be matched to the panel sort order: case sensitive or not.

Confirmation

In this dialog you configure the confirmation options for file deletion, overwriting files, execution by pressing enter, quitting the program, directory hotlist entries deletion and history cleanup.

Appearance

In this dialog you can select the skin to be used.

See the Skins section for technical details about the skin definition files.

Display bits

This is used to configure the range of visible characters on the screen. This setting may be 7-bits if your terminal/curses supports only seven output bits, ISO-8859-1 displays all the characters in the ISO-8859-1 map and full 8 bits is for those terminals that can display full 8 bit characters.

Learn keys

This dialog allows you to test and redefine functional keys, cursor arrows and some other keys to make them work properly on your terminal. They often don't, since many terminal databases are incomplete or broken.

You can move around with the Tab key and with the vi moving keys ('h' left, 'j' down, 'k' up and 'l' right). Once you press any cursor movement key and it is recognized, you can use that key as well.

You can test keys just by pressing each of them. When you press a key and it is recognized properly, OK should appear next to the name of that key. Once a key is marked OK it starts working as usually, e.g. F1 pressed the first time will just check that the F1 key works, but after that it will show help. The same applies to the arrow keys. The Tab key should be working always.

If some keys do not work properly then you won't see OK appear after pressing one of these. Then you may want to redefine it. Do it by pressing the button with the name of that key (either by the mouse or by Enter or Space after selecting the button with Tab or arrows). Then a message box will appear asking you to press that key. Do it and wait until the message box disappears. If you want to abort, just press Escape once and wait.

When you finish with all the keys, you can Save them. The definitions for the keys you have redefined will be written into the [terminal:TERM] section of your ~/.config/mc/ini file (where TERM is the name of your current terminal). The definitions of the keys that were already working properly are not saved.

Virtual FS

This option gives you control over the settings of the Virtual File System.

Midnight Commander keeps in memory the information related to some of the virtual file systems to speed up the access to the files in the file system (for example, directory listings fetched from FTP servers).

Also, in order to access the contents of compressed files (for example, compressed tar files), Midnight Commander needs to create temporary uncompressed files on your disk.

Since both the information in memory and the temporary files on disk take up resources, you may want to tune the parameters of the cached information to decrease your resource usage or to maximize the speed of access to frequently used file systems.

Because of the format of the tar archives, the Tar filesystem needs to read the whole file just to load the file entries. Since most tar files are usually kept compressed (plain tar files are species in extinction), the tar file system has to uncompress the file on the disk in a temporary location and then access the uncompressed file as a regular tar file.

Now, since we all love to browse files and tar files all over the disk, it's common that you will leave a tar file and then re-enter it later. Since decompression is slow, Midnight Commander will cache the information in memory for a limited time. When the timeout expires, all the resources associated with the file system are released. The default timeout is set to one minute.

The FTP File System (ftpfs) allows you to browse directories on remote FTP servers. It has several options.

ftp anonymous password is the password used when you login as "anonymous". Some sites require a valid e-mail address. On the other hand, you probably don't want to give your real e-mail address to untrusted sites, especially if you are not using spam filtering.

ftpfs keeps the directory listing it fetches from a FTP server in a cache. The cache expire time is configurable with the ftpfs directory cache timeout option. A low value for this option may slow down every operation on the ftpfs because every operation would require sending a request to the FTP server.

You can define an FTP proxy host for doing FTP. Note that most modern firewalls are fully transparent at least for passive FTP (see below), so FTP proxies are considered obsolete.

If Always use ftp proxy is not set, you can use the exclamation sign to enable proxy for certain hosts. See FTP File System for examples.

If this option is set, the program will do two things: consult the /usr/lib/mc/mc.no_proxy file for lines containing host names that are local (if the host name starts with a dot, it is assumed to be a domain) and to assume that any hostnames without dots in their names are directly accessible. All other hosts will be accessed through the specified FTP proxy.

You can enable using ~/.netrc file, which keeps login names and passwords for ftp servers. See netrc (5) for the description of the .netrc format.

Use passive mode enables using FTP passive mode, when the connection for data transfer is initiated by the client, not by the server. This option is recommended and enabled by default. If this option is turned off, the data connection is initiated by the server. This may not work with some firewalls.

Save Setup

At startup, Midnight Commander will try to load initialization information from the ~/.config/mc/ini file. If this file doesn't exist, it will load the information from the system-wide configuration file, located in /usr/share/mc/mc.ini. If the system-wide configuration file doesn't exist, MC uses the default settings.

The Save Setup command creates the ~/.config/mc/ini file by saving the current settings of the Left, Right and Options menus.

If you activate the auto save setup option, MC will always save the current settings when exiting.

There also exist settings which can't be changed from the menus. To change these settings you have to edit the setup file with your favorite editor. See the section on Special Settings for more information.

Executing operating system commands

You may execute commands by typing them directly in Midnight Commander's input line, or by selecting the program you want to execute with the selection bar in one of the panels and hitting Enter.

If you press Enter over a file that is not executable, Midnight Commander checks the extension of the selected file against the extensions in the Extensions File. If a match is found then the code associated with that extension is executed. A very simple macro expansion takes place before executing the command.

The cd internal command

The cd command is interpreted by Midnight Commander, it is not passed to the command shell for execution. Thus it may not handle all of the nice macro expansion and substitution that your shell does, although it does some of them:

Tilde substitution. The (~) will be substituted with your home directory, if you append a username after the tilde, then it will be substituted with the login directory of the specified user.

For example, ~guest is the home directory for the user guest, while ~/guest is the directory guest in your home directory.

Previous directory. You can jump to the directory you were previously by using the special directory name '-' like this: cd -

CDPATH directories. If the directory specified to the cd command is not in the current directory, then Midnight Commander uses the value in the environment variable CDPATH to search for the directory in any of the named directories.

For example you could set your CDPATH variable to ~/src:/usr/src, allowing you to change your directory to any of the directories inside the ~/src and /usr/src directories, from any place in the file system by using its relative name (for example cd linux could take you to /usr/src/linux).

Macro Substitution

When accessing a user menu, or executing an extension dependent command, or running a command from the command line input, a simple macro substitution takes place.

The macros are:

%i

The indent of blank space, equal the cursor column position. For edit menu only.

%y

The syntax type of current file. For edit menu only.

%k

The block file name.

%e

The error file name.

%m

The current menu name.

%f and %p

The current file name.

%x

The extension of current file name.

%b

The current file name without extension.

%d

The current directory name.

%F

The current file in the unselected panel.

%D

The directory name of the unselected panel.

%t

The currently tagged files.

%T

The tagged files in the unselected panel.

%u and %U

Similar to the %t and %T macros, but in addition the files are untagged. You can use this macro only once per menu file entry or extension file entry, because next time there will be no tagged files.

%s and %S

The selected files: The tagged files if there are any. Otherwise the current file.

%cd

This is a special macro that is used to change the current directory to the directory specified in front of it. This is used primarily as an interface to the Virtual File System.

%view

This macro is used to invoke the internal viewer. This macro can be used alone, or with arguments. If you pass any arguments to this macro, they should be enclosed in brackets.

The arguments are: ascii to force the viewer into ascii mode; hex to force the viewer into hex mode; nroff to tell the viewer that it should interpret the bold and underline sequences of nroff; unformatted to tell the viewer to not interpret nroff commands for making the text bold or underlined.

%%

The % character

%{some text}

Prompt for the substitution. An input box is shown and the text inside the braces is used as a prompt. The macro is substituted by the text typed by the user. The user can press ESC or F10 to cancel. This macro doesn't work on the command line yet.

%var{ENV:default}

If environment variable ENV is unset, the default is substituted. Otherwise, the value of ENV is substituted.

The subshell support

The subshell support is a compile time option, that works with the shells: bash, ash (BusyBox and Debian), tcsh, zsh and fish.

When the subshell support is active, Midnight Commander will spawn a concurrent copy of your shell (the one defined in the SHELL variable and if it is not defined, then the one in the /etc/passwd file) and run it in a pseudo terminal, instead of invoking a new shell each time you execute a command, the command will be passed to the subshell as if you had typed it. This also allows you to change the environment variables, use shell functions and define aliases that are valid until you quit Midnight Commander.

bash users may specify startup commands in ~/.local/share/mc/bashrc (fallback ~/.bashrc) and special keyboard maps in ~/.local/share/mc/inputrc (fallback ~/.inputrc).

ash/dash users (BusyBox or Debian) may specify startup commands in ~/.local/share/mc/ashrc (fallback ~/.profile).

tcsh, zsh, fish users cannot specify mc-specific startup commands at present. They have to rely on shell-specific startup files.

The following paragraphs are relevant only when the subshell support is active:

You can suspend applications at any time with the sequence C-o and jump back to Midnight Commander, if you interrupt an application, you will not be able to run other external commands until you quit the application you interrupted.

The basic prompt displayed by Midnight Commander is of the form "user@host:current_path$ ". When using a capable shell, like Bash, the prompt displayed by Midnight Commander will be the same prompt that you are currently using in your shell.

(There's a known problem when using fish: the prompt is displayed only in full screen mode (Ctrl-o), not when the panels are visible.)

The OPTIONS section has more information on how you can control subshell usage (-U/-u). Furthermore, to set a specific subshell different from your current SHELL variable or login shell defined in /etc/passwd, you may call MC like this: SHELL=/bin/myshell mc

Chmod

The Chmod window is used to change the attribute bits in a group of files and directories. It can be invoked with the C-x c key combination.

The Chmod window has two parts - Permissions and File.

In the File section are displayed the name of the file or directory and its permissions in octal form, as well as its owner and group.

In the Permissions section there is a set of check buttons which correspond to the file attribute bits. As you change the attribute bits, you can see the octal value change in the File section.

To move between the widgets (buttons and check buttons) use the arrow keys or the Tab key. To change the state of the check buttons or to select a button use Space. You can also use the hotkeys on the buttons to quickly activate them. Hotkeys are shown as highlighted letters on the buttons.

To set the attribute bits, use the Enter key.

When working with a group of files or directories, you just click on the bits you want to set or clear. Once you have selected the bits you want to change, you select one of the action buttons (Set marked or Clear marked).

Finally, to set the attributes exactly to those specified, you can use the [Set all] button, which will act on all the tagged files.

[Marked all] set only marked attributes to all selected files

[Set marked] set marked bits in attributes of all selected files

[Clean marked] clear marked bits in attributes of all selected files

[Set] set the attributes of one file

[Cancel] cancel the Chmod command

Chown

The Chown command is used to change the owner/group of a file. The hot key for this command is C-x o.

Advanced Chown

The Advanced Chown command is the Chmod and Chown command combined into one window. You can change the permissions and owner/group of files at once.

File Operations

When you copy, move or delete files, Midnight Commander shows the file operations dialog. It shows the files currently being processed and uses up to three progress bars. The file bar indicates the percentage of the current file that has been processed so far. The count bar shows how many of the tagged files have been handled. The bytes bar indicates the percentage of the total size of the tagged files that has been handled. If the verbose option is off, the file and bytes bars are not shown.

There are two buttons at the bottom of the dialog. Pressing the Skip button will skip the rest of the current file. Pressing the Abort button will abort the whole operation, the rest of the files are skipped.

There are three other dialogs which you can run into during the file operations.

The error dialog informs about error conditions and has three choices. Normally you select either the Skip button to skip the file or the Abort button to abort the operation altogether. You can also select the Retry button if you fixed the problem from another terminal.

The replace dialog is shown when you attempt to copy or move a file on the top of an existing file. The dialog shows the dates and sizes of the both files. Press the Yes button to overwrite the file, the No button to skip the file, the All button to overwrite all the files, the None button to never overwrite and the Update button to overwrite if the source file is newer than the target file. You can abort the whole operation by pressing the Abort button.

The recursive delete dialog is shown when you try to delete a directory which is not empty. Press the Yes button to delete the directory recursively, the No button to skip the directory, the All button to delete all the directories and the None button to skip all the non-empty directories. You can abort the whole operation by pressing the Abort button. If you selected the Yes or All button you will be asked for a confirmation. Type "yes" only if you are really sure you want to do the recursive delete.

If you have tagged files and perform an operation on them only the files on which the operation succeeded are untagged. Failed and skipped files are left tagged.

Mask Copy/Rename

The copy/move operations let you translate the names of files in an easy way. To do it, you have to specify the correct source mask and usually in the trailing part of the destination specify some wildcards. All the files matching the source mask are copied/renamed according to the target mask. If there are tagged files, only the tagged files matching the source mask are renamed.

There are other options which you can set:

Follow links

determines whether make the symlinks and hardlinks in the source directory (recursively in subdirectories) new links in the target directory or whether would you like to copy their content.

Dive into subdirs

determines the behavior when the source directory is about to be copied, but the target directory already exists. The default action is to copy the contents of the source directory into the target directory. Enabling this option causes copying the source directory itself into the target directory.

For example, you want to copy directory /foo containing file bar to /bla/foo, which is an already existing directory. Normally (when Dive into subdirs is not set), mc would copy file /foo/bar into the file /bla/foo/bar. By enabling this option the /bla/foo/foo directory will be created, and /foo/bar will be copied into /bla/foo/foo/bar.

Preserve attributes

determines whether to preserve the permissions, timestamps and (if you are root) the ownership of the original files. If this option is not set, the current value of the umask will be respected.

Use shell patterns

When this option is on you can use the '*' and '?' wildcards in the source mask. They work like they do in the shell. In the target mask only the '*' and '\<digit>' wildcards are allowed. The first '*' wildcard in the target mask corresponds to the first wildcard group in the source mask, the second '*' corresponds to the second group and so on. The '\1' wildcard corresponds to the first wildcard group in the source mask, the '\2' wildcard corresponds to the second group and so on all the way up to '\9'. The '\0' wildcard is the whole filename of the source file.

Two examples:

If the source mask is "*.tar.gz", the destination is "/bla/*.tgz" and the file to be copied is "foo.tar.gz", the copy will be "foo.tgz" in "/bla".

Suppose you want to swap basename and extension so that "file.c" would become "c.file" and so on. The source mask for this is "*.*" and the destination is "\2.\1".

Use shell patterns off

When the shell patterns option is off the MC doesn't do automatic grouping anymore. You must use '\(...\)' expressions in the source mask to specify meaning for the wildcards in the target mask. This is more flexible but also requires more typing. Otherwise target masks are similar to the situation when the shell patterns option is on.

Two examples:

If the source mask is "^\(.*\)\.tar\.gz$", the destination is "/bla/*.tgz" and the file to be copied is "foo.tar.gz", the copy will be "/bla/foo.tgz".

Let's suppose you want to swap basename and extension so that "file.c" will become "c.file" and so on. The source mask for this is "^\(.*\)\.\(.*\)$" and the destination is "\2.\1".

Case Conversions

You can also change the case of the filenames. If you use '\u' or '\l' in the target mask, the next character will be converted to uppercase or lowercase correspondingly.

If you use '\U' or '\L' in the target mask, the next characters will be converted to uppercase or lowercase correspondingly up to the next '\E' or next '\U', '\L' or the end of the file name.

The '\u' and '\l' are stronger than '\U' and '\L'.

For example, if the source mask is '*' ( Use shell patterns on) or '^\(.*\)$' ( Use shell patterns off) and the target mask is '\L\u*' the file names will be converted to have initial upper case and otherwise lower case.

You can also use '\' as a quote character. For example, '\\' is a backslash and '\*' is an asterisk.

Stable symlinks

commands Midnight Commander, that it should change symlinks in the target, so that they'll point to the same location as it did before. With absolute symbolic links this does nothing, but if you have a relative one, it will recompute its value, adding necessary ../ and other directory parts and making the value as short as possible (most modern filesystems keep short symlinks inside inodes and thus don't waste much disk space).

Select/Unselect Files

The dialog of group of files and directories selection or uselection. The input line allow enter the regular expression of filenames that will be selected/unselected.

When Files only checkbox is on, only files will be selected. If Files only is off, as files as directories will be selected. When Shell Patterns checkbox is on, the regular expression is much like the filename globbing in the shell (* standing for zero or more characters and ? standing for one character). If Shell Patterns is off, then the tagging of files is done with normal regular expressions (see ed (1)). When Case sensitive checkbox is on, the selection will be case sensitive characters. If Case sensitive is off, the case will be ignored.

Internal Diff Viewer

The mcdiff is a visual diff tool. You can compare two files and edit them in-place (diffs are updated dynamically). You can browse and view a working copy from popular version control systems (GIT, Subversion, etc).

Following shortcuts are available in internal diff viewer of Midnight Commander.

F1 Invoke the built-in hypertext help viewer.

F2 Save modified files.

F4 Edit file of the left panel in the internal editor.

F14 Edit file of the right panel in the internal editor.

F5 Merge the current hunk. Only the current hunk will be merged.

F7 Start search.

F17 Continue search.

F10, Esc, q Exit from diff viewer.

Alt-s, s Toggle show of hunk status.

Alt-n, l Toggle show of line numbers.

f Maximize left panel.

= Make panels equal in width.

> Reduce the size of the right panel.

< Reduce the size of the left panel.

c Toggle show of trailing carriage return (CR) symbol as ^M.

2, 3, 4, 8 Set tabulation size

C-u Swap contents of diff panels.

C-r Refresh the screen.

C-o Switch to the subshell and show the command screen.

Enter, Space, n Find next diff hunk.

Backspace, p Find previous diff hunk.

g Go to line.

Down Scroll one line forward.

Up Scroll one line backward.

PageUp Move one page up.

PageDown Mves one page down.

Home, A1 Moves to the line beginning.

End Moves to the line end.

C-Home Move to the file beginning.

C-End, C1 Move to the file end.

Internal File Viewer

The internal file viewer provides two display modes: ASCII and hex. To toggle between modes, use the F4 key.

The viewer will try to use the best method provided by your system or the file type to display the information. Some character sequences, which appear most often in preformatted manual pages, are displayed bold and underlined, thus making a pretty display of your files.

When in hex mode, the search function accepts text in quotes and constant numbers. Text in quotes is matched exactly after removing the quotes. Each number matches one byte. You can mix quoted text with constants like this:

"String" 34 0xBB 012 "more text"

Numbers are always interpreted in hex. In the example above, "34" is interpreted as 0x34. The prefix "0x" isn't really needed: we could type "BB" instead of "0xBB". And "012" is interpreted as 0x12, not as an octal number.

Here is a listing of the actions associated with each key that the Midnight Commander handles in the internal file viewer.

F1 Invoke the built-in hypertext help viewer.

F2 Toggle the wrap mode.

F4 Toggle the hex mode.

F5 Goto line. This will prompt you for a line number and will display that line.

F6, /. Regular expression search.

?, Reverse regular expression search.

F7 Normal search / hex mode search.

C-s, F17, n. Start normal search if there was no previous search expression else find next match.

C-r. Start reverse search if there was no previous search expression else find next match.

F8 Toggle Raw/Parsed mode: This will show the file as found on disk or if a processing filter has been specified in the mc.ext file, then the output from the filter. Current mode is always the other than written on the button label, since on the button is the mode which you enter by that key.

F9 Toggle the format/unformat mode: when format mode is on the viewer will interpret some string sequences to show bold and underline with different colors. Also, on button label is the other mode than current.

F10, Esc. Exit the internal file viewer.

next-page, space, C-v. Scroll one page forward.

prev-page, Alt-v, C-b, Backspace. Scroll one page backward.

down-key Scroll one line forward.

up-key Scroll one line backward.

C-l Refresh the screen.

C-o Switch to the subshell and show the command screen.

[n] m Set the mark n.

[n] r Jump to the mark n.

C-f Jump to the next file.

C-b Jump to the previous file.

Alt-r Toggle the ruler.

Alt-e to change charset of displayed text may use M-e (Alt-e). Recoding is made from selected codepage into system codepage. To cancel the recoding you may select "<No translation>" in charset selection dialog.

It's possible to instruct the file viewer how to display a file, look at the Edit Extension File section

Internal File Editor

The internal file editor is a full-featured full screen editor. It can edit files up to 64 megabytes. It is possible to edit binary files. The internal file editor is invoked using F4 if the use_internal_edit option is set in the initialization file.

The features it presently supports are: block copy, move, delete, cut, paste; key for key undo; pull-down menus; file insertion; macro commands; regular expression search and replace; shift-arrow text highlighting (if supported by the terminal); insert-overwrite toggle; word wrap; autoindent; tunable tab size; syntax highlighting for various file types; and an option to pipe text blocks through shell commands like indent and ispell.

Sections:

Options of editor in ini-file

The editor is very easy to use and requires no tutoring. To see what keys do what, just consult the appropriate pull-down menu. Other keys are: Shift movement keys do text highlighting. Ctrl-Ins copies to the file mcedit.clip and Shift-Ins pastes from mcedit.clip. Shift-Del cuts to mcedit.clip, and Ctrl-Del deletes highlighted text. Mouse highlighting also works, and you can override the mouse as usual by holding down the shift key while dragging the mouse to let normal terminal mouse highlighting work.

To define a macro, press Ctrl-R and then type out the key strokes you want to be executed. Press Ctrl-R again when finished. You can then assign the macro to any key you like by pressing that key. The macro is executed when you press Ctrl-A and then the assigned key. The macro is also executed if you press Meta, Ctrl, or Esc and the assigned key, provided that the key is not used for any other function. Once defined, the macro commands go into the file ~/.local/share/mc/mcedit/mcedit.macros You can delete a macro by deleting the appropriate line in this file.

To change charset of displayed text may use M-e (Alt-e). Recoding is made from selected codepage into system codepage. To cancel the recoding you may select "<No translation>" in charset selection dialog.

F19 will format the currently highlighted block (plain text or C or C++ code or another). This is controlled by the file /usr/share/mc/edit.indent.rc which is copied to ~/.local/share/mc/mcedit/edit.indent.rc in your home directory the first time you use it.

The editor also displays non-us characters (160+). When editing binary files, you should set display bits to 7 bits in the options menu to keep the spacing clean.

Options of editor in ini-file

Some editor options of ini-file are described in this section. Options are placed in [Midnight-Commander] section

editor_wordcompletion_collect_entire_file

Search autocomplete candidates in entire of file or just from begin of file to cursor position (0)

Screen selector

Midnight Commander supports running many internal modules (such as editor, viewer and diff viewer) simultaneously and switching between them without closing open files. Using several file managers at a time, however, is not currently supported.

Let's call each of these modules a screen. There are three ways to switch between screens, using one of these global shortcuts:

Alt-}

switch to the next screen;

Alt-{

switch to the previous screen;

Alt-`

open a dialog window with the list of currently open screens (or use the "Screen list" menu item).

Completion

Let Midnight Commander type for you.

Attempt to perform completion on the text before current position. MC attempts completion treating the text as variable (if the text begins with $), username (if the text begins with ~), hostname (if the text begins with @) or command (if you are on the command line in the position where you might type a command, possible completions then include shell reserved words and shell built-in commands as well) in turn. If none of these matches, filename completion is attempted.

Filename, username, variable and hostname completion works on all input lines, command completion is command line specific. If the completion is ambiguous (there are more different possibilities), MC beeps and the following action depends on the setting of the Complete: show all option in the Configuration dialog. If it is enabled, a list of all possibilities pops up next to the current position and you can select with the arrow keys and Enter the correct entry. You can also type the first letters in which the possibilities differ to move to a subset of all possibilities and complete as much as possible. If you press Alt-Tab again, only the subset will be shown in the listbox, otherwise the first item which matches all the previous characters will be highlighted. As soon as there is no ambiguity, dialog disappears, but you can hide it by canceling keys Esc, F10 and left and right arrow keys. If Complete: show all is disabled, the dialog pops up only if you press Alt-Tab for the second time, for the first time MC just beeps.

Apply escaping of ?, * and & symbols (as \?, \*, \& ) in filenames to disallow use them as metasymbols in regular expressions when substitution is performed in the input line.

Virtual File System

Midnight Commander is provided with a code layer to access the file system; this code layer is known as the virtual file system switch. The virtual file system switch allows Midnight Commander to manipulate files not located on the Unix file system.

Currently, Midnight Commander is packaged with some Virtual File Systems (VFS): the local file system, used for accessing the regular Unix file system; the ftpfs, used to manipulate files on remote systems with the FTP protocol; the tarfs, used to manipulate tar and compressed tar files; the undelfs, used to recover deleted files on ext2 file systems (the default file system for Linux systems), fish (for manipulating files over shell connections such as rsh and ssh). If the code was compiled with sftpfs (for manipulating files over SFTP connections). If the code was compiled with smbfs support, you can manipulate files on remote systems with the SMB (CIFS) protocol.

A generic extfs (EXTernal virtual File System) is provided in order to easily expand VFS capabilities using scripts and external software.

The VFS switch code will interpret all of the path names used and will forward them to the correct file system, the formats used for each one of the file systems is described later in their own section.

FTP File System

The FTP File System (ftpfs) allows you to manipulate files on remote machines. To actually use it, you can use the FTP link item in the menu or directly change your current directory using the cd command to a path name that looks like this:

ftp://[!][user[:pass]@]machine[:port][remote-dir]

The user, port and remote-dir elements are optional. If you specify the user element, Midnight Commander will login to the remote machine as that user, otherwise it will use anonymous login or the login name from the ~/.netrc file. The optional pass element is the password used for the connection. Using the password in the VFS directory name is not recommended, because it can appear on the screen in clear text and can be saved to the directory history.

To enable using FTP proxy, prepend ! (an exclamation sign) to the hostname.

Examples:

ftp://ftp.nuclecu.unam.mx/linux/local

ftp://tsx-11.mit.edu/pub/linux/packages

ftp://!behind.firewall.edu/pub

ftp://guest@remote-host.com:40/pub

ftp://miguel:xxx@server/pub

Please check the Virtual File System dialog box for ftpfs options.

Tar File System

The tar file system provides you with read-only access to your tar files and compressed tar files by using the chdir command. To change your directory to a tar file, you change your current directory to the tar file by using the following syntax:

/filename.tar/utar://[dir-inside-tar]

The mc.ext file already provides a shortcut for tar files, this means that usually you just point to a tar file and press return to enter into the tar file, see the Edit Extension File section for details on how this is done.

Examples:

mc-3.0.tar.gz/utar://mc-3.0/vfs

/ftp/GCC/gcc-2.7.0.tar/utar://

The latter specifies the full path of the tar archive.

FIle transfer over SHell filesystem

The fish file system is a network based file system that allows you to manipulate the files in a remote machine as if they were local. To use this, the other side has to either run fish server, or has to have bash-compatible shell.

To connect to a remote machine, you just need to chdir into a special directory which name is in the following format:

sh://[user@]machine[:options]/[remote-dir]

The user, options and remote-dir elements are optional. If you specify the user element, Midnight Commander will try to login on the remote machine as that user, otherwise it will use your login name.

The available options are:

'C' - use compression;

'r' - use rsh instead of ssh;

port - specify the port used by remote server.

If the remote-dir element is present, your current directory on the remote machine will be set to this one.

Examples:

sh://onlyrsh.mx:r/linux/local

sh://joe@want.compression.edu:C/private

sh://joe@noncompressed.ssh.edu/private

sh://joe@somehost.ssh.edu:2222/private

SFTP (SSH File Transfer Protocol) filesystem

The SFTP file system is a network based file system that allows you to manipulate the files in a remote machine as if they were local.

To connect to a remote machine, you just need to chdir into a special directory which name is in the following format:

sftp://[user@]machine:[port]/[remote-dir]

The user, port and remote-dir elements are optional. If you specify the user element, Midnight Commander will try to login on the remote machine as that user, otherwise it will use your login name. port - specify the port used by remote server (22 by default). If the remote-dir element is present, your current directory on the remote machine will be set to this one.

Examples:

sftp://onlyrsh.mx/linux/local

sftp://joe:password@want.compression.edu/private

sftp://joe@noncompressed.ssh.edu/private

sftp://joe@somehost.ssh.edu:2222/private

Undelete File System

On Linux systems, if you asked configure to use the ext2fs undelete facilities, you will have the undelete file system available. Recovery of deleted files is only available on ext2 file systems. The undelete file system is just an interface to the ext2fs library to retrieve all of the deleted files names on an ext2fs and provides and to extract the selected files into a regular partition.

To use this file system, you have to chdir into the special file name formed by the "undel://" prefix and the file name where the actual file system resides.

For example, to recover deleted files on the second partition of the first SCSI disk on Linux, you would use the following path name:

undel://sda2

It may take a while for the undelfs to load the required information before you start browsing files there.

SMB File System

The smbfs allows you to manipulate files on remote machines with SMB (or CIFS) protocol. These include Windows for Workgroups, Windows 9x/ME/XP, Windows NT, Windows 2000 and Samba. To actually use it, you may try to use the panel command "SMB link..." (accessible from the menubar) or you may directly change your current directory to it using the cd command to a path name that looks like this:

smb://[user@]machine[/service][/remote-dir]

The user, service and remote-dir elements are optional. The user, domain and password can be specified in an input dialog.

Examples:

smb://machine/Share

smb://other_machine

smb://guest@machine/Public/Irlex

EXTernal File System

extfs allows you to integrate numerous features and file types into GNU Midnight Commander in an easy way, by writing scripts.

Extfs filesystems can be divided into two categories:

1. Stand-alone filesystems, which are not associated with any existing file. They represent certain system-wide data as a directory tree. You can invoke them by typing 'cd fsname://' where fsname is an extfs short name (see below). Examples of such filesystems include audio (list audio tracks on the CD) or apt (list of all Debian packages in the system).

For example, to list CD-Audio tracks on your CD-ROM drive, type

cd audio://

2. 'Archive' filesystems (like rpm, patchfs and more), which represent contents of a file as a directory tree. It can consist of 'real' files compressed in an archive (urar, rpm) or virtual files, like messages in a mailbox (mailfs) or parts of a patch (patchfs). To access such filesystems 'fsname://' should be appended to the archive name. Note that the archive itself can be on another vfs.

For example, to list contents of a zip archive documents.zip type

cd documents.zip/uzip://

In many aspects, you could treat extfs like any other directory. For instance, you can add it to the hotlist or change to it from directory history. An important limitation is that you cannot invoke shell commands inside extfs, just like any other non-local VFS.

Common extfs scripts included with Midnight Commander are:

a

access 'A:' DOS/Windows diskette (cd a://).

apt

front end to Debian's APT package management system (cd apt://).

audio

audio CD ripping and playing (cd audio:// or cd device/audio://).

bpp

package of Bad Penguin GNU/Linux distribution (cd file.bpp/bpp://).

deb

package of Debian GNU/Linux distribution (cd file.deb/deb://).

dpkg

Debian GNU/Linux installed packages (cd deb://).

hp48

view and copy files to/from a HP48 calculator (cd hp48://).

lslR

browsing of lslR listings as found on many FTPs (cd filename/lslR://).

mailfs

mbox-style mailbox files support (cd mailbox/mailfs://).

patchfs

extfs to handle unified and context diffs (cd filename/patchfs://).

rpm

RPM package (cd filename/rpm://).

rpms

RPM database management (cd rpms://).

ulha, urar, uzip, uzoo, uar, uha

archivers (cd archive/xxxx:// where xxxx is one of: ulha, urar, uzip, uzoo, uar, uha).

You could bind file type/extension to specified extfs as described in the Edit Extension File section. Here is an example entry for Debian packages:

regex/.deb$

Open=%cd %p/deb://

Colors

Midnight Commander will try to detect if your terminal supports color using the terminal database and your terminal name. Sometimes it gets confused, so you may force color mode or disable color mode using the -c and -b flag respectively.

If the program is compiled with the Slang screen manager instead of ncurses, it will also check the variable COLORTERM, if it is set, it has the same effect as the -c flag.

You may specify terminals that always force color mode by adding the color_terminals variable to the Colors section of the initialization file. This will prevent Midnight Commander from trying to detect if your terminal supports color. Example:

[Colors]

color_terminals=linux,xterm

color_terminals=terminal-name1,terminal-name2...

The program can be compiled with both ncurses and slang, ncurses does not provide a way to force color mode: ncurses uses just the information in the terminal database.

Midnight Commander provides a way to change the default colors. Currently the colors are configured using the environment variable MC_COLOR_TABLE or the Colors section in the initialization file.

In the Colors section, the default color map is loaded from the base_color variable. You can specify an alternate color map for a terminal by using the terminal name as the key in this section. Example:

[Colors]

base_color=

xterm=menu=magenta:marked=,magenta:markselect=,red

The format for the color definition is:

<keyword>=<fgcolor>,<bgcolor>,<attributes>:<keyword>=...

The colors are optional, and the keywords are: normal, selected, disabled, marked, markselect, errors, input, inputmark, inputunchanged, commandlinemark, reverse, gauge, header, inputhistory, commandhistory. Button bar colors are: bbarhotkey, bbarbutton. Status bar color: statusbar. Menu colors are: menunormal, menusel, menuhot, menuhotsel, menuinactive. Dialog colors are: dnormal, dfocus, dhotnormal, dhotfocus, dtitle. Error dialog colors are: errdfocus, errdhotnormal, errdhotfocus, errdtitle. Help colors are: helpnormal, helpitalic, helpbold, helplink, helpslink, helptitle. Viewer colors are: viewnormal, viewbold, viewunderline, viewselected. Editor colors are: editnormal, editbold, editmarked, editwhitespace, editlinestate. Popup menu colors are: pmenunormal, pmenusel, pmenutitle.

header determines the color of panel header, the line that contains column titles and sort mode indicator.

input determines the color of input lines used in query dialogs.

gauge determines the color of the filled part of the progress bar (gauge), which is used to show the user the progress of file operations, such as copying.

disabled determines the color of the widget that cannot be selected.

The dialog boxes use the following colors: dnormal is used for the normal text, dfocus is the color used for the currently selected component, dhotnormal is the color used to differentiate the hotkey color in normal components, whereas the dhotfocus color is used for the highlighted color in the currently selected component.

Menus use the same scheme but uses the menunormal, menusel, menuhot, menuhotsel and menuinactive tags instead.

Help uses the following colors: helpnormal is used for normal text, helpitalic is used for text which is emphasized in italic in the manual page, helpbold is used for text which is emphasized in bold in the manual page, helplink is used for not selected hyperlinks and helpslink is used for selected hyperlink.

Popup menu uses following colors: pmenunormal is used for non-selected menu items and as a main color of popup menu window, pmenusel is used for selected menu item, pmenutitle is used for popup menu title.

The possible colors are: black, gray, red, brightred, green, brightgreen, brown, yellow, blue, brightblue, magenta, brightmagenta, cyan, brightcyan, lightgray and white. And there is a special keyword for transparent background. It is 'default'. The 'default' can only be used for background color. Another special keyword "base" means mc's main colors. When 256 colors are available, they can be specified either as color16 to color255, or as rgb000 to rgb555 and gray0 to gray23. Example:

[Colors]

base_color=normal=white,default:marked=magenta,default

Attributes can be any of bold, italic, underline, reverse and blink, appended by a plus sign if more than one are desired. The special word "none" means no attributes, without attempting to fall back to base_color. Example:

menuhotsel=yellow;black;bold+underline

Skins

You can change the appearance of Midnight Commander. To do this, you must specify a file that contain descriptions of colors and lines to draw boxes. Redefining of the colors is entirely compatible with the assignment of colors, as described in Section Colors.

If your skin contains any true-color definitions, you should define the 'truecolors' key set to TRUE value in [skin] section. If true-color is not used but 256-color is, you should define '256colors' instead.

A skin-file is searched on the following algorithm (to the first one found):

1) command line option -S <skin> or --skin=<skin>

2) Environment variable MC_SKIN

3) Parameter skin in section [Midnight-Commander] in config file.

4) File /etc/mc/skins/default.ini

5) File /usr/share/mc/skins/default.ini

Command line option, environment variable and parameter in config file may contain the absolute path to the skin-file (with the extension .ini or without it). Search of skin-file will occur in (to the first one found):

1) ~/.local/share/mc/skins/

2) /etc/mc/skins/

3) /usr/share/mc/skins/

For getting extended info, refer to:

Description of section and parameters

Color pair definitions

Color and attribute aliases

Draw lines

Compatibility

Description of section and parameters

Section [skin] contain metainfo for skin-file. Parameter description contain short text about skin.

Section [filehighlight] contain descriptions of color pairs for filenames highlighting. Name of parameters must be equal to names of sections into filehighlight.ini file. See Filenames Highlight for getting more info.

Section [core] describes the elements that are used everywhere.

_default_

Default color pair. Used in all other sections if they not contain color definitions

selected

cursor

marked

selected data

markselect

cursor on selected data

gauge

color of the filled part of the progress bar

input

color of input lines used in query dialogs

inputmark

color of input selected text

inputunchanged

color of input text before first modification or cursor movement

commandlinemark

color of selected text in command line

reverse

reverse color

Section [dialog] describes the elements that are placed on dialog windows (except error dialogs).

_default_

Default color for this section. Used [core]._default_ if not specified

dfocus

Color of active element (in focus)

dhotnormal

Color of hotkeys

dhotfocus

Color of hotkeys in focused element

Section [error] describes the elements that are placed on error dialog windows

_default_

Default color for this section. Used [core]._default_ if not specified

errdhotnormal

Color of hotkeys

errdhotfocus

Color of hotkeys in focused element

Section [menu] describes the elements that are placed in menu. This section describes system menu (called by F9) and user-defined menus (called by F2 in panels and by F11 in editor).

_default_

Default color for this section. Used [core]._default_ if not specified

entry

Color of menu items

menuhot

Color of menu hotkeys

menusel

Color of active menu item (in focus)

menuhotsel

Color of menu hotkeys in focused menu item

menuinactive

Color of inactive menu

Section [help] describes the elements that are placed on help window.

_default_

Default color for this section. Used [core]._default_ if not specified

helpitalic

Color pair for element with italic attribute

helpbold

Color pair for element with bold attribute

helplink

Color of links

helpslink

Color of active link (on focus)

Section [editor] describes the colors of elements placed in editor.

_default_

Default color for this section. Used [core]._default_ if not specified

editbold

Color pair for element with bold attribute

editmarked

Color of selected text

editwhitespace

Color of tabs and trailing spaces highlighting

editlinestate

Color for line state area

Section [viewer] describes the colors of elements placed in viewer.

viewunderline

Color pair for element with underline attribute

Color pair definitions

Any parameter in skin-file contain definition of color pair.

Color pairs described as two colors and the optional attributes separated by ';'. First field sets the foreground color, second field sets background color, third field sets the attributes. Any of the fields may be omitted, in this case value will be taken from default color pair (global color pair or from default color pair of this section).

Example:

[core]

# green on black

_default_=green;black

# green (default) on blue

selected=;blue

# yellow on black (default)

# underlined yellow on black (default)

marked=yellow;;underline

Possible colors (names) and attributes are described in Colors. section.

Color and attribute aliases

This optional section might define aliases for single colors (not color pairs) as well as combination of attributes; in other words, for semicolon-separated fragments of parameters. Aliases can refer to other aliases as long as they don't form a loop.

Example:

[aliases]

myfavfg=green

myfavbg=black

myfavattr=bold+italic

[core]

_default_=myfavfg;myfavbg;myfavattr

Draw lines

Lines sets in section [Lines] into skin-file. By default single lines are used, but you may redefine to usage of any utf-8 symbols (like to lines, for example).

WARNING!!! When you build Midnight Commander with the Ncurses screen library usage of drawing lines is limited! Possible only drawing a single lines. For all questions and comments please contact the developers of Ncurses.

Descriptions of parameters [Lines]:

lefttop

left-top line fragment.

righttop

right-top line fragment.

centertop

down branch of horizontal line

centerbottom

up branch of horizontal line

leftbottom

left-bottom line fragment

rightbottom

right-bottom line fragment

leftmiddle

right branch of vertical line

rightmiddle

left branch of vertical line

centermiddle

cross of lines

horiz

horizontal line

vert

vertical line

thinhoriz

thin horizontal line

thinvert

thin vertical line

Compatibility

Appointment of color by skin-files fully compatible with the appointment of the colors described in Colors. section.

In this case, reassignment of colors has priority over the skin file and is complementary.

Filenames Highlight

Section [filehighlight] in current skin-file contains key names as highlight groups and values as color pairs. Color pairs is documented in Skins section.

Rules of filenames highlight are placed in /usr/share/mc/filehighlight.ini file (~/.config/mc/filehighlight.ini). Name of section in this file must be equal to parameters names in [filehighlight] section (in current skin-file).

Keys in these groups are:

type

file type. If present, all other options are ignored.

regexp

regular expression. If present, 'extensions' option is ignored.

extensions

list of extensions of files. Separated by ';' sign.

extensions_case

(make sense only with 'extensions' parameter) make 'extensions' rule case sensitive (true) or not (false).

`type' key may have values:

- FILE (all files)

- FILE_EXE

- DIR (all directories)

- LINK_DIR

- LINK (all links except stale link)

- HARDLINK

- SYMLINK

- STALE_LINK

- DEVICE (all device files)

- DEVICE_BLOCK

- DEVICE_CHAR

- SPECIAL (all special files)

- SPECIAL_SOCKET

- SPECIAL_FIFO

- SPECIAL_DOOR

Special Settings

Most of Midnight Commander settings can be changed from the menus. However, there are a small number of settings which can only be changed by editing the setup file.

These variables may be set in your ~/.config/mc/ini file:

clear_before_exec

By default, Midnight Commander clears the screen before executing a command. If you would prefer to see the output of the command at the bottom of the screen, edit your ~/.config/mc/ini file and change the value of the field clear_before_exec to 0.

confirm_view_dir

If you press F3 on a directory, normally MC enters that directory. If this flag is set to 1, then MC will ask for confirmation before changing the directory if you have files tagged.

ftpfs_retry_seconds

This value is the number of seconds Midnight Commander will wait before attempting to reconnect to an FTP server that has denied the login. If the value is zero, the login will no be retried.

max_dirt_limit

Specifies how many screen updates can be skipped at most in the internal file viewer. Normally this value is not significant, because the code automatically adjusts the number of updates to skip according to the rate of incoming keystrokes. However, on very slow machines or terminals with a fast keyboard auto repeat, a big value can make screen updates too jumpy.

It seems that setting max_dirt_limit to 10 causes the best behavior, and that is the default value.

mouse_move_pages_viewer

Controls if scrolling with the mouse is done by pages or line by line on the internal file viewer.

only_leading_plus_minus

Allow special treatment for '+', '-', '*' in the command line (select, unselect, reverse selection) only if the command line is empty. You don't need to quote those characters in the middle of the command line. On the other hand, you cannot use them to change selection when the command line is not empty.

show_output_starts_shell

This variable only works if you are not using the subshell support. When you use the C-o keystroke to go back to the user screen, if this one is set, you will get a fresh shell. Otherwise, pressing any key will bring you back to Midnight Commander.

timeformat_recent

Change the time format used to display dates less than 6 months from now. See strftime or date man page for the format specification. If this option is absent, default timeformat is used.

timeformat_old

Change the time format used to display dates older than 6 months from now or for dates in the future. See strftime or date man page for the format specification. If this option is absent, default timeformat is used.

torben_fj_mode

If this flag is set, then the home and end keys will work slightly different on the panels, instead of moving the selection to the first and last files in the panels, they will act as follows:

The home key will: Go up to the middle line, if below it; else go to the top line unless it is already on the top line, in this case it will go to the first file in the panel.

The end key has a similar behavior: Go down to the middle line, if over it; else go to the bottom line unless you already are at the bottom line, in such case it will move the selection to the last file name in the panel.

use_file_to_guess_type

If this variable is on (the default) it will spawn the file command to match the file types listed on the mc.ext file.

xtree_mode

If this variable is on (default is off) when you browse the file system on a Tree panel, it will automatically reload the other panel with the contents of the selected directory.

fish_directory_timeout

This variable holds the lifetime of a directory cache entry in seconds. The default value is 900 seconds.

clipboard_store

This variable contains path (with options) to the external clipboard utility like 'xclip' to read text into X selection from file. For example:

clipboard_store=xclip -i

clipboard_paste

This variable contains path (with options) to the external clipboard utility like 'xclip' to print the selection to standard out. For example:

clipboard_paste=xclip -o

autodetect_codeset

This option allows use the `enca' command to autodetect codeset of text files in internal viewer and editor. List of valid values can be obtain by the `enca --list languages | cut -d : -f1' command. Option must be located in the [Misc] section.

For example:

autodetect_codeset=russian

Parameters for external editor or viewer

Midnight Commander provides a way for specify an options for external editors and viewers. Midnight Commander tries to search the "[External editor or viewer parameters]" section in the system initialization file (the mc.lib file located in Midnight Commander's library directory) and then in the ~/.config/mc/ini file. The option name should be equal to the name (full pathname) of external editor or viewer. The option value can contain following variables:

%filename

The filename to edit/view.

%lineno

The start line in the opening file.

For example:

[External editor or viewer parameters]

vi=%filename +%lineno

joe=%filename +%lineno

more=%filename +%lineno

Start line is passed to the external editor/viewer only if it is called from the Find file results window.

If external editor/viewer is launched via F4/F3 keys, MC hopes that program (at least "joe", but probably others too) has an own feature that by default opens the file where it was last open. MC doesn't prevent external editor/viewer to save and restore position in opened files.

Terminal databases

Midnight Commander provides a way to fix your system terminal database without requiring root privileges. Midnight Commander searches in the system initialization file (the mc.lib file located in Midnight Commander's library directory) and in the ~/.config/mc/ini file for the section "terminal:your-terminal-name" and then for the section "terminal:general", each line of the section contains a key symbol that you want to define, followed by an equal sign and the definition for the key. You can use the special \e form to represent the escape character and the ^x to represent the control-x character.

The possible key symbols are:

f0 to f20     Function keys f0-f20

bs            backspace

home          home key

end           end key

up            up arrow key

down          down arrow key

left          left arrow key

right         right arrow key

pgdn          page down key

pgup          page up key

insert        the insert character

delete        the delete character

complete      to do completion

For example, to define the key insert to be the Escape + [ + O + p, you set this in the ini file:

insert=\e[Op

Also now you can use extended learn keys. For example:

ctrl-alt-right=\e[[1;6C

ctrl-alt-left=\e[[1;6D

This means that ctrl+alt+left sends a \e[[1;6D escape sequence and therefore Midnight Commander interprets "\e[[1;6D" as Ctrl-Alt-Left.

The complete key symbol represents the escape sequences used to invoke the completion process, this is invoked with Alt-tab, but you can define other keys to do the same work (on those keyboard with tons of nice and unused keys everywhere).

FILES

Full paths below may vary between installations. They are also affected by the MC_DATADIR environment variable. If it's set, its value is used instead of /usr/share/mc in the paths below.

/usr/share/mc/mc.hlp

The help file for the program.

/usr/share/mc/mc.ext

The default system-wide extensions file.

~/.config/mc/mc.ext

User's own extension, view configuration and edit configuration file. They override the contents of the system wide files if present.

/usr/share/mc/mc.ini

The default system-wide setup for Midnight Commander, used only if the user doesn't have his own ~/.config/mc/ini file.

/usr/share/mc/mc.lib

Global settings for Midnight Commander. Settings in this file affect all users, whether they have ~/.config/mc/ini or not. Currently, only terminal settings are loaded from mc.lib.

~/.config/mc/ini

User's own setup. If this file is present then the setup is loaded from here instead of the system-wide startup file.

/usr/share/mc/mc.hint

This file contains the hints displayed by the program.

/usr/share/mc/mc.menu

This file contains the default system-wide applications menu.

~/.config/mc/menu

User's own application menu. If this file is present it is used instead of the system-wide applications menu.

~/.cache/mc/Tree

The directory list for the directory tree and tree view features.

~/.local/share/mc.menu

Local user-defined menu. If this file is present, it is used instead of the home or system-wide applications menu.

To change default root directory of MC, you can use MC_PROFILE_ROOT environment variable. The value of MC_PROFILE_ROOT must be an absolute path. If MC_PROFILE_ROOT is unset or empty, HOME variable is used. If HOME is unset or empty, MC directories are get from GLib library.

LICENSE

This program is distributed under the terms of the GNU General Public License as published by the Free Software Foundation. See the built-in help for details on the License and the lack of warranty.

AVAILABILITY

The latest version of this program can be found at http://ftp.midnight-commander.org/.

SEE ALSO

ed(1), gpm(1), terminfo(1), view(1), sh(1), bash(1), tcsh(1), zsh(1).

Midnight Commander's page on the World Wide Web:

http://www.midnight-commander.org/

AUTHORS

Authors and contributors are listed in the AUTHORS file in the source distribution.

BUGS

See the file TODO in the distribution for information on what remains to be done.

If you want to report a problem with the program, please create bugreport at http://www.midnight-commander.org/.

Provide a detailed description of the bug, the version of the program you are running (mc -V displays this information), the operating system you are running the program on. If the program crashes, we would appreciate a stack trace.

NAME USAGE DESCRIPTION OPTIONS Overview Mouse Support Keys Redefine hotkey bindings Miscellaneous Keys Directory Panels Quick search Shell Command Line General Movement Keys Input Line Keys Menu Bar Left and Right (Above and Below) Menus Listing Mode... Sort Order... Filter... Reread File Menu Quick cd Command Menu Directory Tree Find File External panelize Hotlist Edit Extension File Background Jobs Edit Menu File Options Menu Configuration Layout Panel options Confirmation Appearance Display bits Learn keys Virtual FS Save Setup Executing operating system commands The cd internal command Macro Substitution The subshell support Chmod Chown Advanced Chown File Operations Mask Copy/Rename Select/Unselect Files Internal Diff Viewer Internal File Viewer Internal File Editor Options of editor in ini-file Screen selector Completion Virtual File System FTP File System Tar File System FIle transfer over SHell filesystem SFTP (SSH File Transfer Protocol) filesystem Undelete File System SMB File System EXTernal File System Colors Skins Description of section and parameters Color pair definitions Color and attribute aliases Draw lines Compatibility Filenames Highlight Special Settings Parameters for external editor or viewer Terminal databases FILES LICENSE AVAILABILITY SEE ALSO AUTHORS BUGS

This document was created by man2html using the manual pages.

Time: 16:32:22 GMT, September 14, 2024

view

TOC Index

NAME

view - read only vim

SYNOPSIS

WA2LWinTools/bin/view

view [ options ][ file... ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

read only start of vim(1).

See vim(1) for more information.

OPTIONS

See: vim(1).

ENVIRONMENT

See: vim(1).

EXIT STATUS

See: vim(1).

FILES

See: vim(1).

EXAMPLES

See: vim(1).

SEE ALSO

wintoolsintro(1), vim(1)

NOTES

See: vim(1).

BUGS

See: vim(1).

AUTHOR

view was developed by Bram Moolenaar and integrated into WA2L/WinTools by Christian Walther. Send suggestions and bug reports regarding to the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:33:14 GMT, September 14, 2024

vim

TOC Index

NAME

vim - Vi IMproved, a programmers text editor

SYNOPSIS

vim [options] [file ..]

vim [options] -

vim [options] -t tag

vim [options] -q [errorfile]

DESCRIPTION

Vim is a text editor that is upwards compatible to Vi. It can be used to edit all kinds of plain text. It is especially useful for editing programs.

There are a lot of enhancements above Vi: multi level undo, multi windows and buffers, syntax highlighting, command line editing, filename completion, visual selection, etc..

Most often Vim is started to edit a single file with the command

vim file

More generally Vim is started with:

vim [options] [filelist]

If the filelist is missing, the editor will start with an empty buffer. Otherwise exactly one out of the following four may be used to choose one or more files to be edited.

file ..

A list of filenames. The first one will be the current file and read into the buffer. The cursor will be positioned on the first line of the buffer. You can get to the other files with the ":next" command. To edit a file that starts with a dash, precede the filelist with "--".

-

The file to edit is read from stdin. Commands are read from stderr, which should be a tty.

-t {tag}

The file to edit and the initial cursor position depends on a "tag", a sort of goto label. {tag} is looked up in the tags file, the associated file becomes the current file and the associated command is executed. Mostly this is used for C programs, in which case {tag} could be a function name. The effect is that the file containing that function becomes the current file and the cursor is positioned on the start of the function.

-q [errorfile]

Start in quickFix mode. The file [errorfile] is read and the first error is displayed. If [errorfile] is omitted, the filename is obtained from the 'errorfile' option (defaults to "AztecC.Err" for the Amiga, "errors.err" on other systems). Further errors can be jumped to with the ":cn" command.

Vim behaves differently, depending on the name of the command (the executable may still be the same file).

vim

The "normal" way, everything is default.

ex

Start in Ex mode. Go to Normal mode with the ":vi" command. Can also be done with the "-e" argument.

view

Start in read-only mode. You will be protected from writing the files. Can also be done with the "-R" argument.

gvim gview

The GUI version. Starts a new window. Can also be done with the "-g" argument.

evim eview

The GUI version in easy mode. Starts a new window. Can also be done with the "-y" argument.

rvim rview rgvim rgview

Like the above, but with restrictions. It will not be possible to start shell commands, or suspend Vim. Can also be done with the "-Z" argument.

OPTIONS

The options may be given in any order, before or after filenames. Options without an argument can be combined after a single dash.

+[num]

For the first file the cursor will be positioned on line "num". If "num" is missing, the cursor will be positioned on the last line.

+/{pat}

For the first file the cursor will be positioned in the line with the first occurrence of {pat}.

+{command}

-c {command}

{command} will be executed after the first file has been read. {command} is interpreted as an Ex command. If the {command} contains spaces it must be enclosed in double quotes (this depends on the shell that is used). Example: Vim "+set si" main.c

Note: You can use up to 10 "+" or "-c" commands.

-S {file}

{file} will be sourced after the first file has been read. This is equivalent to -c "source {file}". {file} cannot start with '-'. If {file} is omitted "Session.vim" is used (only works when -S is the last argument).

--cmd {command}

Like using "-c", but the command is executed just before processing any vimrc file. You can use up to 10 of these commands, independently from "-c" commands.

-A

If Vim has been compiled with ARABIC support for editing right-to-left oriented files and Arabic keyboard mapping, this option starts Vim in Arabic mode, i.e. 'arabic' is set. Otherwise an error message is given and Vim aborts.

-b

Binary mode. A few options will be set that makes it possible to edit a binary or executable file.

-C

Compatible. Set the 'compatible' option. This will make Vim behave mostly like Vi, even though a .vimrc file exists.

-d

Start in diff mode. There should be two, three or four file name arguments. Vim will open all the files and show differences between them. Works like vimdiff(1).

-d {device}

Open {device} for use as a terminal. Only on the Amiga. Example: "-d con:20/30/600/150".

-D

Debugging. Go to debugging mode when executing the first command from a script.

-e

Start Vim in Ex mode, just like the executable was called "ex".

-E

Start Vim in improved Ex mode, just like the executable was called "exim".

-f

Foreground. For the GUI version, Vim will not fork and detach from the shell it was started in. On the Amiga, Vim is not restarted to open a new window. This option should be used when Vim is executed by a program that will wait for the edit session to finish (e.g. mail). On the Amiga the ":sh" and ":!" commands will not work.

--nofork

Foreground. For the GUI version, Vim will not fork and detach from the shell it was started in.

-F

If Vim has been compiled with FKMAP support for editing right-to-left oriented files and Farsi keyboard mapping, this option starts Vim in Farsi mode, i.e. 'fkmap' and 'rightleft' are set. Otherwise an error message is given and Vim aborts.

-g

If Vim has been compiled with GUI support, this option enables the GUI. If no GUI support was compiled in, an error message is given and Vim aborts.

-h

Give a bit of help about the command line arguments and options. After this Vim exits.

-H

If Vim has been compiled with RIGHTLEFT support for editing right-to-left oriented files and Hebrew keyboard mapping, this option starts Vim in Hebrew mode, i.e. 'hkmap' and 'rightleft' are set. Otherwise an error message is given and Vim aborts.

-i {viminfo}

When using the viminfo file is enabled, this option sets the filename to use, instead of the default "~/.viminfo". This can also be used to skip the use of the .viminfo file, by giving the name "NONE".

-L

Same as -r.

-l

Lisp mode. Sets the 'lisp' and 'showmatch' options on.

-m

Modifying files is disabled. Resets the 'write' option. You can still modify the buffer, but writing a file is not possible.

-M

Modifications not allowed. The 'modifiable' and 'write' options will be unset, so that changes are not allowed and files can not be written. Note that these options can be set to enable making modifications.

-N

No-compatible mode. Reset the 'compatible' option. This will make Vim behave a bit better, but less Vi compatible, even though a .vimrc file does not exist.

-n

No swap file will be used. Recovery after a crash will be impossible. Handy if you want to edit a file on a very slow medium (e.g. floppy). Can also be done with ":set uc=0". Can be undone with ":set uc=200".

-nb

Become an editor server for NetBeans. See the docs for details.

-o[N]

Open N windows stacked. When N is omitted, open one window for each file.

-O[N]

Open N windows side by side. When N is omitted, open one window for each file.

-p[N]

Open N tab pages. When N is omitted, open one tab page for each file.

-R

Read-only mode. The 'readonly' option will be set. You can still edit the buffer, but will be prevented from accidentally overwriting a file. If you do want to overwrite a file, add an exclamation mark to the Ex command, as in ":w!". The -R option also implies the -n option (see below). The 'readonly' option can be reset with ":set noro".

-r

List swap files, with information about using them for recovery.

-r {file}

Recovery mode. The swap file is used to recover a crashed editing session. The swap file is a file with the same filename as the text file with ".swp" appended.

-s

Silent mode. Only when started as "Ex" or when the "-e" option was given before the "-s" option.

-s {scriptin}

The script file {scriptin} is read. The characters in the file are interpreted as if you had typed them. The same can be done with the command ":source! {scriptin}". If the end of the file is reached before the editor exits, further characters are read from the keyboard.

-T {terminal}

Tells Vim the name of the terminal you are using. Only required when the automatic way doesn't work. Should be a terminal known to Vim (built-in) or defined in the termcap or terminfo file.

-u {vimrc}

Use the commands in the file {vimrc} for initializations. All the other initializations are skipped. Use this to edit a special kind of files. It can also be used to skip all initializations by giving the name "NONE".

-U {gvimrc}

Use the commands in the file {gvimrc} for GUI initializations. All the other GUI initializations are skipped. It can also be used to skip all GUI initializations by giving the name "NONE".

-V[N]

Verbose. Give messages about which files are sourced and for reading and writing a viminfo file. The optional number N is the value for 'verbose'. Default is 10.

-v

Start Vim in Vi mode, just like the executable was called "vi". This only has effect when the executable is called "ex".

-w {scriptout}

All the characters that you type are recorded in the file {scriptout}, until you exit Vim. This is useful if you want to create a script file to be used with "vim -s" or ":source!". If the {scriptout} file exists, characters are appended.

-W {scriptout}

Like -w, but an existing file is overwritten.

-x

Use encryption when writing files. Will prompt for a crypt key.

-X

Don't connect to the X server. Shortens startup time in a terminal, but the window title and clipboard will not be used.

-y

Start Vim in easy mode, just like the executable was called "evim" or "eview". Makes Vim behave like a click-and-type editor.

-Z

Restricted mode. Works like the executable starts with "r".

--

Denotes the end of the options. Arguments after this will be handled as a file name. This can be used to edit a filename that starts with a '-'.

--echo-wid

GTK GUI only: Echo the Window ID on stdout.

--help

Give a help message and exit, just like "-h".

--literal

Take file name arguments literally, do not expand wildcards. This has no effect on Unix where the shell expands wildcards.

--noplugin

Skip loading plugins. Implied by -u NONE.

--remote

Connect to a Vim server and make it edit the files given in the rest of the arguments. If no server is found a warning is given and the files are edited in the current Vim.

--remote-expr {expr}

Connect to a Vim server, evaluate {expr} in it and print the result on stdout.

--remote-send {keys}

Connect to a Vim server and send {keys} to it.

--remote-silent

As --remote, but without the warning when no server is found.

--remote-wait

As --remote, but Vim does not exit until the files have been edited.

--remote-wait-silent

As --remote-wait, but without the warning when no server is found.

--serverlist

List the names of all Vim servers that can be found.

--servername {name}

Use {name} as the server name. Used for the current Vim, unless used with a --remote argument, then it's the name of the server to connect to.

--socketid {id}

GTK GUI only: Use the GtkPlug mechanism to run gvim in another window.

--version

Print version information and exit.

FILES

etc/vim.cfg

Your personal Vim initializations.

For recent info read the VIM home page:

<URL:http://www.vim.org/>

SEE ALSO

wintoolsintro(1)

AUTHOR

Most of Vim was made by Bram Moolenaar, with a lot of help from others. Vim.

Vim is based on Stevie, worked on by: Tim Thompson, Tony Andrews and G.R. (Fred) Walter. Although hardly any of the original code remains.

BUGS

Probably.

Note that a number of things that may be regarded as bugs by some, are in fact caused by a too-faithful reproduction of Vi's behaviour. And if you think other things are bugs "because Vi does it differently", you should take a closer look at the vi_diff.txt file Also have a look at the 'compatible' and 'cpoptions' options.

NAME SYNOPSIS DESCRIPTION OPTIONS FILES SEE ALSO AUTHOR BUGS

This document was created by man2html using the manual pages.

Time: 16:33:14 GMT, September 14, 2024

MediaPlayer

TOC Index

NAME

MediaPlayer - Classic Windows™ Media Player

SYNOPSIS

WA2LWinTools/bin/MediaPlayer [ -h | -i | -u | -V ]

MediaPlayer [ /help | /h | /? ]

MediaPlayer [ options ] [ pathname ]

options ::= { /dsub "dubname" | /sub "subname" | /filter "filtername" | /dvd | /cd | /open | /play | /close | /shutdown | /fullscreen | /minimized | /new | /add | /regvid | /regaud | /unregall | /start ms | /fixedsize w,h | /monitor N }

AVAILABILITY

WA2L/WinTools

DESCRIPTION

Media Player (Classic) is a powerful and efficient media player that appears as an earlier version of Windows™ Media Player. You can configure keyboard commands, configure/reorder/disable codecs/filters etc.

The MediaPlayer command can be installed to the 'Send To' context menu in 'Microsoft™ Windows Explorer' for most convenient usage. To do so, invoke MediaPlayer -i once.

OPTIONS

-h

usage message.

-i

install the MediaPlayer command as menu point 'MediaPlayer' to the 'Send To' context menu in 'Windows Explorer'.

-u

uninstall the MediaPlayer shortcut from the 'Send To' context menu in 'Windows Explorer'.

-V

print program version.

"pathname"

the main file or directory to be loaded (wildcards are allowed).

/dsub "dubname"

load an additional audio file.

/sub "subname"

load an additional subtitle file.

/filter "filtername"

load DirectShow filters from a dynamic link library (wildcards are allowed).

/dvd

run in dvd mode, "pathname" means the dvd folder (optional).

/cd

load all the tracks of an audio cd or (s)vcd, "pathname" means the drive path (optional).

/open

open the file, don't automatically start playing.

/play

start playing the file as soon the player is launched.

/close

close the player after playback (only works when used with /play).

/shutdown

shutdown the operating system after playback.

/fullscreen

start in fullscreen-mode.

/minimized

start in minimized mode.

/new

use a new instance of the player.

/add

add "pathname" to playlist, can be combined with /open and /play.

/regvid

create file associations for video files.

/regaud

create file associations for audio files.

/unregall

remove all file associations.

/start ms

start playing at ms (= miliseconds).

/fixedsize w,h

set fixed window size.

/monitor N

start on monitor N, where N starts from 1.

/help | /h | /?

show command line switches help in message box window.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage message displayed.

5

program version printed.

6

program variant not known. This error occurs when the MediaPlayer command is renamed.

FILES

etc/MediaPlayer.cfg

configuration file for MediaPlayer.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), 1by1(1), config(1m), mycview(1), simplerecorder(1)

NOTES

MediaPlayer Classic was developed by Gabest. See (https://sourceforge.net/projects/guliverkli2/) for more information.

BUGS

-

AUTHOR

mplayerc was developed by Gabest and integrated as MediaPlayer into WA2L/WinTools by Christian Walther. Send suggestions and bug reports regarding the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:22 GMT, September 14, 2024

1by1

TOC Index

NAME

1by1 - The directory player

SYNOPSIS

WA2LWinTools/bin/1by1 [ -h | -i | -u | -V ]

1by1 { audio_file | folder | Cue_sheet | playlist } [ options ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

1by1 is a small and versatile audio player for MP3, MP2 and plugin supported audio formats as WAV, OGG, AAC, CD Audio and many others. With no need for playlists it simply plays your tracks, one by one directly from your directories.

The player focuses on smart file handling and enhanced play features. You won't find visual effects or skins. On the other hand you get extra features like built in dynamic audio enhancing, transition mixing, a file finder, big title display, Cue sheet and Playlist support.

For the full description of 1by1 see 1by1.Readme(1) in the HTML documentation.

OPTIONS

-h

usage message.

-i

install the 1by1 command to the 'SendTo' Windows explorer context menu.

-u

uninstall the 1by1 command from the 'SendTo' Windows explorer context menu.

-V

print program version.

File options:

audio_file | folder | Cue_sheet | playlist

list of elements to play. When installed in the 'Send To' menu the selected elements in 'Windows Explorer' are passed as a list to the 1by1 command.

Auto resume options:

/r

Resume the last track and position.

/rt

Play the last track from the beginning.

/rd

Play the last directory from the beginning (depending on how it is sorted).

Other options:

/close

Close the program after playing one track.

/hide

Hide the window and enable the Systray icon.

/enqueue

Enqueue the given file to the playlist view.

/newinst

Starts a new instance ignoring the 'Only one instance' setting.

/localini

Don't store the settings in the user profile.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage message displayed.

5

version message displayed.

FILES

etc/1by1.ini

INI file maintained by 1by1 to hold all settings.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), config(1m), 1by1.Readme(1), http://mpesch3.de1.cc/1by1.html

NOTES

1by1 has been developed by Martin Pesch <contact@mpesch3.de>.

Parts of the documentation has been extracted from http://mpesch3.de1.cc/1by1.html and the documentation in Readme.htm of 1by1.

See also: http://mpesch3.de1.cc/1by1.html for more information.

BUGS

-

AUTHOR

1by1 was developed by Martin Pesch <contact@mpesch3.de> and integrated into WA2L/WinTools by Christian Walther. Send suggestions and bug reports regarding the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:31:39 GMT, September 14, 2024

1by1 Directory Player

General

Overview, Resume play, Bookmarks, Uninstall

Track handling

Move, Skip, Sort, Shuffle, Repeat, Intro scan, Drop, Insert

Search and lists

Directory finder, File finder, Playlists, Cue sheets, Status bar

Keyboard control

Keyboard shortcuts, Hotkeys, Command line options

Audio configuration

MP3 decoders, BASS, Plugins, Audio settings, Enhancers

Other settings

Control options, List options, Display, Pictures, Big view

More features

Systray, Logging, WAV export, HTTP server

Version history

FAQ

General

Directory Player

1by1 is a small and versatile audio player for MP3 and many more audio formats supported by the BASS library or by plugins - as WAV, OGG, AAC, MP4, FLAC, CD. With no need for playlists it simply plays your tracks, one by one directly from your directories.

The player focuses on smart file handling and enhanced play features. You won't find visual effects or skins. On the other hand you get many extra features like audio enhancing, crossfading, file finder, Cue sheet and Playlist support.

General usage

Browse your folders using the tree and start tracks from the lists. Besides the configurable toolbar there are some menus to be opened by right clicking: On the toolbar (also by F1) you reach the Main menu with Options menu, History and Bookmarks. Track list and Tree items have Context menus.

Resume Play

The Resume function is not just a simple pause button. It remembers the played file and the position - even when the program was closed. To resume a track, press the Stop/Play button or the Space key. 1by1 always starts in the previously shown folder by default. With the Home button (or Ctrl+H) you easily jump to the current track.

Bookmarks

You can store up to 30 tracks, folders, Cue sheets or playlists. They are shown in the Main/Bookmarks menu. Under the Bookmarks item in the tree, local folders and lists are shown also. To add a bookmark you have three ways: 1. track context menu, 2. tree context menu folders/lists, 3. Main menu for the current position.

Uninstall

To remove 1by1 from your system, simply delete the program folder and the shortcuts. The program does not create any Registry entries. 1by1 tries to store its ini-File in the program folder. If you don't have write access there, the settings are stored in the folder 1by1 in the user profile, usually under AppData\Roaming. To remove it from there, you can easily use the Uninstall... function in the System section of 1by1's settings.

Track handling

Moving and skipping tracks in the list

The Next button moves selected tracks to the position after the current. To exclude a track from being played, press the Skip button, which never deletes any file but removes it temporarily from the list until it is reloaded. Tracks can also be dragged with the mouse or moved with Shift+(Page) Up/Down. On changing or reloading the folder, any changes will be forgotten.

Tip: To let 1by1 continue at another position, skip the current track and select the next track to be played.

Sort and shuffle files

You can sort your file list with the tab buttons. Shuffle (random file listing) is enabled by the Shuffle button in the toolbar. To shuffle again press the same button. To leave the Shuffle mode, press one of the sort buttons. Jumping into random directories is not possible. But you can play a whole path shuffled by listing subfolder contents (see File finder).

Repeat modes

- Regular play

- Repeat all tracks (of the folder or the whole drive - depending on Auto search dirs set)

- Repeat the current track (works not with Cue sheets)

- Play only one track (works not with Cue sheets)

- Repeat only current track: temporary enabled until the track is changed

- Stop only after current track: one time usage of Play one track

Dropping files

A single file or a group of files can be dropped into 1by1 - with different effects:

- Drop to file list or playlist: Insert track(s) to list

- Drop to folder tree: jump to folder and start track

Intro scan

Gives an audible overview of the tracks in the current list. Opened from the Main menu or by Ctrl+N. It starts from the first or from the selected track and works even with Cue sheets. Scanning multiple folders is not possible. Adjust start position and preview duration with the sliders. While Intro scan is running you have access to the other functions, e.g. to enqueue files to the playlist view.

Insert view

Opens an additional window for automated or manual insertion of tracks from another folder into the current list. It is opened either by the folder context menu or by sending results of the search dialog to it. Tracks can be added to the current list by dragging or with the Insert button (or double click) below the selected or current track. Automatic insertions will be done after a time between 1 and 90 minutes (adjusted by the slider). The next or the first file will be inserted. Only one file can be automatically inserted to the same position.

Search and lists

Directory finder

1by1 can scan for folders with known file types, playlists and Cue sheets with the Find previous/next folder buttons. If Auto search dirs is enabled, 1by1 will search the next folder when it reaches the end of the current one. To skip playlists and Cue sheets, check the corresponding options in Settings / Special.

File finder

By F3 or the tree context menu you can call the file finder for a folder tree item. Shift+F3 or the optional toolbar button calls the file finder for the current drive. The finder searches (always including subfolders) for files with currently supported types. You can enter a search string (e.g. part of a track name or an extension), a date range, a size range or a combination of all (AND combined). A running search can be interrupted by pressing the Esc key. The button To insert view sends the results to the Insert window instead of the normal file list.

To list all supported audio files of a path and subfolders, press Search with nothing entered. Or use Show subfolder contents from the tree menu. Scanning all drives at once is not possible.

Playlists and Cue Sheets

Playlists (*.m3u, *.m3u8) and Cue Sheets (*.cue) appear like folders in the tree. Playlists can be shown in their original order, sorted by filename or path or be shuffled. Cue sheets are used to display large files (e.g. CD images) with track indices and titles. A Cue sheet can only be played in the given order.

Note: Cue sheets used together with VBR files may create incorrect cue positions. 1by1 can locate the exact cue positions in VBR files with the Control option Scan Cue sheet positions on VBR files. While scanning the VBR file for the cues, the program may freeze for a short time.

Playlist View

A second list in the main window can be opened to compile a playlist from different folders. Use the Playlist button in the toolbar (or Shift+F5) to switch it on/off. If you quit 1by1 or close the list, the content will be saved.

To add files, simply drag them from the file list or press Ctrl+Return or choose Enqueue from the file context menu. You can also enqueue a file at the command line by starting 1by1 with the option /enqueue (see Command line options), or drag files from the explorer into the playlist view.

For adding existing m3u Playlists to the playlist view, copy the whole list from the normal view to the playlist view by selecting all (Ctrl+A). If the file of a playlist entry does not exist, it will not be copied to the playlist view.

To easily add the content of several folders to the playlist view, select Content to playlist by right clicking on each folder. To export tracks to a playlist file, open the context menu for one or more selected files and use Playlist file > Create/Append. This works also in the normal file view.

Status bar

The status bar on the bottom gives information of folder summary, track type and decoder, and on the right side some informations about program settings in short form. These are the meanings:

QUIT!

Quitting after current track

ENH1

Simple audio enhancer enabled

ENH2

Multiband audio enhancer enabled

EQ

Audio equalizer enabled

MONO

Mono downmixing audio

MUTE

Output muted

OVLP

Playing gapless and overlapped

GAPL

Playing gapless

SPACE

Auto space enabled

SRCH

Auto search dirs enabled

FCS

Continue in focused (last clicked) list

LOG

Track logging enabled

HTTP

HTTP/streaming server enabled

Shortcuts and external control

Keyboard shortcuts

Up/Down, Page Up/Down,

Home/End, Tab (or Ctrl+PgDown)

Navigate

Return

Play

Space

Stop/Resume

Left/Right

Track position (or folder tree control)

Ctrl+Up/Down or Numpad [+] / [-]

Volume

Ctrl+Left/Right or Numpad [/] / [*]

Play prev/next track

Shift+Left/Right or [,] / [.]

Search prev/next folder

Shift+(Pg)Up/Down

Move track up/down

Ins

Move track after current

Del

Skip track

Ctrl+A

Mark all

Ctrl+B

Toggle Big title view

Ctrl+C

Copy selected tracks to...

Ctrl+D

Auto search dirs on/off

Ctrl+E

Single band audio enhancer on/off

Ctrl+F

Find in current list

Ctrl+G

Gapless mode on/off

Ctrl+H or Ctrl+Home

Go home (to current track)

Ctrl+I or Alt+Return

File info window

Ctrl+K

Autospace on/off (on disables Gapless, time under settings)

Ctrl+M

Toggle Mono downmix

Ctrl+N

Intro scan

Ctrl+O or Ctrl+PgUp

Cycle track order type

Ctrl+P

Toggle order direction / re-shuffle

Ctrl+Q

Quit program after current track

Ctrl+R

Cycle repeat mode

Ctrl+T

Cycle title bar time display

Ctrl+U

Show upcoming/current file

Ctrl+V

Add current track and position to bookmarks

Ctrl+W

Equalizer on/off

Ctrl+X

Explore folder or edit Cue sheet/playlist

Ctrl+Y

Append seleced tracks to playlist file

Ctrl+Shift+B

Open manual beat counter / beat

Ctrl+Shift+C

Copy path and filename to clipboard

Ctrl+Shift+E

Multiband audio enhancer on/off

Ctrl+Shift+F

Toggle Continue in focused list

Ctrl+Shift+G

Go to folder

Ctrl+Shift+H

Toggle auto home

Ctrl+Shift+L

View track log

Ctrl+Shift+P

Toggle Cover art display

Ctrl+Shift+Q

Quit program on reaching end of current list

Ctrl+Shift+R

Repeat only current track

Ctrl+Shift+S

Stop only after current track

Ctrl+Shift+T

Toggle Always scan for times

Ctrl+Shift+V

Open cover picture in standard viewer

Ctrl+Shift+W

Enable HTTP/streaming server

Ctrl+Shift+Y

Copy "Now playing" info to clipboard

F1

Main/Bookmarks menu

F2

Rename/move file

F3

File finder

F4

Toggle tree view

F5 or Ctrl+End

Rescan tree and file list

F6

Settings window

F7

Toggle compact view

Shift+F3

Find files in current drive

Shift+F4

Scan files for times/info

Shift+F5

Toggle playlist view

Shift+F6 or Ctrl+Return

Enqueue file(s) after playlist view selection

Shift+F10

App key / context menu

Pause

Mute

Shift+Pause

Soft mute

App key

File/Tree menu

Escape

Close tool windows

(and even 1by1 with the "Allow quit by Escape" option)

Global Hotkeys

By using global Hotkeys you can reach basic play functions of 1by1without switching to the application. Preset Hotkeys are: F8 - F12, optionally combined with Alt, Ctrl or the Windows key:

(Ctrl / Alt / Win +) F8

Stop/Resume

(Ctrl / Alt / Win +) F9

Previous track

(Ctrl / Alt / Win +) F10

Next track

(Ctrl / Alt / Win +) F11

Volume down

(Ctrl / Alt / Win +) F12

Volume up

For setting own Hotkey definitions select the function in the list on the right, then choose a key from the list below and a combination. To define the Hotkey, press Set.

Command line options

Usage: 1by1.exe <audio file / folder / Cue sheet / playlist> <options>

Resume on start options:

/r

Resume the last track and position

/rt

Play the last track from the beginning

/rd

Play the last directory from the beginning (depending on how it is sorted)

Other options:

/close

Close the program after playing one track

/hide

Hide the window and enable the Systray icon

/enqueue

Enqueue the given file to the playlist view

/newinst

Start a new instance ignoring the "Only one instance" setting

/localini

Don't store the settings in the user profile

Audio configuration

Settings window

The Settings window can be opened with the Settings button, by pressing F6 or from the Main menu.

Audio settings

Output Device: Default is the default DirectSound device selected for the system. Also other available devices can be selected. If a selected device is not available later (e.g. by plugging out a headphone), it will result in an error.

Buffer length: Size of the total audio buffer used for DirectSound and WaveOut. Default is 1 second. On play interruptions a higher value could help.

Alt. volume setting: If (in rare cases) volume setting by the slider does not work or affects other apps, this option can be used to calculate the volume internally. Only working on 16 bit output.

Auto space: Waits the entered time (in milliseconds) before starting the next track. Maximum is 10 seconds. Disables the Gapless output.

Gapless: Allows continuous audio output on track changings. E.g. WAV, FLAC, CD and also MP3 files which are directly encoded with Lame can be played with no interruptions.

Skip silences: Parts below -56 dB at track beginnings and ends will be skipped.

Overlap mixing: Automated track transition mixing. Buffer size should be large enough, 10 seconds is the default. Out: Samplerate enables resampling to a fixed rate for avoiding interruptions on samplerate changes. Recommended is Out: Current track to disable resampling, because the quality needs to be improved. Threshold adjusts the level of the ending track where the next track sets in.

Decoders: ACM or mpglib.dll

ACM is the default and recommended decoder for MP3. It is already part of Windows since XP, so nothing to do here. Also Wine (Linux) provides an MP3 ACM, but it may return wrong "source bytes used" data causing the time and position bar run too fast. So on Wine it is recommended to use BASS also for MP3.

mpglib.dll is an alternative MPEG audio decoder and should be needed only in rare cases. It uses a little bit more CPU than ACM or BASS. Besides MP3 it also decodes MP2. It is available on 1by1's homepage. Only the binary is needed, not the source. If you use BASS, it is not needed at all.

Decoders: BASS

The BASS library decodes lots of file formats: MP3, MP2, OGG, WAV, many "trackers", and with add-ons also AAC, MP4, MIDI, FLAC, CD-Audio and more.

Usage: Download the bass.dll and optionally some add-ons from the Un4seen homepage. Copy the DLL file(s) into the 1by1 program folder. IMPORTANT: Copy the 32 bit versions, NOT 64 bit! Because 1by1 is also a 32 bit application. If you want to use the Midi add-on, you also need a GM Soundfont file in the program folder (the first one found is used). All currently supported file types are shown in the lists. The "pure" 1by1 only shows MP3 and MP2. Note: As on ACM only 16 bit output is used with BASS. Higher resolutions could be decoded by using a plugin.

BASS also allows netstreaming. The URLs must be in an m3u playlist, preferably together with a "friendly" stream name in a line above the URL (format: "#EXTINF:-1,name"). For more info check m3u format refererences or download the Webradio m3u example from the 1by1 homepage. You can also save a playing netstream: Right click on a folder in the tree and select Save download stream here...

Decoders: Winamp input plugins

Note: Plugin support is outdated. It's recommended to use the BASS library and BASS add-ons prior to Winamp plugins. Since 1by1 supports only Winamp 2.x plugins, unicode characters in filenames can't be resolved in some cases. Also problems on play and long tracks may occur.

In contrast to ACM or BASS a plugin could allow 24 or 32 bit output. This is barely tested. Also none of the DSP functions and the level meter work with higher resolutions. On output problems especially with higher resolutions switching from DirectSound to WaveOut could help.

Usage: put the needed plugin DLL files (in_*.dll) into your 1by1 directory.

Several plugins may behave differently. These plugins are successfully tested: in_wave (2.0+2.06), in_vorbis (1.13a, 1.2b19, 1.32; on seek problems set the plugin priority to "normal"), in_CDReader (1.95), in_mp3 (2.75j, 2.81b, 2.91; problems with seek on VBR files with no "TOC" in the header), in_mp3pro (1.1), in_mod (2.2.10b29), in_mad (0.14.2b, 0.15.1b; problems with seek on CBR files; 24/32 bit output successfully tested), in_mp4 (2.1b), in_flac (1.1.4; errors on 24 bit). Plugins which don't use the wave output are no longer supported (1by1 1.95), the behaviour is undefined.

Enhancer 1: Single band

A simple audio enhancer to get rid of different volumes of tracks. Depending on the settings and the input it also can enhance the sound of tracks which already have full level. Note: The enhancer works only with 16 bit output.

Max amp: Maximum amplification (up to 20 dB = 10x)

Amp raise: Time the enhancer tends towards the maximum amplification level. A shorter value will enhance more but can also cause more distortions on some input material. For more original sound choose longer values (500 ms or more), to enhance the presence try shorter values (130...80 ms).

Amp reduce: Amplification reducing speed on exceeding the threshold. To minimize distortions it must not be too slow but even not too fast. Recommended values are from 0.6 ms to 1.0 ms.

Threshold: A value of about -3 dB is recommended. This is the "headroom" to catch distortions if "Amp reduce" does not react fast enough. The output level is not generally limited to the threshold.

Input HP cutoff: Using a highpassed "side chain" signal to reduce a "pumping" output. May create bass distortions especially on values above 80 Hz. Then also lowering the Threshold can help.

Prelisten mode: Only enabled while play. It switches to a short buffer to give a fast adjustment response.

3 Band Equalizer: In the frequency fields you can set individual frequencies (parametric EQ). The default values are: 100 Hz, 1000 Hz, 10000 Hz. Works only on 16 bit output. Sliders on 0 dB don't not use CPU.

Enhancer 2: Multiband

Multiband enhancing can produce more consistent sound of different sources. Like an "automatic equalizer" it regulates frequency bands dynamically to a threshold. Adjustments should be careful. More garbage is possible - but also a more present and smoother sound. Also this DSP works on 16 bit output.

Up to four bands are possible. If a crossover frequency is set to 0, the next bands are disabled. Threshold is the most important value for the appearance of each band. Higher frequencies usually have a lower level in order not to overshade the mix. The curve on the right shows a frequency chirp, it is not aligned by the frequencies.

Drive adjusts the level after Multiband and before Soft clipping and Limiter. Stereo reaches from a 40 % mono mix to 40 % channel separation. Soft clipping is a simple algorithm to smooth distortions of audio clipping. It can also produce a bit of wanted saturation. If disabled, the Limiter catches clippings.

Miscellaneous settings

Control options

Continue in focused list: If the paylist view is open, the next track will be taken from the current position or selection of the focused list. The dimming of the unfocused list can be adjusted in the settings. Without this option, the list focus will be ignored and 1by1 continues playing in the list where the current file was started.

Go home before track change: To prevent from playing unwanted tracks on browsing through other folders.

List options

File info in context menu: Displays audio parameters, length and ID3v1 fields of the selected file directly at the top of the context menu.

Allow sort by month: Enables an additional sort option in the date column, which sorts the list at first by month and then by year.

Month colors: This feature visualizes the dates of the files. It associates a color range to the months, giving a possible overview of the track's seasons.

Display options

Show track/folder related pictures: Show images or cover art below the folder tree or in the embedded Big view on the right. If present, ID3v2 tag pictures are shown first. Otherwise 1by1 looks for picture files in the current folder. Either a track related picture file (name matches to the beginning of the current audio file name). Or an editable standard filename as "folder.jpg". In Big view the track related picture has priority, below the tree the folder picture will be used.

On no present image...: If no picture can be found, fill the place with a standard image. It must have the standard folder image filename and be stored in the 1by1 settings folder.

Custom BPM file for the toolbar buttons: Use an external image file for individual toolbar styles. The BMP file must be a row of 50 images of the same size. Its color depth should be 4 or 8 bit. The color of the first pixel will be interpreted as the transparent color. The BMP file must be in the program directory.

System options

External Programs: Start other programs for a file, folder, playlist or Cue sheet. For additional parameters a batch file could be used.

High Priority: Only recommended if other applications affect 1by1 and increasing the audio buffer size does not help.

Force portable/local settings: Create an additional ini file in the program folder (write access needed!). If present, 1by1 will never write or read settings to or from the user profile. Corresponding command line option is /localini.

Big view

Title, track and many more informations in a big text style. The view can either be embedded in the main window - below or above the lists. Or it can appear in an extra window - optionally after an individual input idle time. The font size depends on the size of the Big view area and the number of lines (Layout). The view can be switched manually by button, main menu or Ctrl+B.

Big view is configured in the settings. Sizes are adjusted by dragging the edges. If the undocked view moves out of screen for some reason, you can bring it back with Reset view position.

Extra infos: Frequently shows additional pages about play settings, track and output parameters. Info pattern defines type and order of the infos. The non-modal help window can stay open while editing.

RSS feed titles: Adds news headlines or other RSS feed information. Put source links into the URLs field, separated by space. If you are connected by proxy, the proxy address can be added in the system tab. The complete RSS download is shown with View RSS file from the Big view context menu.

Idle seconds until popup: Mouse or keyboard idle time for appearance of the undocked Big view. Auto popup works only if 1by1 is in foreground.

Enhanced features

Systray Icon

Enable/disable: Settings / System. Left mouse button on icon: Show or hide the main window. Middle mouse button on icon: Stop / Resume. Right mouse button on icon: Show the tray menu with play and config options. The Current list item shows the first 150 tracks of the current folder or playlist, sorted in the order of the window list.

Logging

The log file stores informations about played tracks. Toolbar button or main menu / View track log shows the content. The recent tracks and folders based on the log file can also be shown in optional history menus.

WAV file conversion

Tracks to be decoded by ACM, mpglib or BASS can also be saved to uncompressed WAV files (16 bit). When nothing is playing, call Special / Save to WAV file from the track context menu. Audio processing with the current settings for enhancer, equalizer and mono downmix can be applied optionally.

HTTP web and streaming server

The HTTP server feature allows to control 1by1 by a simple remote web interface. The streaming server sends the audio output of 1by1 in a configurable MP3 format to connected receivers.

After starting the server, a Firewall may ask for permission. You need either to allow the application 1by1 or the port used. By using the entered server (ip-address:port) you can access the simple web interface from any browser in the (local) network.

The MP3 streaming URL in the format http://ip:port/1by1.mp3 can be used by a remote player. The streaming link is also shown at the web interface page. Streaming starts if 1by1 is playing and a client requests the MP3 URL. If a client calls the stream while 1by1 is idle, it automatically resumes the current track.

The encoder settings can be adjusted while not streaming. Lame's lame_enc.dll must be in the path or in the 1by1 program folder. For ACM the "professional" version (l3codecp) should be used. Newer Windows versions should have it, but it may needed to be activated by adding a few Registry entries.

The option Keep connection and send silence allows streaming even if 1by1 is not playing. This may also be needed if Gapless play is not used. Otherwise an interruption of the stream may occur on track changes.

Note: Streaming of a running audio output is a quite complex matter of moving, handling, compressing and sending audio segments. Stream terminations, sound interruptions or skippings may occur. Depending on the device, WaveOut method for local audio output might give a little more stable results than DirectSound.

Version history

v2.06, 2023-06-03

- Find in current list (Ctrl+F)

- Shortcut changes for copy features

v2.05, 2022-10-27

- Key shortcut problem fixed

- Adjustable exponential fade decay

- Fade on unquiet track end option for Overlap

- Time summary for length in info column

- Select next after "Play one track" option

- Remaining time also in Big view

- Some improvements and corrections

v2.04, 2022-06-18

- Quick settings page

- Wrong label edit fixed

- Enhancer 2 user presets

- Enhancer 2 visualisation option (Big view)

- Toolbar buttons for enhancers and mono

- Group current 3 months option

- Minor changes and corrections

v2.03, 2022-04-16

- Optional Explorer style folder tree

- White config dialog tree background

- Some output corrections (hires, multichannel)

- Some minor improvements

v2.02, 2021-12-21

- Multi resume bugs fixed

- Minor modifications

v2.01, 2021-12-13

- DPI awareness

- Modified large buttons and theme presets

- Some more functions for global hotkeys

- File info dialog re-designed

- Control lock options

- Some more improvements

v2.00, 2021-10-30

- Possible folder resume related crash fixed

- Cue sheet times display bug fixed

- System properties for track context menu

- Explorer from context with track selected

- Program icon as optional picture placeholder

- File sizes shown in MB

- Some options went to Special tab

- Minor changes

v1.99, 2021-06-24

- Remember positions in folders option

- Folder content to playlist function (tree menu)

- AGC for Enhancer 2

- Presets for Enhancer 2 improved

- Config dialog display correction

- Config dialog tree item order modified

- Cue sheet display glitches fixed

- Some minor things

v1.98, 2021-03-16

- Nicer config window style

- Arrow sort direction indication

- Reading BASS tag titles (FLAC, MP4, OGG)

- Notes for Info column option

- Multiband presets added

- Fade in on resume

- Fast play improved

- Some corrections

v1.97, 2020-08-29

- Possible Multiband DSP overdrive fixed

- Stereo mode for Plugins was not shown for current track

- Multiple folder picture names possible

- Wait for pre-buffering on BASS stream play

- Toolbar is now wrapable

- Optional toolbar buttons with description

- Optional toolbar Tab key access

- New toolbar symbol color grey

- Some corrections

v1.96, 2020-05-31

- Big view below track list option

- Cover art display method changed

- DirectSound Level meter corrections

- Previous Soft clip method in Enhancer 2

- Plugin host adjustments

v1.95, 2020-03-22

- Overlap/crossfade engine rewritten

- DirectSound and WaveOut handling renewed

- New Multiband enhancer filtering

- Input plugin host rewritten

- Config dialog style changes

- Intro scan ignoring track change fixed

- Lots of improvements and corrections

v1.94, 2020-01-16

- Ini file strings changed to UTF-8

- Compare folders feature renewed

- DSP Plugin config handling modified

- Bold treeview items on current file path

- Auto time scan on multi enqueue fixed

v1.93, 2018-08-26

- Improved Soft clip implementation on multiband

- Adjustable title limit for RSS feed display

- Streaming from https enabled

v1.92, 2018-05-25

- Plugin issues fixed

- HTTP control slightly improved

- 5 band dynamics and lookahead peak limiter

- Simple host for Winamp dsp plugins

- Finer mouse wheel volume option

Frequently asked questions

How can I play MP4, AAC, WAV, OGG, FLAC, CD...?

By using the BASS library or a plugin. More infos under Audio config.

Which plugin plays exotic formats?

Known informations are collected in the Plugin section (Configuration).

The volume fader does not work or affects other programs.

Activate 1by1's internal volume adjustment: Settings / Audio / Alternative internal volume.

Play is interrupted sometimes.

In the Audio settings set a higher value for Buffer length. Try both audio device types - DirectSound is recommended prior WaveOut. First list entry of each is the default device set in the system. Also the "High task priority" option in Settings / System could help.

Can 1by1 show ID3 Tag informations in the list?

Scannable informations like titles can be shown in an extra column. This is enabled under "List and Tree". ID3 fields are also shown in the track info dialog (Context menu or Alt+Return or Ctrl+I) and in the Big view.

How can I shuffle multiple folders at once?

From a folder context menu call Show subfolder contents to show everything within this path. Or add several folders to the playlist view by calling Content to playlist. The result can be shuffled or sorted as known.

Network or desktop folders do not work correctly.

The complete network structure is only shown on browsing the network. To display an existing track path in the network, 1by1 will add the single \\server\sharepoint\ part under the network item.

Can 1by1 support multiple languages?

Language support is not planned. The program and all documentations will only be provided in english.

How can I make 1by1 portable?

See under Miscellaneous settings / System options.

Copyright © 2001-2023 Martin Pesch

SimpleRecorder

TOC Index

NAME

SimpleRecorder - simple audio recorder

SYNOPSIS

WA2LWinTools/bin/SimpleRecorder [ -h | -V ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

Simple Recorder is a lightweight and efficient tool for recording audio (voice, music, etc..) on your computer.

SimpleRecorder presents the following elements to the user:

Devices:

Show a list of available input devices, select the input you want (line / mic / other)

Timer:

Displays the elapsed time of the recording

Vu-meter:

Show the signal level in real time

START/STOP:

Start and stop the recording!

Recorded file:

Click on the "..." button to browse your folder and choose a name for your recording, default is .../WA2LWinTools/var/tmp/Recording.201611242216.wav.

If the file name is set in the format Recording.201611242216.wav the timestamp is changed on each program start to the current reverse date and time.

OPTIONS

-h

usage message.

-V

print program version.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage message displayed.

5

version message displayed.

FILES

etc/SimpleRecorder.cfg

INI file maintained by SimpleRecorder to hold all settings.

var/db/simplerecorder/

default directory to save the recordings.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), config(1m), http://simplerecorder.free.fr/

NOTES

SimpleRecorder has been developed by <simplerecorder@free.fr>.

Parts of the documentation has been extracted from http://simplerecorder.free.fr/.

BUGS

-

AUTHOR

simplerecorder was developed by <simplerecorder@free.fr> and integrated into WA2L/WinTools by Christian Walther. Send suggestions and bug reports regarding the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:33:00 GMT, September 14, 2024

meta2cover

TOC Index

NAME

meta2cover - create PDF cover page based on meta data

SYNOPSIS

WA2LWinTools/bin/meta2cover [ -h | -V | -i | -u ]

meta2cover [ -d templatedir ] file...

AVAILABILITY

WA2L/WinTools

DESCRIPTION

create a PDF cover page for document(s) based on meta data entered using the metadata(1) command. This enables you to efficiently create unique looking document collections also when each underlying document has its own title page.

The cover page file name is document.ext.cover.pdf .

The meta2cover command should be installed to the 'Send To' context menu in 'Microsoft™ Windows Explorer' for most convenient usage. To do so, invoke meta2cover -i once.

OPTIONS

-h

usage message.

-V

print program version.

-i

install the meta2cover command as menu point to the 'Send To' context menu in 'Windows Explorer'.

-u

uninstall the meta2cover shortcut from the 'Send To' context menu in 'Windows Explorer'.

-d templatedir

directory of meta2cover.Publisher.docx files if different from the default location etc/. See meta2cover.docx(4) for more information.

file...

file to create the cover PDF file for.

You can select the original file (file.ext), the *.meta file or the file.ext.cover.pdf to create the cover page. The prerequisite is, that the original file once has been registered using metadata(1).

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage message displayed.

5

program version printed.

FILES

lib/meta2cover.default.docx

built in default template for all publishers for which no specific meta2cover.Publisher.docx template exists.

Do not change this file, it will be overwritten when upgrading the WA2L/WinTools package, create your own meta2cover.default.docx file in the etc/ directory.

etc/meta2cover.Publisher.docx

customized publisher specific template.

etc/meta2cover.default.docx

customized default template for all publishers for which no specific meta2cover.Publisher.docx exists.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), meta2cover.docx(4), metadata(1), metadata.cfg(4)

NOTES

-

BUGS

-

AUTHOR

meta2cover was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:22 GMT, September 14, 2024

meta2cover.docx

TOC Index

NAME

meta2cover.docx - Word template for the PDF cover page

SYNOPSIS

WA2LWinTools/lib/meta2cover.default.docx

WA2LWinTools/etc/meta2cover.Publisher.docx

WA2LWinTools/etc/meta2cover.default.docx

AVAILABILITY

WA2L/WinTools

DESCRIPTION

This is a Word file used as template to create the PDF cover page for a document based on the resolved/entered meta data information using the metadata(1) command.

The @NAME@ placeholders are replaced with the fields from the document related *.meta file.

The template file used depends on the Publisher field in the related *.meta file. Therefore you can define a specific template for a certain publisher.

FILEFORMAT

'Microsoft™ Word' file containing @NAME@ placeholder tags.

OPTIONS

@NAME@

meta field name as resolved from the .meta file. The NAME has to be specified in upper case always, also when the meta data field contains upper/lower case.

FILES

lib/meta2cover.default.docx

built in default template for all publishers for which no specific meta2cover.Publisher.docx template exists.

Do not change this file, it will be overwritten when upgrading the WA2L/WinTools package, create your own meta2cover.default.docx file in the etc/ directory.

etc/meta2cover.Publisher.docx

customized publisher specific template.

etc/meta2cover.default.docx

customized default template for all publishers for which no specific meta2cover.Publisher.docx exists.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), meta2cover(1), metadata(1), metadata.cfg(4)

NOTES

-

BUGS

-

AUTHOR

meta2cover.docx was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LSimpleBackup/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION FILEFORMAT OPTIONS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:23 GMT, September 14, 2024

MetarWeather

TOC Index

NAME

MetarWeather - decode METAR world weather reports

SYNOPSIS

WA2LWinTools/bin/MetarWeather [ -h | -i | -u | -V ]

MetarWeather [ options ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

The MetarWeather utility decodes METAR weather reports from around the world, and displays them in a simple weather report table.

You can save the weather report into text, HTML or XML files.

MetarWeather can decode METAR reports from a text file, or download the latest reports directly from the Internet.

See full MetarWeather description on: https://www.nirsoft.net/utils/mweather.html

OPTIONS

-h

usage message.

-i

install the MetarWeather command on the Windows™ 'Desktop'.

-u

uninstall the MetarWeather command from the Windows™ 'Desktop'.

-V

print program version.

options

more MetarWeather options. See https://www.nirsoft.net/utils/mweather.html for more information.

ENVIRONMENT

-

EXIT STATUS

0

always.

FILES

etc/MetarWeather.cfg

configuration file of MetarWeather.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), config(1m), https://www.nirsoft.net/utils/mweather.html

NOTES

This manpage is a partial extract of the home page https://www.nirsoft.net/utils/mweather.html which has been written by Nir Sofer <nirsofer@yahoo.com>. See the mentioned web page to view the complete MetarWeather description.

BUGS

-

AUTHOR

MetarWeather was developed by Nir Sofer <nirsofer@yahoo.com> (https://www.nirsoft.net/utils/mweather.html) and integrated into WA2L/WinTools by Christian Walther. Send suggestions and bug reports regarding the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:25 GMT, September 14, 2024

Miranda

TOC Index

NAME

Miranda - multi protocol instant messaging

SYNOPSIS

WA2LWinTools/bin/Miranda [ -h | -i | -u | -V ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

Miranda NG (Next Generation) is a successor of a popular multi-protocol instant messaging client for Windows - Miranda IM.

Very light on system resources and extremely fast.

Protocol support for:

-

Discord

-

Em-LAN

-

Facebook

-

Gadu-Gadu

-

ICQ / MRA

-

IRC (Internet Relay Chat)

-

Jabber

-

MinecraftDynmap

-

Omegle

-

Sametime

-

Skype

-

Steam

-

Tox

-

Twitter

-

VKontakte

OPTIONS

-h

usage message.

Start Miranda.

-i

install the Miranda command to 'Startup' in the Windows Start Menu.

-u

uninstall the Miranda shortcut from 'Startup' in the Windows Start Menu.

-V

print program version.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage message displayed.

5

version message displayed.

FILES

var/db/miranda/

profile configurations.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), activehotkeys(1m), config(1m), https://www.miranda-ng.org/, https://github.com/miranda-ng/miranda-ng, https://wiki.miranda-ng.org/

NOTES

Parts of this manpages were extracted from the documentation of Miranda NG from https://miranda-ng.org/ and https://github.com/miranda-ng/miranda-ng.

BUGS

-

AUTHOR

Miranda was developed by the Miranda NG Team <https://www.miranda-ng.org/> and integrated into WA2L/WinTools by Christian Walther. Send suggestions and bug reports regarding to the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:26 GMT, September 14, 2024

MonitorOFF

TOC Index

NAME

MonitorOFF - temporarily turn off all monitors

SYNOPSIS

WA2LWinTools/bin/MonitorOFF [ -h | -i | -u | -V ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

temporarily turn off all monitors.

The monitors are turned on again on user activity, as when the mouse is clicked or a key is pressed.

This is useful when working with an external keyboard with a Laptop without access to the Fn key.

OPTIONS

-h

usage message.

-i

install the MonitorOFF command on the Windows™ 'Desktop'.

-u

uninstall the MonitorOFF command from the Windows™ 'Desktop'.

-V

print program version.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage displayed.

5

version message displayed.

FILES

-

EXAMPLES

-

SEE ALSO

wintoolsintro(1), config(1m)

NOTES

when caffeine(1) is running without the -stes and -allowss options MonitorOFF cannot turn off the monitors reliable.

This is why MonitorOFF asks to restart Caffeine when this condition is detected.

BUGS

does not work when nosleep(1) is active.

AUTHOR

MonitorOFF was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2021 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:27 GMT, September 14, 2024

Qsel

TOC Index

NAME

MouseFinder - Arrow pointing to the mouse pointer location

SYNOPSIS

WA2LWinTools/bin/MouseFinder

MouseFinder [ -h | -i | -u | -V ]

MouseFinder [ x=x-coord y=y-coord | POSITION=direction ] [ lang=language ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

Fine, now you have a lot of screens at your personal computer - but: Where is the mousepointer?

MouseFinder shows a small icon with an arrow, that exactly points to the actual position of the mousepointer.

With the left mouse button you can move the MouseFinder icon to every position on the screen where you want it.

To set the position on startup, define it in the configuration file edrc/MouseFinder.cfg.

MouseFinder will be always at top most z-position, so that you also can see it, if many applications are on the screen. With its distinctive colors it will catch your eyes.

You can terminate MouseFinder like every windows application with the keys ALT+F4.

The key F1 displays an online help concerning MouseFinder.

Pressing the right mouse button over the MouseFinder icon opens the settings dialog box of MouseFinder.

Here e.g. you can select, that not only an arrow points to the mouse, but also exact mouse coordinates will be displayed as a text in the MouseFinder icon.

OPTIONS

-h

usage message.

-i

install the MousePointer command to 'Startup' in the Windows Start Menu.

-u

uninstall the MousePointer shortcut from 'Startup' in the Windows Start Menu.

-V

print MousePointer version.

x=x-coordinate

x coordinate of the MouseFinder arrow on screen.

The coordinate can be a formula, where the variables MONITOR_WIDTH_# and MONITOR_HEIGHT_# can be used ( # is the number of the monitor).

y=y-coordinate

y coordinate of the MouseFinder arrow on screen.

The coordinate can be a formula, where the variables MONITOR_WIDTH_# and MONITOR_HEIGHT_# can be used ( # is the number of the monitor).

lang=language

language of the user interface.

Possible language settings are: en and de.

POSITION=cardinal_direction

predefined positions of the MouseFinder arrow on screen.

Possible cardinal_direction settings are: CENTER, NORTH, NORTHEAST, EAST, SOUTHEAST, SOUTH, SOUTHWEST, WEST and NORTHWEST.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage message displayed.

5

version message displayed.

FILES

etc/MousePointer.cfg

configuration file to define position and other settings for MouseFinder.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), config(1m), MouseFinder.cfg(4) http://www.hardo-naumann.de/mousefinder.html, http://www.hardo-naumann.de/mousefinder.en.html

NOTES

MouseFinder has been developed by Hardo Naumann <hardo.naumann@gmx.de>.

Parts of the documentation has been extracted from http://www.hardo-naumann.de/mousefinder.en.html.

See also: http://www.hardo-naumann.de/mousefinder.html and http://www.hardo-naumann.de/mousefinder.en.html for more information.

BUGS

-

AUTHOR

MousePointer was developed by Hardo Naumann <hardo.naumann@gmx.de> and integrated into WA2L/WinTools by Christian Walther. Send suggestions and bug reports related to the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:27 GMT, September 14, 2024

MoveToScreen

TOC Index

NAME

MoveToScreen - move off-screen applications to screen

SYNOPSIS

WA2LWinTools/bin/MoveToScreen

MoveToScreen [ -h | -i | -u | -V ]

MoveToScreen [ --span ] [ monitor_number ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

when using multiple screens on Windows™, sometimes applications started on other screens cannot be accessed when later only the primary monitor is used.

To move all off-screen applications to the visible screen, start MoveToScreen and all applications will be moved to that screen.

OPTIONS

-h

usage message.

-i

install the MoveToScreen command as shortcut to the user's 'Desktop'.

-u

uninstall the MoveToScreen shortcut from the user's 'Desktop'.

-V

print program version.

--span

allow windows to span monitors.

monitor_number

monitor number where to move all the windows to. Normally the main monitor (e.g. the Notebook monitor) has the number 1.

To display/identify the assigned monitor numbers on your system:

Right Mouse Click on Desktop → Display settings → Identify

or

Right Mouse Click on Desktop → Display resolution → Identify

ENVIRONMENT

-

EXIT STATUS

0

always.

FILES

etc/MoveToScreen.cfg

configuration file for the MoveToScreen command. In this file the options to the MoveToScreen command can be set thru the OPTIONS=options setting.

Example:

#

# MoveToScreen.cfg - Configfile for MoveToScreen

#

# [00] 11.02.2019 CWa   Initial Version

#

OPTIONS=1

The options specified on the command line are appended to those defined in the configuration file.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), config(1m), movetoscreen.cfg(4), http://www.taenarum.com/software/Borderline.html

NOTES

Parts of this manpage were extracted from the documentation of borderline written by James D. Lin and modified to fit to the WA2L/WinTools package. See: http://www.taenarum.com/software/Borderline.html for more information.

BUGS

-

AUTHOR

borderline was developed by James D. Lin and integrated as MoveToScreen into WA2L/WinTools by Christian Walther. Send suggestions and bug reports related to the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:28 GMT, September 14, 2024

MultiClipBoardSlots

TOC Index

NAME

MultiClipBoardSlots - extend the clipboard for up to 10 clipboard memory slots

SYNOPSIS

WA2LWinTools/bin/MultiClipBoardSlots

MultiClipBoardSlots [ -h | -i | -u | -V ]

MultiClipBoardSlots [ hide ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

MultiClipBoardSlots allows you easily to insert text, images, and other objects between the programs via freely selectable shortcut without losing the contents of the clipboard slots, because the default clipboard will be overwritten by other programs.

The keyboard shortcuts for the clipboard memory slots are predefined, but always it can be individually adjusted.

See also: http://www.softwareok.eu/?seite=Microsoft/MultiClipBoardSlots and http://www.softwareok.eu/?faq-MultiClipBoardSlots

Features:

-

Especially small

-

self explanatory simple to use

-

Minimizes to tray area

-

Freely selectable Windows keyboard shortcut

-

Multilingual

-

The copied object type is preserved

OPTIONS

-h

usage message.

-i

install the MultiClipBoardSlots command to 'Startup' in the Windows Start Menu.

-u

uninstall the MultiClipBoardSlots shortcut from 'Startup' in the Windows Start Menu.

-V

print program version.

hide

start MultiClipBoardSlots hidden.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage message displayed.

5

version message displayed.

FILES

etc/MultiClipBoardSlots.cfg

configuration file of MultiClipBoardSlots.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), config(1m), pdf-copy-paster(1), puretext(1), http://www.softwareok.eu/?seite=Microsoft/MultiClipBoardSlots, http://www.softwareok.eu/?faq-MultiClipBoardSlots

NOTES

MultiClipBoardSlots works smoothly together with PureText .

Parts of this manpage were extracted from the documentation of MultiClipBoardSlots written by Nenad Hrg and modified to fit to the WA2L/WinTools package. See: http://www.softwareok.eu/?seite=Microsoft/MultiClipBoardSlots for more information.

BUGS

-

AUTHOR

MultiClipBoardSlots was developed by Nenad Hrg and integrated into WA2L/WinTools by Christian Walther. Send suggestions and bug reports related to the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2022 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:29 GMT, September 14, 2024

PDF-Copy-Paster

TOC Index

NAME

PDF-Copy-Paster - Copy-paste text from PDF readers without line feeds

SYNOPSIS

WA2LWinTools/bin/PDF-Copy-Paster

PDF-Copy-Paster [ -h | -i | -u | -V ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

This script strips out all hard returns out of any copied text.

Simply keep the program running and it will automatically take out all the hard returns in the background.

The program only activates for PDF readers. Currently the program recognizes Adobe Reader (both the standalone program and the browser plugin versions), Foxit Reader and Sumatra PDF as PDF readers.

OPTIONS

-h

usage message.

-i

install the PDF-Copy-Paster command to 'Startup' in the Windows Start Menu.

-u

uninstall the PDF-Copy-Paster shortcut from 'Startup' in the Windows Start Menu.

-V

print program version.

ENVIRONMENT

-

EXIT STATUS

0

always.

4

usage message displayed.

5

version message displayed.

FILES

-

EXAMPLES

-

SEE ALSO

wintoolsintro(1), config(1m), multiclipboardslots(1), puretext(1), http://www.onehourprogramming.com/blog/2010/9/1/fix-copy-and-pasting-in-pdfs.html

NOTES

Parts of this manpage were extracted from the documentation of PDF Copy-Paster written by <onehourprogrammer@gmail.com> and modified to fit to the WA2L/WinTools package. See: http://www.onehourprogramming.com/blog/2010/9/1/fix-copy-and-pasting-in-pdfs.html for more information.

BUGS

-

AUTHOR

PDF-Copy-Paster was developed by <onehourprogrammer@gmail.com> and integrated into WA2L/WinTools by Christian Walther. Send suggestions and bug reports related to the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:37 GMT, September 14, 2024

PureText

TOC Index

NAME

PureText - paste pure unformatted text from clipboard

SYNOPSIS

WA2LWinTools/bin/PureText [ -h | -i | -u | -V ]

PureText [ /C ] [ /P ] [ /S ] [ /N ] [ /L ] [ /U ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

PureText is a tiny tray utility that removes all text formatting from your clipboard and optionally pastes the resulting pure text to the active window with a single hotkey.

Have you ever copied some text from a web page or Word document, and wanted to paste it as plain text into another application without getting all the formatting from the original source? PureText makes this simple. Just copy/cut whatever you want to the clipboard, click on the PureText tray icon, and then paste to any application. Better yet, you can configure a PureText Hotkey to convert and paste the text for you. The pasted text will be pure and free from all formatting.

After running PureText, you will see a "PT" icon appear near the clock on your task bar. You can click on this icon to remove formatting from the text that is currently on the clipboard. You can right-click on the icon to display a menu with more options.

The easiest way to use PureText is to simply use its Hotkey to paste text instead of using the standard Ctrl+V Hotkey that is built into most Windows applications. To configure PureText, right-click on its tray icon and choose "Options" from the pop-up menu. The default Hotkey is WINDOWS+V, but this can be changed.

What PureText Will and Will Not Do:

PureText only removes rich formatting from text. This includes the font face, font style (bold, italics, etc.), font color, paragraph styles (left/right/center aligned), margins, character spacing, bullets, subscript, superscript, tables, charts, pictures, embedded objects, etc. However, it does not modify the actual text. It will not remove or fix new-lines, carriage returns, tabs, or other white-space. It will not fix word-wrap or clean up your paragraphs. If you copy the source code of a web page to the clipboard, it is not going to remove all the HTML tags. If you copy text from an actual web page (not the source of the page), it will remove the formatting.

PureText is equivalent to opening Notepad, doing a PASTE, followed by a SELECT-ALL, and then a COPY. The benefit of PureText is performing all these actions with a single Hotkey and having the result pasted into the current window automatically.

OPTIONS

-h

usage message.

Start PureText.

-i

install the PureText command to 'Startup' in the Windows Start Menu.

-u

uninstall the PureText shortcut from 'Startup' in the Windows Start Menu.

-V

print program version.

/C

Convert the clipboard contents to pure text and exit.

/P

Paste the converted text into the active window (implies /C).

/S

Play a sound (implies /C).

/N

No icon in system tray.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage message displayed.

5

version message displayed.

FILES

etc/PureText.cfg

config file for PureText.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), config(1m), multiclipboardslots(1), pdf-copy-paster(1), https://stevemiller.net/puretext/

NOTES

PureText works smoothly together with MultiClipBoardSlots.

Parts of this manpages were extracted from the documentation of PureText from https://stevemiller.net/puretext/.

BUGS

-

AUTHOR

PureText was developed by Steve Miller <https://stevemiller.net/email> and integrated into WA2L/WinTools by Christian Walther. Send suggestions and bug reports regarding to the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2024 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:46 GMT, September 14, 2024

NANO

TOC Index

NAME

nano - Nano's ANOther editor, an enhanced free Pico clone

SYNOPSIS

nano [options] [[+line[,column]] file]...

DESCRIPTION

nano is a small and friendly editor. It copies the look and feel of Pico, but is free software, and implements several features that Pico lacks, such as: opening multiple files, scrolling per line, undo/redo, syntax coloring, line numbering, and soft-wrapping overlong lines.

When giving a filename on the command line, the cursor can be put on a specific line by adding the line number with a plus sign (+) before the filename, and even in a specific column by adding it with a comma.

As a special case: if instead of a filename a dash (-) is given, nano will read data from standard input.

EDITING

Entering text and moving around in a file is straightforward: typing the letters and using the normal cursor movement keys. Commands are entered by using the Control (^) and the Alt or Meta (M-) keys. Typing ^K deletes the current line and puts it in the cutbuffer. Consecutive ^Ks will put all deleted lines together in the cutbuffer. Any cursor movement or executing any other command will cause the next ^K to overwrite the cutbuffer. A ^U will paste the current contents of the cutbuffer at the current cursor position.

When a more precise piece of text needs to be cut or copied, one can mark its start with ^6, move the cursor to its end (the marked text will be highlighted), and then use ^K to cut it, or M-6 to copy it to the cutbuffer. One can also save the marked text to a file with ^O, or spell check it with ^T.

Since nano-2.7.0, text can also be selected by holding Shift and moving the cursor with the arrow keys. Holding down the Alt key too will increase the stride.

The two lines at the bottom of the screen show some important commands; the built-in help (^G) lists all the available ones. The default key bindings can be changed via a nanorc file -- see nanorc(5).

OPTIONS

-A, --smarthome

Make the Home key smarter. When Home is pressed anywhere but at the very beginning of non-whitespace characters on a line, the cursor will jump to that beginning (either forwards or backwards). If the cursor is already at that position, it will jump to the true beginning of the line.

-B, --backup

When saving a file, back up the previous version of it, using the current filename suffixed with a tilde (~).

-C directory, --backupdir=directory

Make and keep not just one backup file, but make and keep a uniquely numbered one every time a file is saved -- when backups are enabled (-B). The uniquely numbered files are stored in the specified directory.

-D, --boldtext

Use bold text instead of reverse video text.

-E, --tabstospaces

Convert typed tabs to spaces.

-F, --multibuffer

Read a file into a new buffer by default.

-G, --locking

Use vim-style file locking when editing files.

-H, --historylog

Save the last hundred search strings and replacement strings and executed commands, so they can be easily reused in later sessions.

-I, --ignorercfiles

Don't look at the system's nanorc nor at the user's nanorc.

-K, --rebindkeypad

Interpret the numeric keypad keys so that they all work properly. You should only need to use this option if they don't, as mouse support won't work properly with this option enabled.

-L, --nonewlines

Don't add newlines to the ends of files.

-M, --trimblanks

Snip trailing whitespace from the wrapped line when automatic hard-wrapping occurs or when text is justified.

-N, --noconvert

Disable automatic conversion of files from DOS/Mac format.

-O, --morespace

Use the blank line below the title bar as extra editing space.

-P, --positionlog

For the 200 most recent files, log the last position of the cursor, and place it at that position again upon reopening such a file. (The old form of this option, --poslog, is deprecated.)

-Q characters, --quotestr=characters

Set the quoting string for justifying. The default is "^([ \t]*[#:>\|}])+" if extended regular expression support is available, or "> " otherwise. Note that \t stands for a Tab.

-R, --restricted

Restricted mode: don't read or write to any file not specified on the command line; don't read any nanorc files nor history files; don't allow suspending nor spell checking; don't allow a file to be appended to, pre-pended to, or saved under a different name if it already has one; and don't use backup files. This restricted mode is also accessible by invoking nano with any name beginning with 'r' (e.g. "rnano").

-S, --smooth

Use smooth scrolling: text will scroll line-by-line, instead of the usual chunk-by-chunk behavior.

-T number, --tabsize=number

Set the size (width) of a tab to number columns. The value of number must be greater than 0. The default value is 8.

-U, --quickblank

Do quick status-bar blanking: status-bar messages will disappear after 1 keystroke instead of 25. Note that option -c (--constantshow) overrides this.

-V, --version

Show the current version number and exit.

-W, --wordbounds

Detect word boundaries differently by treating punctuation characters as part of a word.

-X characters, --wordchars=characters

Specify which other characters (besides the normal alphanumeric ones) should be considered as part of a word. This overrides option -W (--wordbounds).

-Y name, --syntax=name

Specify the name of the syntax highlighting to use from among the ones defined in the nanorc files.

-a, --atblanks

When doing soft line wrapping, wrap lines at whitespace instead of always at the edge of the screen.

-c, --constantshow

Constantly show the cursor position on the status bar. Note that this overrides option -U (--quickblank).

-d, --rebinddelete

Interpret the Delete key differently so that both Backspace and Delete work properly. You should only need to use this option if Backspace acts like Delete on your system.

-g, --showcursor

Make the cursor visible in the file browser, putting it on the highlighted item. Useful for braille users.

-h, --help

Show a summary of the available command-line options and exit.

-i, --autoindent

Indent new lines to the previous line's indentation. Useful when editing source code.

-k, --cutfromcursor

Make the 'Cut Text' command (normally ^K) cut from the current cursor position to the end of the line, instead of cutting the entire line.

-l, --linenumbers

Display line numbers to the left of the text area.

-m, --mouse

Enable mouse support, if available for your system. When enabled, mouse clicks can be used to place the cursor, set the mark (with a double click), and execute shortcuts. The mouse will work in the X Window System, and on the console when gpm is running. Text can still be selected through dragging by holding down the Shift key.

-n, --noread

Treat any name given on the command line as a new file. This allows nano to write to named pipes: it will start with a blank buffer, and will write to the pipe when the user saves the "file". This way nano can be used as an editor in combination with for instance gpg without having to write sensitive data to disk first.

-o directory, --operatingdir=directory

Set the operating directory. This makes nano set up something similar to a chroot.

-p, --preserve

Preserve the XON and XOFF sequences (^Q and ^S) so they will be caught by the terminal.

-q, --quiet

Obsolete option. Recognized but ignored.

-r number, --fill=number

Hard-wrap lines at column number. If this value is 0 or less, wrapping will occur at the width of the screen less number columns, allowing the wrap point to vary along with the width of the screen if the screen is resized. The default value is -8. This option conflicts with -w (--nowrap) -- the last one given takes effect.

-s program, --speller=program

Use this alternative spell checker command.

-t, --tempfile

Save a changed buffer without prompting (when exiting with ^X).

-u, --unix

Save a file by default in Unix format. This overrides nano's default behavior of saving a file in the format that it had. (This option has no effect when you also use --noconvert.)

-v, --view

Just view the file and disallow editing: read-only mode.

-w, --nowrap

Disable the hard-wrapping of long lines. This option conflicts with -r (--fill) -- the last one given takes effect.

-x, --nohelp

Don't show the two help lines at the bottom of the screen.

-z, --suspend

Enable the suspend ability.

-$, --softwrap

Enable 'soft wrapping'. This will make nano attempt to display the entire contents of any line, even if it is longer than the screen width, by continuing it over multiple screen lines. Since '$' normally refers to a variable in the Unix shell, you should specify this option last when using other options (e.g. 'nano -wS$') or pass it separately (e.g. 'nano -wS -$').

-b, -e, -f, -j

Ignored, for compatibility with Pico.

TOGGLES

Several of the above options can be switched on and off also while nano is running. For example, M-L toggles the hard-wrapping of long lines, M-$ toggles soft-wrapping, M-# toggles line numbers, M-M toggles the mouse, M-I auto-indentation, and M-X the help lines. See at the end of the ^G help text for a complete list.

INITIALIZATION FILE

nano will read two configuration files: first the system's nanorc (if it exists), and then the user's nanorc (if it exists), either ~/.nanorc or $XDG_CONFIG_HOME/nano/nanorc or ~/.config/nano/nanorc, whichever is encountered first. See nanorc(5) for more information on the possible contents of those files.

NOTES

If no alternative spell checker command is specified on the command line nor in one of the nanorc files, nano will check the SPELL environment variable for one.

In some cases nano will try to dump the buffer into an emergency file. This will happen mainly if nano receives a SIGHUP or SIGTERM or runs out of memory. It will write the buffer into a file named nano.save if the buffer didn't have a name already, or will add a ".save" suffix to the current filename. If an emergency file with that name already exists in the current directory, it will add ".save" plus a number (e.g. ".save.1") to the current filename in order to make it unique. In multibuffer mode, nano will write all the open buffers to their respective emergency files.

BUGS

Justifications (^J) are not yet covered by the general undo system. So after a justification that is not immediately undone, earlier edits cannot be undone any more. The workaround is, of course, to exit without saving.

The recording and playback of keyboard macros works correctly only on a terminal emulator, not on a Linux console (VT), because the latter is a deficient terminal.

Please report any other bugs that you encounter via:

https://savannah.gnu.org/bugs/?group=nano.

HOMEPAGE

https://nano-editor.org/

SEE ALSO

wintoolsintro(1), config(1m), nanorc(5)

AUTHOR

Chris Allegretta and others (see the files AUTHORS and THANKS for details). This manual page was originally written by Jordi Mallach for the Debian system (but may be used by others).

NAME SYNOPSIS DESCRIPTION EDITING OPTIONS TOGGLES INITIALIZATION FILE NOTES BUGS HOMEPAGE SEE ALSO AUTHOR

This document was created by man2html using the manual pages.

Time: 16:32:30 GMT, September 14, 2024

NewsLibrary

TOC Index

NAME

NewsLibrary - open WA2L/NewsLibrary in default web browser

SYNOPSIS

WA2LWinTools/bin/NewsLibrary [ -h | -i | -u | -V ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

the NewsLibrary command starts the WA2L/NewsLibrary web page ("application") in the webbrowser(1) or the systems default web browser.

OPTIONS

-h

usage message.

-i

install the NewsLibrary command as shortcut to the user's 'Desktop'.

-u

uninstall the NewsLibrary shortcut from the user's 'Desktop'.

-V

print program version.

ENVIRONMENT

-

EXIT STATUS

-

FILES

http://wa2l-wintools.sourceforge.net/www/WA2LNewsLibrary/

EXAMPLES

-

SEE ALSO

wintoolsintro(1), webbrowser(1)

NOTES

-

BUGS

-

AUTHOR

NewsLibrary was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:31 GMT, September 14, 2024

OutlookAttachView

TOC Index

NAME

OutlookAttachView - View/Extract/Save Outlook Attachments

SYNOPSIS

WA2LWinTools/bin/OutlookAttachView [ -h | -i | -u | -V ]

OutlookAttachView [ options ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

OutlookAttachView scans all messages stored in your Outlook, and displays the list of all attached files that it finds.

You can easily select one or more attachments and save all of them into the desired folder, as well as you can delete unwanted large attachments that take too much disk space in your mailbox. You can also save the list of attachments into xml/html/text/csv file.

Using OutlookAttachView

If you have only one profile in your Outlook, and this profile doesn't require any password, you can run OutlookAttachView even without starting Outlook, and it'll automatically scan the mailbox of your current Outlook profile. Otherwise, it's recommended to open Outlook in the right profile before starting OutlookAttachView.

After running OutlookAttachView, the 'MailBox Scan Options' window will be displayed. This window allows to choose to scan your mailbox only in specific dates range. After choosing 'Ok' in the options window, OutlookAttachView starts to scan your Outlook messages and display the found attachments in the main window of OutlookAttachView.

If you want to stop the scan process, simply choose the 'Stop' menu. After the scanning process is finished, you can select one or more of your attached files, and copy them into the desired folder, by using the

If have large attachments that you want to delete, you can use the 'Delete Selected Attachments' option. Be aware that when you use the delete option, only the attachment file is deleted. The message itself remains on your mailbox.

You can also use the 'Clean Selected Attachments' option to clean most of the attachment content, but without removing the attachment entry. If you use this option, you'll still see the attachment listed in your email message with small file size, but saving this attachment to a file will create a corrupted file.

Inline Attachments

Attachments embedded as a part of the message body are detected as OutlookAttachView doesn't displays these inline attachments. If you can't find the attachments you're looking for, you should try to turn on the 'Show Inline Attachments' option, located under the Options menu.

Control The Filename Format of Extracted Attachment

When you extract one or more attachments from your Outlook mailbox, you can control the way that the attach filename is generated. By default, OutlookAttachView use the following format: %attach_name%.%extension%, which means that the generated filename will only contain the original attachment name and the file extension.

However, you can also use the following special variables to format the filename according to your needs:

%attach_name%

The original name of the attachment.

%extension%

The original file extension of the attachment.

%subject%

The subject of the email contains this attachment.

%folder_name%

The folder name of this email (Inbox, Sent Items, and so on)

%from%

The sender of the email.

%to%

The 'To' field of the email.

%message_date%

Message creation date in yyyymmdd format.

%message_time%

Message creation time in HHmmss format.

%message_size%

Attachment size, in bytes.

%folder_path%

Full folder path of this email. (For example: Personal Folder-Inbox)

%folder_full_path%

Full folder path of this email, with '\' characters (For example: Personal Folder\Inbox). You can use it to generate subfolders identical to the folders structure in Outlook. You also have to turn on the 'Create subfolders automatically' option.

%msgdate:[format]%

Message creation date (GMT), in any format you need, for example: %msgdate:yyyyMMdd% , %msgdate:ddMMyy%

%msgtime:[format]%

Message creation time (GMT), in any format you need, for example: %msgtime:HHmmss%

%localmsgdate:[format]%

Message creation date (local time), in any format you need, for example: %localmsgdate:yyyyMMdd% , %localmsgdate:ddMMyy%

%localmsgtime:[format]%

Message creation time (local time), in any format you need, for example: %localmsgtime:HHmmss%

For example: If you want to generate the attachment filename with the subject, folder name, and attach name:

%folder_name%_%subject%_%attach_name%.%extension%

Be aware that some of the values are automatically truncated after 64 characters, in order to avoid from over-sized filenames.

Scanning Outlook Attachments of External PST Files

If you want to search an attachment in one or more PST files that are not loaded in your Outlook profile, you can use the following trick:

1.

Go to Control Panel -> Mail and choose 'Show Profiles'

2.

Click 'Add' to create a new profile.

3.

Fill the email account information with faked details (You can delete it afterwards)

4.

After the profile is created, double click on the profile, and in the profile properties, click 'Data Files' and add the desired PST files that you wish to scan.

5.

Also, you can click the 'E-mail Accounts' button, and remove the faked account that you previously created.

6.

In the Mailbox Scan Options of OutlookAttachView, choose 'Allow me to choose the profile' in the Outlook Profile option.

7.

When you are asked to choose the profile, you should choose the profile that you created, and OutlookAttachView will scan the PST files that you added into it.

Create a Desktop Icon

The OutlookAttachView command can be installed to the windows™ 'Desktop'. To do so, invoke OutlookAttachView -i once.

OPTIONS

-h

usage message.

-i

install the OutlookAttachView command as 'Outlook Attach View' to the Windows™ 'Desktop'.

-u

uninstall the OutlookAttachView shortcut from the Windows™ 'Desktop'.

-V

print program version.

/stext <Filename>

Save the list of all Outlook attachments into a regular text file.

/stab <Filename>

Save the list of all Outlook attachments into a tab-delimited text file.

/scomma <Filename>

Save the list of all Outlook attachments into a comma-delimited text file.

/stabular <Filename>

Save the list of all Outlook attachments into a tabular text file.

/shtml <Filename>

Save the list of all Outlook attachments into HTML file (Horizontal).

/sverhtml <Filename>

Save the list of all Outlook attachments into HTML file (Vertical).

/sxml <Filename>

Save the list of all Outlook attachments to XML file.

/SaveDirect

Save the Outlook attachments in SaveDirect mode. For using with the other save command-line options (/scomma, /stab, /sxml, and so on...).

When you use the SaveDirect mode, the attachments list is saved directly to the disk, without loading them into the memory first. This means that you can save a list with large amount of attachment lines into your disk without any memory problem, as long as you have enough disk space to store the saved file.

The drawback of this mode: You cannot sort the attachments according to the column you choose with /sort command-line option.

/sort <column>

This command-line option can be used with other save options for sorting by the desired column. If you don't specify this option, the list is sorted according to the last sort that you made from the user interface. The <column> parameter can specify the column index (0 for the first column, 1 for the second column, and so on) or the name of the column, like "Filename" and "Subject". You can specify the '~' prefix character (e.g: "~Subject") if you want to sort in descending order. You can put multiple /sort in the command-line if you want to sort by multiple columns.

Examples:

OutlookAttachView.exe /shtml "f:\temp\attach.html" ^

/sort 2 /sort ~1

OutlookAttachView.exe /shtml "f:\temp\attach.html" ^

/sort "From" /sort "To" /sort "Subject"

/nosort

When you specify this command-line option, the list will be saved without any sorting.

/cfg <filename>

Starts OutlookAttachView with the specified configuration file instead of the default OutlookAttachView.cfg

/start

Starts the mailbox scan immediately with the loaded configuration, without displaying the Scan Options dialog-box.

/extractall

Extracts all Outlook attachments from command-line, according to your last settings saved in the default .cfg file, or according to other configuration file that you load with /cfg command-line option.

/extractdeleteall

Extracts all Outlook attachments from command-line like /extractall command and also deletes all extracted attachments from Outlook. Be careful when using this command, OutlookAttachView cannot restore the attachments in Outlook after deleting them.

/LogFile <filename>

Generates a log file while extracting attachments, for example:

OutlookAttachView.exe /extractall ^

/LogFile "c:\temp\log1.txt"

/LogFileAppend <filename>

Generates a log file while extracting attachments, for example:

OutlookAttachView.exe /extractall ^

/LogFileAppend "c:\temp\log1.txt"

If the file already exists, the new log lines are added to the existing file.

[...]

You can also use the following command-line options to change any configuring value you wish:

/CopyFilesFolder <Folder Path String>

/NewNameIfExist <0 | 1>

/UpdateModifiedTimeMessage <0 | 1>

/FilenameFormat <Filename Format String>

/ScanOptions.TimeZone <1 | 2>

/ScanOptions.OutlookProfile <1 | 2 | 3>

/ScanOptions.UseExtensionsList <0 | 1>

/ScanOptions.ExtensionsList <Extensions To Include>

/ScanOptions.UseExcludeExtensionsList <0 | 1>

/ScanOptions.ExcludeExtensionsList <Extensions To Exclude>

/ScanOptions.UseSubjectContains <0 | 1>

/ScanOptions.SubjectContains <Subject String>

/ScanOptions.ScanOnlyFolders <0 | 1>

/ScanOptions.ScanFoldersList <Folders To Scan>

/ScanOptions.SkipFolders <0 | 1>

/ScanOptions.SkipFoldersList <Folders To Skip>

/ScanOptions.DateFrom <From Date>

/ScanOptions.DateTo <To Date>

/ScanOptions.UseDateRange <0 | 1>

/ScanOptions.OutlookProfileString <Profile Name>

/ScanOptions.UseFromList <0 | 1>

/ScanOptions.FromList <From Emails List>

/ScanOptions.UseToList <0 | 1>

/ScanOptions.ToList <To Emails List>

/ScanOptions.UseOnlyLastDays <0 | 1>

/ScanOptions.OnlyLastDays <Last num of days to scan>

For example, if you want to extract all attachments into c:\myattach instead of using the folder specified in the config file:

OutlookAttachView.exe /CopyFilesFolder "c:\myattach" ^

/extractall

ENVIRONMENT

%WA2L_INSTALLDIR%

Installation directory of WA2L/WinTools. This variable can be used to specify the save directory of attachments:

%WA2L_INSTALLDIR%\var\tmp\Outlook-Attachments

EXIT STATUS

0

no error.

4

usage message displayed.

5

program version printed.

6

program variant not known. This error occurs when the OutlookAttachView command is renamed.

FILES

etc/OutlookAttachView.cfg

configuration file of OutlookAttachView.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), config(1m), https://www.nirsoft.net/utils/outlook_attachment.html

NOTES

OutlookAttachView was developed by Nir Sofer <nirsofer@yahoo.com>. See (https://www.nirsoft.net/utils/outlook_attachment.html) for more information.

Parts of this manual page are extracted from the web page: https://www.nirsoft.net/utils/outlook_attachment.html.

BUGS

Be aware that OutlookAttachView doesn't work with Outlook Express.

AUTHOR

OutlookAttachView was developed by Nir Sofer <nirsofer@yahoo.com>. and integrated into WA2L/WinTools by Christian Walther. Send suggestions and bug reports regarding the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION Using OutlookAttachView Inline Attachments Control The Filename Format of Extracted Attachment Scanning Outlook Attachments of External PST Files Create a Desktop Icon OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:33 GMT, September 14, 2024

KeePass

TOC Index

NAME

KeePass - Password Safe

SYNOPSIS

WA2LWinTools/bin/KeePass [ -h | -i | -u | -V ]

KeePass [ options ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

KeePass is a free open source password manager, which helps you to manage your passwords in a secure way.

You can put all your passwords in one database, which is locked with one master key or a key file.

So you only have to remember one single master password or select the key file to unlock the whole database.

The databases are encrypted using the best and most secure encryption algorithms currently known (AES and Twofish).

Features:

-

The same password database can be used also in related Android and iPhone apps.

-

Easy to understand user interface

-

Fast

-

Strong Security

-

Multiple User Keys

-

Portable and No Installation Required, Accessibility

-

Export To TXT, HTML, XML and CSV Files

-

Import From Many File Formats

-

Easy Database Transfer

-

Support of Password Groups

-

Time Fields and Entry Attachments

-

Auto-Type, Global Auto-Type Hot Key and Drag&Drop

-

Intuitive and Secure Clipboard Handling

-

Searching and Sorting

-

Multi-Language Support

-

Strong Random Password Generator

-

Plugin Architecture

-

Open Source!

For a complete description of the many features, see: https://keepass.info/features.html.

OPTIONS

-h

usage message.

-i

install the KeePass command as menu point 'KeePass' to the Windows™ 'Desktop'.

-u

uninstall the KeePass shortcut from the Windows™ 'Desktop'.

-V

print program version.

options

more KeePass options.

For more information see keepass.Help(1) in the HTML documentation.

ENVIRONMENT

-

EXIT STATUS

0

no error.

2

shortcut could not be removed from 'Desktop'.

4

usage message displayed.

5

program version printed.

FILES

etc/KeePass.cfg

configuration file of KeePass. This configuration file is handled by the KeePass program.

var/db/keepass/

suggested default location to save the encrypted password safe database file.

EXAMPLES

1) Migrate KeePass 1.x (*.kdb) file to KeePass 2.x (*.kdbx)

1.1 start KeePass 2.x

→ Windows™ Start Menu

→ WA2LWinTools

→ Privacy → KeePass (Password Safe)

or

→ Windows™ Desktop

→ KeePass Password Safe

1.2 create a new empty password database

→ File → New → [ OK ]

→ Enter: File name → [ Save ]

→ Enter: Master Password / Repeat password → [ OK ]

→ Enter: Database Name

→ Delete: all example entries

→ Right click: 'Recycle Bin'

→ Empty Recycle Bin → [ Delete ]

1.3 import database from KeePass 1.x

→ File → Import ...

→ Select: Format 'KeePass KDB (1.x)'

→ Browse to: Files to be imported

→ Select: related *.kbd file → [ OK ]

→ Enter: Master Password (of selected file) → [ OK ]

→ (o) Create New IDs → [ OK ]

1.4 save KeePass 2.x database file

→ File → Save

2) Avoid searching in 'Backup' and 'Recycle Bin'

2.1 Edit Group 'Recycle Bin'

→ Right click: 'Recycle Bin'

→ Change to tab: _| Behavior |_

→ Select: Searching entries in this group: Disabled

→ [ OK ]

2.2 Edit Group 'Backup'

→ Right click: 'Backup'

→ Change to tab: _| Behavior |_

→ Select: Searching entries in this group: Disabled

→ [ OK ]

3) Show/hide group display in quick search results

3.1 start KeePass 2.x

→ Windows™ Start Menu

→ WA2LWinTools

→ Privacy → KeePass (Password Safe)

or

→ Windows™ Desktop

→ KeePass Password Safe

3.2 Change grouping display of list entries

→ View

→ Grouping in Entry List

→ Select: (o) On / (o) Off / (o) Auto

SEE ALSO

wintoolsintro(1), config(1m), safehouseexplorer(1), keepass.Help(1), keepass.chm(1), https://keepass.info/index.html

NOTES

KeePass has been developed by Dominik Reichl <dominik.reichl@t-online.de>.

Parts of the documentation has been extracted from https://keepass.info/.

See also: https://keepass.info/index.html for more information.

BUGS

-

AUTHOR

KeePass was developed by Dominik Reichl and integrated into WA2L/WinTools Christian Walther. Send suggestions and bug reports regarding to the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:13 GMT, September 14, 2024

SafeHouseExplorer

TOC Index

NAME

SafeHouseExplorer - handle encrypted file container

SYNOPSIS

WA2LWinTools/bin/SafeHouseExplorer [ -h | -i | -u | -V ]

SafeHouseExplorer [ file ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

SafeHouse Explorer makes your secret files invisible and hides them from snoopers, intruders and anyone else who doesn't have your permission to view them. SafeHouse Explorer uses passwords and maximum-strength 256-bit advanced encryption to completely hide and defend your sensitive files. SafeHouse Explorer can protect files residing on any drive, including memory sticks, external USB drives, network servers, CD/DVDs and even iPods.

OPTIONS

-h

usage message.

-i

install the SafeHouseExplorer command as menu point 'SafeHouseExplorer' to the 'Send To' context menu in 'Windows Explorer'.

-u

uninstall the SafeHouseExplorer shortcut from the 'Send To' context menu in 'Windows Explorer'.

-V

print program version.

file

crypted file container to be handled. When installed in the 'Send To' menu the selected file in 'Windows Explorer' is passed to the SafeHouseExplorer command.

If no file is specified, you are queried to select a file.

ENVIRONMENT

-

EXIT STATUS

0

no error.

2

shortcut in 'SendTo' menu could not be removed.

4

usage message displayed.

5

program version printed.

FILES

-

EXAMPLES

-

SEE ALSO

wintoolsintro(1), config(1m), keepass(1), safehouse.Help(1), safehouse.chm(1), http://safehousesoftware.com/

NOTES

SafeHouseExplorer has been developed by PC Dynamics, inc. <http://safehousesoftware.com/>.

Parts of the documentation has been extracted from http://safehousesoftware.com/.

See also: http://safehousesoftware.com/ for more information.

BUGS

-

AUTHOR

SafeHouseExplorer was developed by PC Dynamics Inc. and integrated into WA2L/WinTools Christian Walther. Send suggestions and bug reports regarding to the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:55 GMT, September 14, 2024

PDFTKBuilder

TOC Index

NAME

PDFTKBuilder - GUI for manipulation of PDF files

SYNOPSIS

WA2LWinTools/bin/PDFTKBuilder [ -h | -i | -u | -V ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

Take control of your PDF documents - merge or split pages; stamp pages or add background watermarks; add page numbers; and even rotate pages using a graphical user interface.

OPTIONS

-h

usage message.

-i

install the PDFTKBuilder command to the 'Desktop'.

-u

uninstall the PDFTKBuilder shortcut from the 'Desktop'.

-V

print PDFTKBuilder version.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage message displayed.

5

version message displayed.

FILES

etc/PDFTKBuilder.cfg

configuration file of PDFTKBuilder.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), config(1m), pdfrotate(1), pdfconcatenate(1), https://pdftk-builder-enhanced.sourceforge.io/

NOTES

PDFTKBuilder has been developed by David King (https://pdftk-builder-enhanced.sourceforge.io/) and Angus Johnson (http://www.angusj.com/pdftkb/).

Parts of the documentation has been extracted from (https://pdftk-builder-enhanced.sourceforge.io/ and http://www.angusj.com/pdftkb/).

BUGS

-

AUTHOR

PDFTKBuilder was developed by by David King and Angus Johnson and integrated into WA2L/WinTools by Christian Walther. Send suggestions and bug reports related to the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2022 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:38 GMT, September 14, 2024

pdfrotate

TOC Index

NAME

pdfrotate - rotate/select page(s) of a PDF file

SYNOPSIS

WA2LWinTools/bin/pdfrotate [ -h | -i | -u | -V ]

pdfrotate [ file.pdf ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

Rotate and/or select page(s) of a PDF file and produce a new single PDF file containing the rotated/selected pages of the source file.

The pages of the given file.pdf file are selected/rotated as specified interactively in the Command: input field and saved to file (#).pdf where # is a number. The number is increased until there is no file found with the resulting file name.

The page rotation/selection has to be specified as a list of following entries (see also: EXAMPLES section):

{ BEGIN_PAGE[-END_PAGE[qualifier]][rotation] }

Where:

BEGIN_PAGE

Page number where to start the selection.

END_PAGE

Page number where to stop the selection.

A special page number is end which represents the last page of the document.

Be aware, that if yo want to rotate for example page number 5 by +90 degrees, you have to select all other pages also, else pdfrotate creates a document containing only the rotated page 5.

Therefore the command to rotate page 5 in a document is:

1-4 5R 6-end

qualifier

even = even pages

odd = odd pages

rotation

N = rotation to 0 degrees (rotate to North)

E = rotation to 90 degrees (rotate to East)

S = rotation to 180 degrees (rotate to South)

W = rotation to 270 degrees (rotate to West)

L = rotation by -90 degrees (rotate to the Left)

R = rotation by +90 degrees (rotate to the Right)

D = rotation by +180 degrees (rotate Down)

The pdfrotate command should be installed to the 'Send To' context menu in 'Microsoft™ Windows Explorer' for most convenient usage. To do so, invoke pdfrotate -i once.

OPTIONS

-h

usage message.

-i

install the pdfrotate command as menu point 'pdfrotate' to the 'Send To' context menu in 'Windows Explorer'.

-u

uninstall the pdfrotate shortcut from the 'Send To' context menu in 'Windows Explorer'.

-V

print program version.

file.pdf

PDF file whose pages should be selected/rotated. When installed in the 'Send To' menu the selected file in 'Windows Explorer' is passed to the pdfrotate command, is processes and saved as a separate PDF file.

If no file is specified, you are queried to select a file by an open file box dialog where you then can select the file to be processed.

ENVIRONMENT

-

EXIT STATUS

0

no error.

1

resulting file could not be created.

2

selected file does not exist.

4

usage message displayed.

5

program version printed.

6

no file selected.

FILES

var/cache/pdfrotate/command

last command entered into the Command: input field.

lib/pagenumbers.pdf

test file containing numbered pages.

Copy this file to your working directory and play around with the possibilities of the pdfrotate command.

EXAMPLES

1) Select a single page only:

Select only the page 6 of the PDF file:

6

2) Select certain pages only:

Select only the pages 5 and 10 of the PDF file:

5 10

Select pages 1 to 5 and 10 to the end of the PDF file:

1-5 10-end

Select pages 1 to 5, page 7 and 10 to the end of the PDF file:

1-5 7 10-end

3) Change order of certain pages:

Select pages 1-10 in a reverse order from page 10 to 1:

10 9 8 7 6 5 4 3 2 1

4) Rotate pages to 0 degrees (= rotate to North):

1-endN

If you scanned a document, the scanner might rotate some pages because it "thinks" that the contents are written in an other direction (e.g. landscape) in contrast to the rest of the document (e.g. portrait).

To get a document where all pages are upright (portrait) try to rotate all pages North as shown in this example is often a good first intent.

5) Rotate different pages to different directions:

Do not rotate pages 1-3, rotate pages 4-5 to 90 degrees clockwise (to East), page 6 to 180 degrees (to South), page 7 to 270 (to West) and do not rotate pages 8 to the end of the file:

1-3 4-5E 6S 7W 8-end

or:

Do not rotate pages 1-3, rotate pages 4-5 by 90 degrees to the right, page 6 by 180 degrees, page 7 by 90 degrees to the left and do not rotate pages 8 to the end of the file:

1-3 4-5R 6D 7L 8-end

Note: The two commands seam to be identical, but the result might be different based on the program (or scan) that created the PDF file (see also: explanation of example 4).

6) Split entire PDF file into individual pages:

split

SEE ALSO

wintoolsintro(1), config(1m), pdfconcatenate(1), pdftk(3), pdftkbuilder(1), https://www.pdfhacks.com/pdftk/

NOTES

The pdfrotate command uses internally pdftk, the PDF toolkit by Sid Steward.

For more information about pdftk , see: https://www.pdfhacks.com/pdftk/ .

BUGS

If more then one file.pdf is selected, only the first one is processed, because it is assumed that the chosen command might not be valid for more then one input file.

AUTHOR

pdfrotate was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:38 GMT, September 14, 2024

pdfconcatenate

TOC Index

NAME

pdfconcatenate - concatenate PDF files

SYNOPSIS

WA2LWinTools/bin/pdfconcatenate [ -h | -i | -u | -V ]

pdfconcatenate [ file.pdf ... ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

Concatenate PDF files.

There is a slight difference of functionality if you use the command thru the 'Send To' menu of 'Microsoft™ Windows Explorer' or the 'Microsoft™ Start' menu.

Use thru

'Send To' context menu in 'Explorer':

When the pdfconcatenate command is called thru 'Microsoft™ Windows Explorer' → 'Right Mouse Button' → 'Send To' → pdfconcatenate the selected files are concatenated in the selected order.

The output file name is based on the file where the mouse pointer is when you press the 'Right Mouse Button'.

Therefore if the Ctrl key is used while selecting individual files, the order of the concatenation can be influenced.

Use thru

'Windows Start' menu:

When the pdfconcatenate command is called thru 'Microsoft™ Start' menu → pdfconcatenate the selected files are concatenated in the order as displayed in the dialog box.

The output file name is based on the topmost file in the dialog box.

OPTIONS

-h

usage message.

-i

install the pdfconcatenate command as menu point 'pdfconcatenate' to the 'Send To' context menu in 'Windows Explorer'.

-u

uninstall the pdfconcatenate shortcut from the 'Send To' context menu in 'Windows Explorer'.

-V

print program version.

file.pdf

PDF file to be concatenated. When installed in the 'Send To' menu the selected files in 'Windows Explorer' is passed to the pdfconcatenate command.

If no file is specified, you are queried to select files by a open file box dialog where you then can select the files to be processed.

ENVIRONMENT

-

EXIT STATUS

0

no error.

1

resulting file could not be created.

2

selected file does not exist.

4

usage message displayed.

5

program version printed.

6

no file selected.

FILES

lib/pagenumbers.pdf

test file.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), config(1m), pdfrotate(1), pdftk(3), pdftkbuilder(1), https://www.pdfhacks.com/pdftk/

NOTES

The pdfconcatenate command uses internally pdftk, the PDF toolkit by Sid Steward.

For more information about pdftk , see: https://www.pdfhacks.com/pdftk/ .

BUGS

-

AUTHOR

pdfconcatenate was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:37 GMT, September 14, 2024

pdftk

TOC Index

NAME

pdftk - a Handy Tool for Manipulating PDF Documents

SYNOPSIS

pdftk <input PDF files | - | PROMPT> [ input_pw <input PDF owner passwords | PROMPT> ][ <operation> <operation arguments> ][ output <output filename | - | PROMPT> ][ encrypt_40bit | encrypt_128bit ][ allow <permissions> ] [ owner_pw <owner password | PROMPT> ][ user_pw <user password | PROMPT> ][ flatten ] [ compress | uncompress ] [ keep_first_id | keep_final_id ] [ drop_xfa ] [ verbose ] [ dont_ask | do_ask ]

Where:

<operation> may be empty, or: [ cat | attach_files | unpack_files | burst | fill_form | background | stamp | generate_fdf | dump_data | dump_data_fields | update_info ]

pdftk --help

AVAILABILITY

WA2L/WinTools

DESCRIPTION

If PDF is electronic paper, then pdftk is an electronic staple-remover, hole-punch, binder, secret-decoder-ring, and X-Ray-glasses. pdftk is a simple tool for doing everyday things with PDF documents.

Use it to:

* Merge PDF Documents

* Split PDF Pages into a New Document

* Rotate PDF Documents or Pages

* Decrypt Input as Necessary (Password Required)

* Encrypt Output as Desired

* Fill PDF Forms with X/FDF Data and/or Flatten Forms

* Generate FDF Data Stencil from PDF Forms

* Apply a Background Watermark or a Foreground Stamp

* Report PDF Metrics such as Metadata and Bookmarks

* Update PDF Metadata

* Attach Files to PDF Pages or the PDF Document

* Unpack PDF Attachments

* Burst a PDF Document into Single Pages

* Uncompress and Re-Compress Page Streams

* Repair Corrupted PDF (Where Possible)

OPTIONS

--help, -h

Show summary of options.

<input PDF files | - | PROMPT>

A list of the input PDF files. If you plan to combine these PDFs (without using handles) then list files in the order you want them combined. Use - to pass a single PDF into pdftk via stdin. Input files can be associated with handles, where a handle is a single, upper-case letter:

<input PDF handle>=<input PDF filename>

Handles are often omitted. They are useful when specifying PDF passwords or page ranges, later.

For example: A=input1.pdf B=input2.pdf

input_pw <input PDF owner passwords | PROMPT>

Input PDF owner passwords, if necessary, are associated with files by using their handles:

<input PDF handle>=<input PDF file owner password>

If handles are        not given, then passwords are associated with

input files by order.

Most pdftk features require that encrypted input PDF are accompanied by the ~owner~ password. If the input PDF has no owner password, then the user password must be given, instead.        If the

input PDF has no passwords, then no password should be given.

When running in do_ask mode, pdftk will prompt you for a password if the supplied password is incorrect or none was given.

<operation> <operation arguments>

If this optional argument is omitted, then pdftk runs in 'filter' mode. Filter mode takes only one PDF input and creates a new PDF after applying all of the output options, like encryption and compression.

Available operations are: cat, attach_files, unpack_files, burst,fill_form, background, stamp, dump_data, dump_data_fields, generate_fdf, update_info. Some operations takes additional arguments, described below.

cat [ <page ranges> ]

Catenates pages from input PDFs to create a new PDF. Page order   in the new PDF is specified by the order of the given

page ranges. Page ranges are described like this:

<input  PDF  handle>[<begin  page  number>[-<end  page   num-

ber>[<qualifier>]]][<page rotation>]

Where   the handle identifies one of the input PDF files, and

the beginning and ending page numbers   are one-based  refer-

ences to pages in the PDF file, and the qualifier can be even or odd, and the page rotation can be N, S, E, W, L, R, or D.

If the handle is omitted from the page range, then the pages are taken from the first input PDF.

The even qualifier causes pdftk to use only the even-numbered PDF pages, so 1-6even yields pages 2, 4 and 6 in that order. 6-1even yields pages 6, 4 and 2 in that order.

The odd qualifier works similarly to the even.

The page rotation setting can cause pdftk to rotate pages and documents. Each option sets the page rotation as follows (in degrees): N: 0, E: 90, S: 180, W: 270, L: -90, R: +90, D: +180. L, R, and D make relative adjustments to a page's rota- tion.

If no arguments are passed to cat, then pdftk combines all input PDFs in the order they were given to create the output.

NOTES:

* <end page number> may be less than <begin page number>.

* The keyword end may be used to reference the final page  of a document instead of a page number.

* Reference a single page by omitting the ending page number.

* The handle may be used alone to represent  the  entire  PDF document, e.g., B1-end is the same as B.

Page Range Examples w/o Handles:

1-endE - rotate entire document 90 degrees

5 11 20

5-25oddW - take odd pages in range, rotate 90 degrees

6-1

Page Range Examples Using Handles:

Say A=in1.pdf B=in2.pdf, then:

A1-21

Bend-1odd

A72

A1-21 Beven A72

AW - rotate entire document 90 degrees

B

A2-30evenL  -  take  the even pages from the range, remove 90

degrees from each page's rotation

A A

AevenW AoddE

AW BW BD

attach_files <attachment filenames | PROMPT> [ to_page <page number | PROMPT> ]

Packs arbitrary files into a PDF using PDF's file attachment features. More than   one attachment may be listed after

attach_files. Attachments are added at the document level unless the optional   to_page option is given, in which case

the files are attached to the given page number (the first page is 1, the final page is end). For example:

pdftk in.pdf attach_files table1.html table2.hml to_page 6

output out.pdf

unpack_files

Copies all of the attachments from the input   PDF into the

current folder or to an output directory given after output. For example:

pdftk report.pdf unpack_files output ~/atts/

or, interactively:

pdftk report.pdf unpack_files output PROMPT

burst Splits a single, input PDF document into individual    pages.

Also creates a report named doc_data.txt which is the same as the output from dump_data. If the output section is omitted, then PDF pages are   named: pg_%04d.pdf, e.g.: pg_0001.pdf,

pg_0002.pdf, etc. To name these pages yourself, supply a printf-styled   format  string  via the output section. For

example, if you want pages named: page_01.pdf, page_02.pdf, etc.,   pass output page_%02d.pdf to

pdftk. Encryption can be applied to the output by appending output options such as owner_pw, e.g.:

pdftk in.pdf burst owner_pw foopass

fill_form <FDF data filename | XFDF data filename | - | PROMPT>

Fills  the single input PDF's form fields with the data from

an FDF file, XFDF file or stdin. Enter the   data filename

after   fill_form, or  use - to pass the data via stdin, like

so:

pdftk form.pdf fill_form data.fdf output form.filled.pdf

After filling a form,   the form fields remain interactive

unless you also use the flatten output option. flatten merges the form fields with the PDF   pages.  You can use flatten

alone, too, but only on a single PDF:

pdftk form.pdf fill_form data.fdf output out.pdf flatten

or:

pdftk form.filled.pdf output out.pdf flatten

If the input FDF file includes Rich Text formatted data in addition to plain text, then the Rich   Text data is  packed

into the form fields as well as the plain text. pdftk also sets a flag that cues Acrobat/Reader to generate new field appearances based on the Rich Text data. That way, when the user opens the PDF, the viewer will create the Rich Text fields on the spot.   If the user's PDF viewer does not sup-

port Rich Text, then the user will see the plain text data instead. If   you flatten this form before Acrobat has a

chance to create (and save) new field appearances, then the plain text field data is what you'll see.

background <background PDF filename | - | PROMPT>

Applies a PDF watermark to the background of a single input PDF. Pass the background PDF's filename after background like so:

pdftk in.pdf background back.pdf output out.pdf

pdftk uses only the first page from the background PDF and applies it to every page of the input PDF.    This page is

scaled and rotated as needed to fit the input page. You can use - to pass a background PDF into pdftk via stdin.

If the input PDF does not have a transparent background (such as a   PDF created from page scans) then the resulting back-

ground won't be visible -- use the stamp feature instead.

stamp <stamp PDF filename | - | PROMPT>

This behaves just like the background feature except it over- lays the stamp PDF page on top of the input PDF document's pages. This works best if the stamp PDF page has a transpar- ent background.

dump_data

Reads  a single, input PDF file and reports various statis-

tics, metadata, bookmarks (a/k/a outlines), and page   labels

to the given output filename or (if no output is given) to stdout. Does not create a new PDF.

dump_data_fields

Reads a single, input PDF file and reports form field statis- tics to the given output filename or (if no output is given) to stdout. Does not create a new PDF.

generate_fdf

Reads a single, input PDF file and generates a FDF file suit- able for fill_form out of it to the given output filename or (if no output is given) to stdout. Does not   create  a new

PDF.

update_info <info data filename | - | PROMPT>

Changes the metadata stored in a single PDF's Info dictionary to match the input data file. The input data file uses the same syntax as the   output  from dump_data. This does not

change the metadata stored in the PDF's XMP stream, if it has one. For example:

pdftk in.pdf update_info in.info output out.pdf

output <output filename | - | PROMPT>

The output PDF filename may not be set to the name of an input filename. Use - to output to stdout. When using        the dump_data

operation, use output to set the name of the output data file. When using the unpack_files operation, use output to set the name of        an output directory. When using the burst operation,

you can use output to control the resulting PDF page filenames (described above).

encrypt_40bit | encrypt_128bit

If an output PDF user or owner password is given, output PDF encryption strength defaults to 128 bits. This can be overrid- den by specifying encrypt_40bit.

allow <permissions>

Permissions are applied to the output PDF only if an encryption strength is specified or an owner or user password is given. If permissions are        not specified, they default to 'none,' which

means all of the following features are disabled.

The permissions section may include one or more of the following features:

Printing

Top Quality Printing

DegradedPrinting

Lower Quality Printing

ModifyContents

Also allows Assembly

Assembly

CopyContents

Also allows ScreenReaders

ScreenReaders

ModifyAnnotations

Also allows FillIn

FillIn

AllFeatures

Allows  the  user      to  perform  all of the above, and top

quality printing.

owner_pw <owner password | PROMPT>

user_pw <user password | PROMPT>

If an encryption strength is given but no passwords are sup- plied, then the owner        and user passwords remain empty, which

means that the resulting PDF may        be opened and its security

parameters altered by anybody.

compress | uncompress

These are only useful when you want to edit PDF code in a text editor like vim or emacs. Remove PDF page stream compression by applying        the uncompress filter. Use the compress filter to

restore compression.

flatten

Use this option to merge an input PDF's interactive form       fields

(and their data) with the PDF's pages. Only one input PDF may be given. Sometimes used with the fill_form operation.

keep_first_id | keep_final_id

When combining pages from multiple PDFs, use       one of these

options to copy the document ID from either the first or final input document into the new output PDF. Otherwise pdftk creates a new document        ID for the output PDF. When no operation is

given, pdftk always uses the ID from the (single) input PDF.

drop_xfa

If your input PDF is a form created using Acrobat 7 or Adobe Designer, then it probably has XFA data. Filling such a form using pdftk yields a PDF with data that     fails to display in

Acrobat 7 (and        6?). The workaround solution is to remove the

form's XFA data, either before you fill the form using pdftk or at the time you fill the form. Using this option causes pdftk to omit the XFA data from the output PDF form.

This option is only useful when running pdftk on a single input PDF. When assembling a PDF from multiple inputs using pdftk, any XFA data in the input is automatically omitted.

verbose By default, pdftk runs quietly. Append verbose to the end and it

will speak up.

dont_ask | do_ask

Depending on the compile-time settings (see ASK_ABOUT_WARNINGS), pdftk might prompt you for further input when it encounters a problem,        such as a bad password. Override this default behavior

by adding dont_ask (so pdftk won't ask you what to do) or do_ask (so pdftk will ask you what to do).

When running in dont_ask mode, pdftk will over-write files with its output without notice.

ENVIRONMENT

-

EXIT STATUS

-

FILES

-

EXAMPLES

Decrypt a PDF

pdftk secured.pdf input_pw foopass output unsecured.pdf

Encrypt a PDF using 128-bit strength (the default), withhold all permissions (the default)

pdftk 1.pdf output 1.128.pdf owner_pw foopass

Same as above, except password 'baz' must also be used to open output PDF

pdftk 1.pdf output 1.128.pdf owner_pw foo user_pw baz

Same as above, except printing is allowed (once the PDF is open)

pdftk 1.pdf output 1.128.pdf owner_pw foo user_pw baz allow printing

Join in1.pdf and in2.pdf into a new PDF, out1.pdf

pdftk in1.pdf in2.pdf cat output out1.pdf

or (using handles):

pdftk A=in1.pdf B=in2.pdf cat A B output out1.pdf

or (using wildcards):

pdftk *.pdf cat output combined.pdf

Remove 'page 13' from in1.pdf to create out1.pdf

pdftk in.pdf cat 1-12 14-end output out1.pdf

or:

pdftk A=in1.pdf cat A1-12 A14-end output out1.pdf

Apply 40-bit encryption to output, revoking all permissions (the default). Set the owner PW to 'foopass'.

pdftk 1.pdf 2.pdf cat output 3.pdf encrypt_40bit owner_pw foopass

Join two files, one of which requires the password 'foopass'. The output is not encrypted.

pdftk A=secured.pdf 2.pdf input_pw A=foopass cat output 3.pdf

Uncompress PDF page streams for editing the PDF in a text editor (e.g., vim, emacs)

pdftk doc.pdf output doc.unc.pdf uncompress

Repair a PDF's corrupted XREF table and stream lengths, if possible

pdftk broken.pdf output fixed.pdf

Burst a single PDF document into pages and dump  its data to doc_data.txt

pdftk in.pdf burst

Burst a single PDF document into encrypted pages. Allow low-quality printing

pdftk in.pdf burst owner_pw foopass allow DegradedPrinting

Write a report on PDF document metadata and bookmarks to report.txt

pdftk in.pdf dump_data output report.txt

Rotate the first PDF page to 90 degrees clockwise

pdftk in.pdf cat 1E 2-end output out.pdf

Rotate an entire PDF document to 180 degrees

pdftk in.pdf cat 1-endS output out.pdf

SEE ALSO

wintoolsintro(1), pdfrotate(1)

NOTES

This manpage is an extract of the pdftk --help output of pdftk version 1.41 and modified to fit into the WA2L/WinTools structure.

BUGS

-

AUTHOR

pdftk was developed by Sid Steward and integrated into WA2L/WinTools by Christian Walther. Send suggestions and bug reports related to the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:38 GMT, September 14, 2024

PerfMon

TOC Index

NAME

PerfMon - Performance Monitor for Processor, Disk, Memory and Network Utilization

SYNOPSIS

WA2LWinTools/bin/PerfMon [ -h | -i | -u | -V ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

The PerfMon Performance Monitor is a small program that shows you the CPU, Memory, Disk and Network utilization under Windows NT platforms (2000, XP, Vista, Win 7, etc...).

It's composed by four fully configurable small graphs and it can work in the tray area also.

The windows are fully anchorable.

PerfMon can become transparent and permits you to forward left-mouse clicks so you can place it anywhere. You can also change the program priority (saving CPU work) and its size (for big monitor resolutions ;-)).

Usage:

-

Right click for options

-

Drag a single panel to move it

-

Drag a single panel with the CTRL Key down to move all attached panels

OPTIONS

-h

usage message.

Start PerfMon.

-i

install the PerfMon command to 'Startup' in the Windows Start Menu.

-u

uninstall the PerfMon shortcut from 'Startup' in the Windows Start Menu.

-V

print program version.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage message displayed.

5

version message displayed.

FILES

etc/PerfMon.cfg

configuration file of PerfMon.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), config(1m), http://www.hexagora.com/en_dw_davperf.asp

NOTES

Parts of this manpages were extracted from the documentation of PerfMon from http://www.hexagora.com/en_dw_davperf.asp

BUGS

-

AUTHOR

PerfMon was developed by Davide Lorenzi <http://www.hexagora.com/en_contactus.asp> and integrated into WA2L/WinTools by Christian Walther. Send suggestions and bug reports regarding to the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:39 GMT, September 14, 2024

PMeter

TOC Index

NAME

PMeter - Pixel Meter / Screen Ruler

SYNOPSIS

WA2LWinTools/bin/PMeter [ -h | -i | -u | -V ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

PMeter is a very handy pixel meter. There are plenty of desktop rulers around, but it's hard to find a good one, which is free. PMeter is a simple to use desktop ruler allowing to switch between 3 user configurations easily. For each configuration you can set width and colors individually, choose to add a desktop magnifier to your ruler, and more.

PMeter also includes a color picker in case you need to know or work with the color of any pixel visible on your screen. The additional display for mouse cursor coordinates might also be useful for you.

PMeter is also extremely handy to be used when you need to check data lists on the screen as if you would put a real ruler on a list printed on paper.

OPTIONS

-h

usage message.

-i

install the PMeter command to 'Startup' in the Windows Start Menu.

-u

uninstall the PMeter shortcut from 'Startup' in the Windows Start Menu.

-V

print program version.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage message displayed.

5

version message displayed.

FILES

etc/PMeter.cfg

INI file maintained by PMeter to hold all settings.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), config(1m), ruler(1), http://www.pegtop.net/pmeter/

NOTES

PMeter has been developed by Jens Gruschel.

Parts of the documentation has been extracted from http://www.pegtop.net/pmeter/.

BUGS

-

AUTHOR

PMeter was developed by Jens Gruschel and integrated into WA2L/WinTools by Christian Walther. Send suggestions and bug reports regarding the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:40 GMT, September 14, 2024

Ruler

TOC Index

NAME

Ruler - Screen Ruler (Yet Another Ruler)

SYNOPSIS

WA2LWinTools/bin/Ruler [ -h | -i | -u | -V ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

This application creates a Ruler on your screen which you can move around and use it to measure pixels and percentage of the Ruler length.

You can drag it around, size it, display additional lines or change its transparency.

Actions

Move the window by dragging it around, and size it by dragging the borders.

You can also move it with Cursor-Keys; holding Shift moves faster, and holding Control even faster.

Clicking the Window adds a marker line at the mouse position.

Right click for context menu.

Mousewheel to change transparency.

Keyboard

C

clear the lines.

O

toggle between horizontal and vertical orientation.

H

switch to horizontal orientation.

V

switch to vertical orientation.

P

toggle between pixel and percentages.

R

toggle between absolute and relative values.

Alt-F4

quit.

OPTIONS

-h

usage message.

-i

install the Ruler command to the 'Desktop'.

-u

uninstall the Ruler shortcut from the 'Desktop'.

-V

print Ruler version.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage message displayed.

5

version message displayed.

FILES

etc/Ruler.cfg

configuration file of Ruler.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), config(1m), pmeter(1), https://github.com/praschl/Ruler/blob/master/README.md

NOTES

Ruler has been developed by Michael Praschl (https://github.com/praschl/Ruler/).

Parts of the documentation has been extracted from (https://github.com/praschl/Ruler/blob/master/README.md).

BUGS

-

AUTHOR

Ruler was developed by by Michael Praschl and integrated into WA2L/WinTools by Christian Walther. Send suggestions and bug reports related to the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2024 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION Actions Keyboard OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:53 GMT, September 14, 2024

PowerOFF

TOC Index

NAME

PowerOFF - shut down and Power-OFF the system

SYNOPSIS

WA2LWinTools/bin/PowerOFF [ -h | -i | -u | -V ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

PowerOFF is a graphical dialog to execute a (scheduled) shut down and Power-OFF of the system.

It can be chosen to Power-OFF the system in between 10 seconds and 24 hours.

It is also possible to abort a planned Power-OFF again.

OPTIONS

-h

usage message.

-i

install the PowerOFF command on the Windows™ 'Desktop'.

-u

uninstall the PowerOFF command from the Windows™ 'Desktop'.

-V

print program version.

ENVIRONMENT

-

EXIT STATUS

0

always.

1

a planned Power-OFF was aborted.

4

usage displayed.

5

version message displayed.

10 ... 86400

number of seconds to the system shut down.

FILES

-

EXAMPLES

-

SEE ALSO

wintoolsintro(1), config(1m)

NOTES

-

BUGS

-

AUTHOR

PowerOFF was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2021 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:41 GMT, September 14, 2024

RadioSure

TOC Index

NAME

RadioSure - start Radio Sure

SYNOPSIS

WA2LWinTools/bin/RadioSure [ -h | -i | -u | -V ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

RadioSure is an excellent and easy to use internet radio player with a comprehensive high quality radio stations list which is permanently maintained.

RadioSure allows you to browse through a huge variety of stations, sorting by language, country, genre and title. You can also add new stations and toggle a variety of configuration settings that run from enabling hot-keys to recording radio. There are various ways of listen to RadioSure: via the main interface, minimized to a smaller bar, or minimized completely to the task bar. The task-bar option will let you carry out the majority of actions you need by right-clicking.

If a Bluetooth headset is connected after starting RadioSure press the [ STOP ] button and then the [ PLAY ] to listen to the radio station.

To download the most recent radio stations list, invoke the stationsdownload(1m) command.

OPTIONS

-h

usage message.

Start RadioSure.

-i

install the RadioSure command to 'Startup' in the Windows Start Menu.

-u

uninstall the RadioSure shortcut from 'Startup' in the Windows Start Menu.

-V

print program version.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage message displayed.

5

version message displayed.

FILES

etc/RadioSure.cfg

config file for Radio Sure.

etc/RadioSure.rsd

in RadioSure self defined radio stations.

var/db/radiosure/

RadioSure radio stations database.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), activehotkeys(1m), stationsdownload(1m), http://www.radiosure.fr/

NOTES

Parts of this manpages were extracted from the documentation of RadioSure from the now (2022) unavailable site http://www.radiosure.com/downloadz/downloadz-select/. See: http://www.radiosure.fr/ for more information about RadioSure.

BUGS

-

AUTHOR

RadioSure was developed by 'TheBestWare Studio' and now hosted by www.radiosure.fr (see: http://www.radiosure.fr/) and integrated into WA2L/WinTools by Christian Walther. Send suggestions and bug reports regarding to the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 13:34:33 GMT, October 29, 2024

StationsDownload

TOC Index

NAME

StationsDownload - download/install new radio stations list for RadioSure

SYNOPSIS

WA2LWinTools/bin/StationsDownload [ -h | -V ]

StationsDownload [ -n ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

Download the most recent radio stations list for RadioSure from rb2rs.freemyip.com independent from an upgrade of the WA2L/WinTools package and install it.

OPTIONS

-h

usage message.

-V

print program version.

-n

non-interactive stations list file download and installation.

ENVIRONMENT

-

EXIT STATUS

0

always.

FILES

etc/StationsDownload.cfg

optional configuration file for stationsdownload.

etc/proxy.hostname.cfg

etc/proxy.domainname.cfg

etc/proxy.cfg

optional configuration file to define proxy settings. See proxy.cfg(4) for more information.

var/db/radiosure/stations-YYYY-MM-DD.rds

radio stations list for RadioSure.

var/db/radiosure/.old/

directory where old radio stations lists are moved to.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), proxy.cfg(4), radiosure(1), stationsdownload.cfg(4)

NOTES

-

BUGS

-

AUTHOR

StationsDownload was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:33:04 GMT, September 14, 2024

StationsDownload.cfg

TOC Index

NAME

StationsDownload.cfg - configuration file for stationsdownload

SYNOPSIS

WA2LWinTools/etc/StationsDownload.cfg

WA2LWinTools/etc/StationsDownload.hostname.cfg

AVAILABILITY

WA2L/WinTools

DESCRIPTION

This is the optional configuration file for the StationsDownload command.

The configuration file containing the hostname has preference over the StationsDownload.cfg file, if it exists on the related host.

In 'normal' cases you don't need this configuration file to be able to download and install updates for the WA2L/WinTools package.

FILEFORMAT

Rows starting with a # are considered as comments.

The file format is OPTION=VALUE

Between the OPTION, the = and the VALUE are no spaces.

OPTIONS

DOWNLOADURL

URL from where the WA2L/WinTools file is downloaded.

Example: DOWNLOADURL=

Default: DOWNLOADURL=http://82.66.77.189/latest.zip

WGETOPTIONS

additional options to wget which is used internally to download the package file as fallback when the download thru the standard Windows™ method fails.

Internally the wget command is called as follows:

wget --no-clobber --output-document="TemporaryDownloadFile" WGETOPTIONS DOWNLOADURL

Therefore the specified WGETOPTIONS are passed before the DOWNLOADURL to the wget command.

Example: WGETOPTIONS=--no-verbose

Default: WGETOPTIONS=

EXAMPLES

-

SEE ALSO

wintoolsintro(1), proxy.cfg(4), stationsdownload(1m), wget(3)

NOTES

-

BUGS

-

AUTHOR

WebcamsDownload.cfg was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2023 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION FILEFORMAT OPTIONS EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:33:04 GMT, September 14, 2024

RDCMan

TOC Index

NAME

RDCMan - Remote Desktop (RDP) Connection Manager

SYNOPSIS

WA2LWinTools/bin/RDCMan [ -h | -i | -u | -V ]

RDCMan [ options ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

INTRODUCTION

RDCMan manages multiple remote desktop connections. It is useful for managing server labs where you need regular access to each machine such as automated checkin systems and data centers.

Servers are organized into named groups. You can connect or disconnect to all servers in a group with a single command. You can view all the servers in a group as a set of thumbnails, showing live action in each session. Servers can inherit their logon settings from a parent group or a credential store. Thus when you change your lab account password, you only need to change the password stored by RDCMan in one place. Passwords are stored securely by encrypting with either CryptProtectData using the (locally) logged on user's authority or an X509 certificate.

THE DISPLAY

The Remote Desktop Connection Manager display consists of the menu, a tree with groups of servers, a split bar, and a client area.

* The Menu

There are several top-level menus in RDCMan:

File

load, save, and close RDCMan file groups

Edit

add, remove, and edit the properties of servers and groups.

Session

connect, disconnect and log off sessions

View

options to control the visibility of the server tree, virtual groups and size of the client area

Remote Desktops

allows access to the groups and servers in a hierarchical fashion, similar to the server tree; primarily useful when the Server Tree is hidden

Tools

change application properties

Help

learn about RDCMan (you probably already found this)

* The Tree

Most work, such as adding, removing, and editing servers and groups, can be accomplished via right-clicking on a tree node. Servers and groups can be moved using drag-and-drop.

Keyboard Shortcuts:

Enter

Connect to selected server.

Shift+Enter

Connect to the selected server using the Connect As feature.

Delete

Remove selected server or group.

Shift+Delete

Remove selected server or group without question.

Alt+Enter

Open properties dialog for selected server or group.

Tab

If a connected server is selected, give it focus.

Use the [View.Server tree location] menu option to locate the tree at the left or right edge of the window.

The server tree can be docked, auto-hidden, or always hidden via the [View.Server tree visibility] menu option. When the server tree is not displayed, servers can still be accessed through the Remote Desktops menu. When the tree is auto-hidden, the splinter bar remains visible at the left side of the window. Hovering over it will bring the server tree back into view.

* The Client Area

The client area display depends on the node selected in the tree. If a server is selected, the client area shows the remote desktop client for that server. If a group is selected, the client area shows a thumbnail of the servers within that group. The size of the client area can be specified via the View menu, as well as resizing the RDCMan window. Use [View.Lock window size] to prevent the window from being resized by dragging the frame.

Caution: Connected servers can receive focus from keyboard navigation of the thumbnail view. It is not always obvious which server has focus, so be careful. There is a setting to control this: [Display Settings. Allow thumbnail session interaction].

* Full Screen Mode

To work with a server in full screen mode, select the server to give it focus and press Ctrl+Alt+Break (this key is configurable, see Shortcut Keys.) To leave full screen mode, press Ctrl+Alt+Break again or use the minimize/restore buttons in the connection title bar. Multiple monitors can be spanned if enabled by the monitor spanning option.

* Shortcut Keys

You can find the full list of Terminal Services shortcut keys here. Some of these can be configured from the Hot Keys tab.

FILES

The top-level unit of organization in RDCMan is a remote desktop file group. File groups are collections of groups and/or servers that are stored in a single physical file. Servers can't live outside of a group and groups can't live outside of a file.

A file has all the characteristics of a server group other than being able to change its parent.

GROUPS

A group contains a list of servers and configuration information such as logon credentials. Configuration settings can be inherited from another group or the application defaults. Groups can be nested but are homogeneous: a group may either contain groups or servers, but not both. All the servers in a group can be connected or disconnected at once.

When a group is selected in the tree view, the servers underneath it are displayed in a thumbnail view. The thumbnails can show the actual server windows or simply the connection status. Global thumbnail view properties can be adjusted via the [Tools.Options.Client Area] tab while group/server-specific settings are in Display Settings.

* Smart Groups

Smart groups are populated dynamically based on a set of rules. All ancestors of sibling groups of the smart group are eligible for inclusion.

* The Connected Virtual Group

When a server is in the connected state, it is automatically added the to Connected virtual group. Servers cannot be explicitly added or removed from the Connected group.

The Connected group can be toggled on/off via the View menu.

* The Reconnect Virtual Group

There are sometimes situations where a server disconnects and will be intentionally offline for an unspecified length of time, e.g. when rebooting after an OS update. When this is the case, drag the server in question to the Reconnect group. RDCMan will continually attempt to connect to the server until it is successful.

The Reconnect group can be toggled on/off via the View menu.

* The Favorites Virtual Group

The Favorites virtual group is a flat file of your favorite servers. You can add any server from the server tree. This is helpful when you have many servers in the tree and often work with a handful of servers from different groups.

The Favorites group can be toggled on/off via the View menu.

* The Connect To Virtual Group

The Connect To Virtual Group contains the servers that are not members of user-created groups. See Ad Hoc Connections for details.

The Connect To group is visible while ad hoc connections exist and disappears when there are none.

* The Recent Virtual Group

The Recent Virtual Group contains the servers that have been recently accessed.

The Recent group can be toggled on/off via the View menu.

SERVERS

A server has a server name (the computer's network name or IP address), an optional display name, and logon information. The logon information may be inherited from another group.

* Adding Servers Manually

Servers names following a pattern can be bulk added to a group. There are two pattern classes:

Iteration

{a,b,c} iterates over the comma-delimited contents.

Range

[1-5] iterates the numerical range. Prefix the lower bound with 0's to specify the minimum width.

Examples:

server1{a,b,c}

Adds server1a, server1b, server1c

server[001-15]

Adds server001, server002, ..., server015

{dca,dcb}rack[1-5]sql[1-2]

Adds dcarack1sql1, dcarack1sql2, dcarack2sql1, ..., dcarack5sql2, dcbrack1sql1, ... dcbrack5sql2

* Importing Servers from a Text File

Servers can be imported into a group from a text file. The file format is simply one server name per line:

Server1

SecondServer

YANS

Server names may also be explicitly specified in the dialog.

All servers are imported into the same group with the same preferences. If a server is imported that has the same name as an existing server, the existing server's preferences are updated to the new ones.

* Ad Hoc Connections

Ad hoc server connections can be created via the [Session. Connect to] feature. These servers will be added to the Connect To Virtual Group. From there they can be converted into real servers by moving them to a user-created group. Servers remaining in the Connect To group are not persisted when RDCMan exits.

* Windows Azure

In the [Connection Settings] tab, enter the role name and role instance name into Load balance config.

e.g. Cookie:

mstshash=MyServiceWebRole#MyServiceWebRole_IN_0#Microsoft.WindowsAzure.Plugins.RemoteAccess.Rdp

* Session Actions

While in a session, the focus can be released to another session or the server tree.

Focus release left (default value is Ctrl+Alt+Left)

This selects the previously selected session.

Focus release right (default value is Ctrl+Alt+Right)

This brings up a dialog to choose where to focus. There will be buttons for up to the of the most-recently used session as well as a button for the server tree and one to minimize RDCMan. Certain key combinations and Windows actions can be tricky to perform over the remote session--particularly when RDCMan itself is started within a remote session--e.g. Ctrl+Alt+Del. These are available from the [Session.Send keys] and [Session.Remote actions] menu items.

GLOBAL OPTIONS

The [Tool.Options] menu item brings up the Options Dialog. Global settings, e.g. the client area size, are modifiable from here. Most server-related options, e.g. hot keys and those on the experience page, will not take effect until the next time that server is connected.

General:

Hide main menu until ALT pressed The main menu can be hidden until the ALT key is pressed or the window caption area is left clicked.

Auto save interval:

You can have RDCMan periodically save the open files automatically. Check the auto-save check box and specify the interval (in minutes) for saving. An interval of 0 will not save periodically but will suppress the save prompt when exiting RDCMan.

Prompt to reconnect connected servers on startup:

RDCMan remembers which servers where connected when the program was exited. On the next run you are prompted to choose which servers to reconnect. Disabling this option automatically reconnects all previously connected servers. See Command Line for command line switches that affect this behavior.

Default group settings:

Clicking this button opens a dialog to configure the settings for the base level of the inheritance hierarchy. E.g. if a File group is set to inherit from its parent, this is where the settings come from.

* Tree

Click to select gives focus to remote client:

When selecting a node in the server tree control with a mouse click, the default behavior is to keep focus on the tree control. There is an option to change this to focus on the selected server.

Dim nodes when the tree control is inactive:

RDCMan can dim the tree control when it is inactive. This presents a more obvious visual distinction of keyboard focus.

* Client Area

Client Area Size:

This option resizes the client area of the RDCMan window. The options are also available from the [View.Client size] menu.

Thumbnail Unit Size:

The thumbnail unit size can be specified as an absolute pixel size or a relative percentage of the client panel width.

* Hot Keys

Many of the remote desktop hot keys are configurable. There is a limited mapping, however. For example if the default key is ALT-something, the replacement must also be ALT-something. To change a hot key, navigate to the text box for the hot key and press the new "something" key.

* Experience

Depending on the bandwidth available from your machine, you will want to limit Windows UI features to improve performance. The connection speed drop down can be used to set all options together, or they can be individually customized. The features are: desktop backgrounds, showing full window contents when dragging, menu and window animation, and windows themes.

* Full Screen

Show full screen connection bar:

Auto-hide connection bar. When a server is displayed in full-screen mode, the remote desktop activeX control provides a UI connection bar at the top of the window. This bar can be toggled on and off. When it is on, you can choose to have it pinned or auto-hidden.

Full screen window is always on top:

When RDCMan is displaying a server in full-screen mode, you can choose to have the window always displayed as the top-most window.

Use multiple monitors when necessary:

By default, a full screen session is restricted to the monitor containing the server window. You can enable multiple monitor spanning in the full screen options. If the remote desktop is larger than window's monitor, it will span as many monitors as needed to fit the remote session. Note that only rectangular areas are used, so if you have two monitors with differing vertical resolutions, the shorter of the two is used. Also, there is a hard limit of 4096x2048 for the remote desktop control.

LOCAL OPTIONS

Groups and Servers have a number of tabbed property pages with various customization options. Many of these pages are common to groups and servers. When the "Inherit from parent" check box is checked, the settings that follow are inherited from the parent container. Most server-related changes, e.g. remote desktop size, will not take effect until the next time that server is connected.

* File Settings

This page only appears for the properties of a file. It contains options for the file's group name, shows the full path to the file (which can't be edited), and has a comment field.

* Group Settings

This page only appears for the properties of a group. It contains options for the group name, parent nesting, and a comment.

* Server Settings

This page only appears for the properties of a server. It contains options for the server name, its display name, parent nesting, and a comment. SCVMM virtual machines can be connected to via RDP into the host using the VM console connect option.

Use the PowerShell command:

get-vm | ft ElementName,Name,Id

to determine the id corresponding to the VM.

* Logon Credentials

The Logon Credentials property page contains options pertaining to remote login. The user name, password, and domain are set on this page. The domain and user name can be specified together by using the domain\user format. When logging in to a machine "domain" rather than a Windows domain, you can specify [server] or [display]. This former will be substituted with the server name, the latter with the display name, at logon time. It is useful when you have a group of machines which require logging in as administrator. The Logon Settings entered in the properties pages are used by default for new connections. If you want to temporarily customize these settings for a new connection, connect using the Connect As menu item.

* Gateway Settings

The Gateway Settings property page has options for using a TS Gateway Server. The Gateway name, authentication method, and local address bypass options are on this page. Users of operating systems starting from Vista SP1 and Longhorn server will have additional options regarding logon credentials:

Explicit entry of Gateway user name and password Ability to share the Gateway credentials with the remote server.

* Connection Settings

The Connection Settings tab includes settings to customize how a session is connected and what happens upon logon.

You can specify whether the console session should be connected to as well as the remote desktop connection port.

There are also settings that allow you to run a program upon connection. Enter the program name and, optionally, the working directory for that program. Note that these only have an effect if you are connecting to the console session for the first time. That is, reconnecting to a session or connecting to a session other than the console session will not run the program. (At least, this is how Terminal Services appears to work based on empirical observation.)

* Remote Desktop Settings

The size of the remote desktop is specified on this page. This is the logical desktop size, not the physical client view of it. For example, if the remote desktop size is 1280 x 1024 and client size is 1024 x 768, you would see a 1024 x 768 view of the remote desktop with scroll bars. If the client size were 1600 x 1200, the entire remote desktop would be visible, offset by a gray border.

Specifying "Same as client area" will make the remote desktop the same size as the RDCMan client panel, i.e. the RDCMan window client area excluding the server tree. Specifying "Full screen" will make the remote desktop the same size as the screen that the server is viewed on. Note that the remote desktop size is determined upon connecting to a server. Changing this setting for a connected server will have no effect.

The maximum size of the remote desktop is determined by the version of the remote desktop activeX control. Version 5 (pre-Vista) had a maximum of 1600 x 1200; Version 6 (Vista) has a maximum of 4096 x 2048. This limit is enforced at connection time, not during data entry. This is in case the same RDCMan file is shared by multiple computers.

* Local Resources

Various resources of the remote server may be delivered to the client. The remote computer sound can be played locally, played remotely, or disabled entirely. Windows key combinations (for example, those involving the actual Windows key as well as other specials like Alt+Tab) can be applied always to the client machine, always to the remote machine, or to the client when windowed and the remote machine when in full screen mode. Client drive, port, printer, smart card, and clipboard resources can be automatically shared to the remote machine.

* Security Settings

You can specify whether authentication of the remote machine is required before a connection is established.

* Display Settings

Thumbnail display settings are customizable from this page.

The first option is: thumbnail scale. This specifies how many thumbnail units to allocate to the display of a given server. All servers default to a scale of 1. You can change this to increase the display of important servers. For example, a server could be scaled by 3 or 5 making the remote session quite usable in the thumbnail display while still permitting a view of many other servers. This is the only option for servers.

There are three additional options for groups: preview session in thumbnail, allow thumbnail session interaction, and show disconnected thumbnails. The first whether or not the thumbnail view shows the actual live connection, continually updated. The second, dependent on the first, specifies whether the thumbnail session is usable. The final option controls whether disconnected servers appear in the thumbnail view.

* Encryption Settings

RDCMan can encrypt the passwords stored in files either with the local user's credentials via CryptProtectData or an X509 certificate. The Encryption Settings tab is available in the Default Group Settings and File Settings dialogs.

Personal certificates of the current user which have a private key are available for encryption. You can create such a certificate in the following manner:

PowerShell:

New-SelfSignedCertificate -KeySpec KeyExchange `

-KeyExportPolicy Exportable `

-HashAlgorithm SHA1 -KeyLength 2048 `

-CertStoreLocation "cert:\CurrentUser\My" `

-Subject "CN=MyRDCManCert"

This will create a certificate called "MyRDCManCert" in the Personal Certificates store of the current user. To install this cert on another computer, you must export it with the private key.

* Profile Management

Credential profiles can be added, edited, and removed from this tab.

LIST REMOTE SESSIONS

RDCMan has limited support for managing remote sessions other than those connected from it. The [Session.List Sessions] menu item invokes the feature.

Note that the account running RDCMan must have Query Information permissions on the remote server to list the sessions. Furthermore, the remote session must be directly reachable rather than via a gateway server. Disconnect and Logoff permissions must be granted to perform those operations. See msdn for more information on remote desktop permissions.

COMMAND LINE

By default, RDCMan will open the files that were loaded at the time of the last program shutdown. You can override this by specifying a file (or files) explicitly on the RDCMan command line. Additionally, the following switches are accepted:

/reset

reset the persisted application preferences such as window location and size.

/noopen

do not open the previously loaded files, starting with an empty environment.

/c server1[,server2...]

connect specified servers

/reconnect

connect all servers that were connected at shutdown without prompting

/noconnect

do not prompt to connect servers that were connected at shutdown

FIND SERVERS

There is a dialog for finding servers accessed via Ctrl+F or the Edit.Find (servers) command. All servers matching a regular expression pattern are displayed in the dialog and can be acted on via a context menu. The pattern is matched against the full name (group\server).

CREDENTIAL PROFILES

Credential profiles store logon credentials globally to RDCMan or in a file. This allows for using the same stored credentials across groups that do not have a common ancestor. One use scenario is to store credentials used for logging into servers and gateways in a single place. When a password changes, it can be edited once. Another scenario is when sharing RDG files across a group. Global store.

You can update the settings for a credential profile in two ways. The first is to edit from a credentials dialog and then save the exact same profile name/domain to the same store (file or global). That will ask if you want to update. The other way is to go to the group properties for the credential store (again, file or global) and use the Profile Management tab.

File scope credential profile passwords are encrypted according to the containing file's Encryption Settings. Global credential profiles use the Default Group Settings.

POLICIES

RDCMan retrieves policy information from the HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\RDCMan registry key.

DisableLogOff

Create this DWORD value as non-zero to disable the log off command throughout RDCMan.

SEE ALSO

https://sysinternals.com/downloads/rdcman for more information.

OPTIONS

-h

usage message.

Start ZoomIt.

-i

install the RDCMan command to the 'Desktop'.

-u

uninstall the RDCMan shortcut from 'Desktop'.

-V

print program version.

/reset

reset the persisted application preferences such as window location and size.

/noopen

do not open the previously loaded files, starting with an empty environment.

/c server1[,server2...]

connect specified servers.

/reconnect

connect all servers that were connected at shutdown without prompting.

/noconnect

do not prompt to connect servers that were connected at shutdown.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage message displayed.

5

version message displayed.

FILES

var/db/rdcman/<group_filename>.rdg

configuration of remote server connections for RDCMan groups.

etc/RDCMan.cfg

configuration settings of RDCMan. This file is maintained by the command.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), config(1m), rdcman.rdg(4), https://www.sysinternals.com/downloads/rdcman, https://docs.microsoft.com/en-us/azure/cloud-services/cloud-services-role-enable-remote-desktop-powershell

NOTES

RDCMan has been developed by Julian Burger.

The majority of the documentation has been extracted from the documentation on https://www.sysinternals.com/downloads/rdcman.

BUGS

-

AUTHOR

RDCMan was developed by Julian Burger and integrated into WA2L/WinTools by Christian Walther. Send suggestions and bug reports regarding the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2021 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION INTRODUCTION THE DISPLAY * The Menu * The Tree * The Client Area * Full Screen Mode * Shortcut Keys FILES GROUPS * Smart Groups * The Connected Virtual Group * The Reconnect Virtual Group * The Favorites Virtual Group * The Connect To Virtual Group * The Recent Virtual Group SERVERS * Adding Servers Manually * Importing Servers from a Text File * Ad Hoc Connections * Windows Azure * Session Actions GLOBAL OPTIONS * Tree * Client Area * Hot Keys * Experience * Full Screen LOCAL OPTIONS * File Settings * Group Settings * Server Settings * Logon Credentials * Gateway Settings * Connection Settings * Remote Desktop Settings * Local Resources * Security Settings * Display Settings * Encryption Settings * Profile Management LIST REMOTE SESSIONS COMMAND LINE FIND SERVERS CREDENTIAL PROFILES POLICIES SEE ALSO OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:50 GMT, September 14, 2024

redirect2web

TOC Index

NAME

redirect2web - redirect to web server based on local selected file

SYNOPSIS

WA2LWinTools/bin/redirect2web [ -h | -i | -u | -V ]

redirect2web [ -t ][ -m mapfile ][ -f filename ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

With the redirect2web command a user can be supported when files are migrated from local- respectively network drive based locations to a web server, as 'Microsoft™ SharePoint'.

When a selected file is sent to the redirect2web command a web browser is started with a location resolved based on a map file.

In the map file redirect2web.map source file locations can be mapped to target web URL locations using regular expressions.

As soon as a rule in the map file matches to the selected file, the related target definition is loaded into a web browser to visualize to the user where his files he previously has used from the network drive have been saved on the web service.

The use of regular expressions in the matching rules allows to efficiently define mappings.

The redirect2web command should be installed to the 'Send To' context menu in 'Microsoft™ Windows Explorer' for most convenient usage. To do so, invoke redirect2web -i once.

Doing this, the user right clicks a file or folder in 'Microsoft™ Windows Explorer', continues with → 'Send To' → redirect2web and is then redirected to the correct new target location of the file.

OPTIONS

-h

usage message.

-i

install the redirect2web command as menu point 'redirect2web' to the 'Send To' context menu in 'Windows Explorer'.

-u

uninstall the redirect2web shortcut from the 'Send To' context menu in 'Windows Explorer'.

-V

print program version.

-m mapfile

location of the map file when not saved to the default location in etc/. The map file can also be defined in the etc/redirect2web.cfg file using the MAPFILE=file setting. The -m option has preference over the setting in the configuration file and its purpose is mostly in testing new map files.

If the mapfile contains spaces, it has to be surrounded by double quotes (e.g. "map file" ).

-f filename

filename (including path) of the file to be mapped to a target (web) location. The command can handle files on letter drives (e.g. c:\subdir\file.txt , c:\subdir\ ) and UNC format (e.g. \\fileserver\share\subdir\file.txt , \\fileserver\share\subdir\ ).

If the filename contains spaces, it has to be surrounded by double quotes (e.g. "file name" ).

-t

test the map file.

The filename to test if it matches to the desired rule can be provided thru the -f filename option:

redirect2web -t -f aCalculation.xlsx

or thru stdin and the use of the -f - option:

type filelist.txt | redirect2web -t -f -

To catch the output for further processing as a csv file output, redirect stdout to a target file:

type filelist.txt | redirect2web -t -f - > result.txt

To perform a regression test of a file list (check.txt) where the first column in this example holds the rule identifier of the map file redirect2web.map that is expected to match and the 2nd holds a file name, as:

EXMP-01;g:\acct\LToons\afile.xlsx

EXMP-01;g:\acct\LToons\subdir\afile.xlsx

EXMP-12;g:\cust\ABC\subdir\afile.xlsx

and the related map file, invoke:

cut -d; -f2 check.txt | redirect2web -t -f - | cut -d; -f3 > result.txt

cut -d; -f1 check.txt > reference.txt && fc reference.txt result.txt

If the fc (file compare) command does not find a difference between the reference.txt and the result.txt all tests are as expected.

The cut -d; -f2 command prints the 2nd field ( -f2 ) of the semicolon delimited ( -d; ) check.txt file.

The cut command is in the %PATH% when using the wtshell(1m), else it can be found in the lib/ directory of the WA2L/WinTools package.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage message displayed.

5

version message displayed.

FILES

etc/redirect2web.cfg

optional configuration file for redirect2web. See: redirect2web.cfg(4) for more information.

etc/redirect2web.map

configuration file for redirect2web to map source to destination locations. See: redirect2web.map(4) for more information.

lib/redirect2web.html

example notification file to display when no mapping was found for a certain file.

lib/redirect2web.cfg

example configuration file.

lib/redirect2web.map

example map file.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), cut(1), redirect2web.cfg(4), redirect2web.map(4), config(1m), wtshell(1m)

NOTES

-

BUGS

-

AUTHOR

redirect2web was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:50 GMT, September 14, 2024

redirect2web.cfg

TOC Index

NAME

redirect2web.cfg - configuration file for redirect2web

SYNOPSIS

WA2LWinTools/etc/redirect2web.cfg

AVAILABILITY

WA2L/WinTools

DESCRIPTION

This is the optional configuration file for the redirect2web command.

FILEFORMAT

Rows starting with # are considered as comments.

The file format is OPTION=VALUE

Between the OPTION , the = and the VALUE are no spaces.

You can comment out any OPTION or completely remove the related setting line to use the default settings.

OPTIONS

MAPFILE

location of the map file.

In the MAPFILE setting the environment variables %USERNAME%, %USERPROFILE%, %ProgramFiles%, %ProgramFiles(x86)%, %APPDATA%, %INSTALLDIR%, and %INSTALLDRIVE% can be used.

Where the %INSTALLDIR% variable contains the base directory and the %INSTALLDRIVE% the drive letter (including :) or the UNC server name of the WA2L/WinTools package installation.

Example: MAPFILE=G:\central_config\redirect2web.map

Default: MAPFILE=etc\redirect2web.cfg

PATH

Extend system %PATH% to find the content viewer command.

See also: VIEWER= setting below and viewer field in redirect2web.map(4).

In the PATH and VIEWER setting the environment variables %USERNAME%, %USERPROFILE%, %ProgramFiles%, %ProgramFiles(x86)%, %APPDATA%, %INSTALLDIR%, and %INSTALLDRIVE% can be used.

Where the %INSTALLDIR% variable contains the base directory and the %INSTALLDRIVE% the drive letter (including :) or the UNC server name of the WA2L/WinTools package installation.

Example: PATH=%USERPROFILE%\Documents\bin\FirefoxPortable;%INSTALLDRIVE%\bin\FirefoxPortable

Default: PATH=

VIEWER

Set Web content viewer command.

See also: viewer field in redirect2web.map(4).

Example: VIEWER=FirefoxPortable.exe

Default: VIEWER=iexplore.exe

SEPARATOR

Field separator in the map file.

Example: SEPARATOR=!

Default: SEPARATOR=;

ABORTONERROR

The redirect2web command reads the map file redirect2web.map sequentially from top to bottom. With the ABORTONERROR setting it can be defined if the command should abort if an error occurs (as when a regular expression is bogus) or if it should skip the line in error and continue.

Example: ABORTONERROR=True

Default: ABORTONERROR=False

EXAMPLES

1) Example configuration file

#

# redirect2web.cfg - configuration file for redirect2web

#

# [00] 09.06.2017 CWa   Initial Version

#

# Locate the map file on a central file share to

# avoid redistribution to clients on change.

#

MAPFILE=G:\central_config\redirect2web.map

# Extend %PATH% to the FireFox browser location

# In the PATH setting the environment variables %USERNAME%,

# %USERPROFILE%, %ProgramFiles%, %ProgramFiles(x86)%,

# %APPDATA% and %INSTALLDIR% can be used.

#

PATH=%USERPROFILE%\Documents\bin\FirefoxPortable;d:\bin\FirefoxPortable

# Set FireFox browser as viewer.

#

VIEWER=FirefoxPortable.exe

SEE ALSO

wintoolsintro(1), redirect2web(1), redirect2web.map(4),

NOTES

-

BUGS

-

AUTHOR

redirect2web.cfg was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION FILEFORMAT OPTIONS EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:50 GMT, September 14, 2024

redirect2web.map

TOC Index

NAME

redirect2web.map - map file for redirect2web

SYNOPSIS

WA2LWinTools/etc/redirect2web.map

AVAILABILITY

WA2L/WinTools

DESCRIPTION

This is the map file for the redirect2web command.

The file is computed sequentially and as soon as a rule (regex_pattern) matches, the resolution is stopped and the remaining lines are not computed any more.

It is recommended to define a final rule that matches everything using the .* regex_pattern and a target with a meaningful hint to the user or to the root of the web server.

If no such final rule is defined that matches everything, there is no response to the user (no web browser is started).

FILEFORMAT

Rows starting with # are considered as comments.

The format of each line is:

rule_identifier ; regex_pattern ; target ; [ viewer ; ]

(leading and tailing white spaces between the field and the separator ; are trimmed away).

OPTIONS

rule_identifier

free text identifier of the rule line. This to identify the matching rule when running in test mode when redirect2web has been invoked using the -t option.

This identifier can also be used when doing a regression test of the defined rules in a map file against an input file containing a list of file names in conjunction with -f - .

regex_pattern

regular expression to analyze the filename given thru the -f option.

Remember: when a rule matches, the remaining rules are not resolved any more.

See: regexintro(4) for a short introduction to regular expressions.

Be aware, that a backslash ( \ ) as present in Windows™ file names have to be escaped in regular expressions ( \\ ).

Therefore the regular expression to match the file g:\data\project\calc.xlsx is g:\\data\\project\\calc\.xlsx .

target

when a rule matches, the URL defined in the target field is loaded into the web content viewer (=web browser).

Backslashes ( \ ) in the target definition are translated to slashes ( / ).

The target configuration can hold several @NAME@ placeholders that are replaced with a content resolved from the given filename thru the -f option:

@YEAR@

current year as four digit number (e.g. 2018).

@INSTALLDIR@

installation base directory of the WA2L/WinTools package.

@INSTALLDRIVE@

installation drive letter (including :) or UNC server name of the WA2L/WinTools package.

@FILENAME@

selected source file name including suffix.

@FQFN@

full qualified file name including drive.

@DIRECTORY@

directory of the file including the drive name.

@DIR@

directory of the file without drive name.

@PREFIX@

file name without suffix.

@SUFFIX@

suffix of the file name.

@DRIVE@

drive name or server name when specifying an UNC path.

@FOLDER:i@

folder name, where i is an integer number from 1 to n based on the path depth of the given filename.

The given filename g:\research\projects\Alpha\report.doc or the UNC variant example \\filesvr\share\research\projects\Alpha\report.doc would set @FOLDER:1@ to research, @FOLDER:2@ to projects and @FOLDER:3@ to Alpha.

Hint: For the UNC variant @FOLDER:0@ is set to share.

[ viewer ]

optional field for (Web) content viewer, if different from VIEWER=command setting in redirect2web.cfg file (or different from the built in default iexplore.exe).

This allows to open the redirected files (for example based on suffix) in different applications.

Also if a web application runs best in 'Internet Explorer' and another runs best in Firefox the viewer command can be defined for a specific rule.

In the viewer field setting the environment variables %USERNAME%, %USERPROFILE%, %ProgramFiles%, %ProgramFiles(x86)%, %APPDATA%, %INSTALLDIR%, and %INSTALLDRIVE% can be used.

EXAMPLES

1) Example map file explained

The following map file shows how it is possible to define direct mappings and also to support some cleanup during migration where some source folders are migrated to different destination locations:

#

# redirect2web.map - map file for redirect2web

#

# [00] 07.06.2017 CWa   Initial Version

# [01] 08.06.2017 CWa   ++

#

#id    ;regex_pattern                          ;target;

EXMP-01;(\\\\filesv\\data|g:)\\acct\\LToons\\.*;http://spoint.acme.ch/f/accounts/ACME/;

EXMP-02;(\\\\filesv\\data|g:)\\acct\\.*        ;http://spoint.acme.ch/f/accounts/@FOLDER:2@/;

EXMP-11;(\\\\filesv\\data|g:)\\cust\\Stone\\.* ;http://spoint.acme.ch/f/accounts/Quarry Inc/;

EXMP-12;(\\\\filesv\\data|g:)\\cust\\.*        ;http://spoint.acme.ch/f/accounts/@FOLDER:2@/;

LAST   ;.*                                     ;file:///@INSTALLDIR@/lib/redirect2web.html;

The redirect2web.map file example has the following capabilities:

-

The rules EXMP-* map files located on drive g: or on the data share of the file server \\filesv (when accessed thru the UNC name) from the sub directory \acct\ respectively \cust\ to the SharePoint server URL http://spoint.acme.ch/files/accounts/ .

-

The EXMP-01 rule furthermore maps the old customer name LToons to ACME, the current name of the LToons customer.

-

The EXMP-02 rule maps all other customers located in \acct\ with the original name to the /accounts/ URL.

-

The EXMP-11 rule furthermore maps the old customer name Stone to the also new company name Quarry Inc in this example.

-

The EXMP-12 rule maps all other customers located in \cust\ with the original name to the /accounts/ URL.

-

The LAST rule opens the lib/redirect2web.html notification file from the installation directory of the WA2L/WinTools package in the web browser to inform the user that no mapping for a file has been found.

In general you would define and create an own information html page (most likely residing on a web server or a central file location) to inform your users more specific.

Of course you can also use anchors ( e.g. acme-migration-info.html#INTRO ) to jump to a specific part of the information html page.

Hint: The rules EXMP-02 and EXMP-12 could also be replaced by a single rule, at the place of EXMP-12:

EXMP-22;(\\\\filesv\\data|g:)\\(acct|cust)\\.* ;http://spoint.acme.ch/f/accounts/@FOLDER:2@/;

2) Example config- and map-file using multiple viewers

The following redirect2web.cfg config file expands the PATH to Firefox browser installations and sets the default viewer to Firefox.exe.

The map file redirect2web.map is located on the network drive g:\ to allow central editing/enhancement of the map file without the need to distribute the changed map file to users:

#

# redirect2web.cfg - configuration file for redirect2web

#

# [00] 24.06.2017 CWa   Initial Version

#

MAPFILE=g:\migration\redirect2web.map

PATH=%USERPROFILE%\Documents\bin\FirefoxPortable;d:\bin\FirefoxPortable

VIEWER=FirefoxPortable.exe

In the map file redirect2web.map all targets are loaded into FirefoxPortable.exe except the target defined in the rule EXMP-40 which is loaded into 'Internet Explorer' (iexplore.exe) which is explicitly defined for that rule.

To speed up rule writing, it is recommended to set the most used viewer in the VIEWER=command setting in redirect2web.cfg and the exceptions in the viewer field in the redirect2web.map configuration file:

#

# redirect2web.map - map file for redirect2web

#

# [00] 24.06.2017 CWa   Initial Version

#

#id    ;regex_pattern      ;target                                          ;viewer;

EXMP-40;g:\\(acct|cust)\\.*;http://sharepoint.acme.ch/f/accounts/@FOLDER:2@/;iexplore.exe;

EXMP-41;g:\\manuals\\.*    ;http://opendocman.acme.ch/man/;

EXMP-42;g:\\project\\.*    ;http://openproject.acme.ch/prj/@FOLDER:2@/;

EXMP-43;i:\\checklists\\.* ;http://foswiki.acme.ch/;

LAST   ;.*                 ;file:///@INSTALLDIR@/lib/redirect2web.html;

SEE ALSO

wintoolsintro(1), redirect2web(1), redirect2web.cfg(4), regexintro(4)

NOTES

-

BUGS

-

AUTHOR

redirect2web.map was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION FILEFORMAT OPTIONS EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:51 GMT, September 14, 2024

regexintro

TOC Index

NAME

regexintro - introduction to regular expression usage

SYNOPSIS

regexintro, regex, regexp

AVAILABILITY

WA2L/WinTools

DESCRIPTION

In computing, regular expressions provide a concise and flexible means for identifying strings of text of interest, such as particular characters, words, or patterns of characters.

Regular expressions (abbreviated as regex or regexp, with plural forms regexes, regexps, or regexen) are written in a formal language that can be interpreted by a regular expression processor, a program that either serves as a parser generator or examines text and identifies parts that match the provided specification.

Regular expressions are heavily used in the commands: awk(1), egrep(1), gawk(1), grep(1), and sed(1).

BASIC CONCEPTS

A regular expression, often called a pattern, is an expression that describes a set of strings. They are usually used to give a concise description of a set, without having to list all elements.

For example, the set containing the three strings Handel , Händel , and Haendel can be described by the pattern H(ä|ae?)ndel (or alternatively, it is said that the pattern matches each of the three strings).

In most formalisms, if there is any regex that matches a particular set then there is an infinite number of such expressions. Most formalisms provide the following operations to construct regular expressions:

Alternation

A vertical bar separates alternatives. For example, gray|grey can match gray or grey .

Grouping

Parentheses are used to define the scope and precedence of the operators (among other uses). For example, gray|grey and gr(a|e)y are equivalent patterns which both describe the set of gray and grey .

Quantification

A quantifier after a token (such as a character) or group specifies how often that preceding element is allowed to occur. The most common quantifiers are ? , * , and + .

?

The question mark indicates there is zero or one of the preceding element. For example, colou?r matches both color and colour .

*

The asterisk indicates there are zero or more of the preceding element. For example, ab*c matches ac , abc , abbc , abbbc , and so on.

+

The plus sign indicates that there is one or more of the preceding element. For example, ab+c matches abc , abbc , abbbc , and so on, but not ac.

These constructions can be combined to form arbitrarily complex expressions, much like one can construct arithmetical expressions from numbers and the operations + , . and * . For example, H(ae?|ä)ndel and H(a|ae|ä)ndel are both valid patterns which match the same strings as the earlier example, H(ä|ae?)ndel .

The precise syntax for regular expressions varies among tools and with context; more detail is given in the Syntax section.

SYNTAX

POSIX BASIC REGULAR EXPRESSIONS

Traditional Unix regular expression syntax followed common conventions but often differed from tool to tool.

The IEEE POSIX Basic Regular Expressions (BRE) standard (released alongside an alternative flavor called Extended Regular Expressions or ERE) was designed mostly for backward compatibility with the traditional syntax but provided a common standard which has since been adopted as the default syntax of many Unix regular expression tools, though there is often some variation or additional features.

Many such tools also provide support for ERE syntax with command line arguments.

In the BRE syntax, most characters are treated as literals - they match only themselves (i.e., a matches a ). The exceptions, listed below, are called meta characters or meta sequences.

.

Matches any single character (many applications exclude newlines, and exactly which characters are considered newlines is flavor, character encoding, and platform specific, but it is safe to assume that the line feed character is included). Within POSIX bracket expressions, the dot character matches a literal dot. For example, a.c matches abc , etc., but [a.c] matches only a , . , or c .

[ ]

A bracket expression. Matches a single character that is contained within the brackets. For example, [abc] matches a , b , or c . [a-z] specifies a range which matches any lowercase letter from a to z . These forms can be mixed: [abcx-z] matches a , b , c , x , y , and z, as does [a-cx-z] .

The - character is treated as a literal character if it is the last or the first character within the brackets, or if it is escaped with a backslash: [abc-] , [-abc] , or [a-bc] .

[^ ]

Matches a single character that is not contained within the brackets. For example, [^abc] matches any character other than a , b , or c . [^a-z] matches any single character that is not a lowercase letter from a to z . As above, literal characters and ranges can be mixed.

^

Matches the starting position within the string. In line-based tools, it matches the starting position of any line.

$

Matches the ending position of the string or the position just before a string-ending newline. In line-based tools, it matches the ending position of any line.

*

Matches the preceding element zero or more times. For example, ab*c matches ac , abc , abbbc , etc. [xyz]* matches , x , y , z , zx , zyx , xyzzy , and so on. \(ab\)* matches , ab , abab , ababab , and so on.

\{m,n\}

Matches the preceding element at least m and not more than n times. For example, a\{3,5\} matches only aaa , aaaa , and aaaaa . This is not found in a few, older instances of regular expressions. For compatibility reasons, this construct should be avoided.

POSIX EXTENDED REGULAR EXPRESSIONS

The meaning of meta characters escaped with a backslash is reversed for some characters in the POSIX Extended Regular Expression (ERE) syntax. With this syntax, a backslash causes the meta character to be treated as a literal character. Additionally, support is removed for \n back references and the following meta characters are added:

?

Matches the preceding element zero or one time. For example, ba? matches b or ba .

+

Matches the preceding element one or more times. For example, ba+ matches ba , baa , baaa , and so on.

|

The choice (aka alternation or set union) operator matches either the expression before or the expression after the operator. For example, abc|def matches abc or def .

POSIX CHARACTER CLASSES

Since many ranges of characters depend on the chosen locale setting (i.e., in some settings letters are organized as abc...zABC...Z, while in some others as aAbBcC...zZ), the POSIX standard defines some classes or categories of characters as shown in the following table. It is expected, that this constructs are less portable, then specifying expressions with the more basic constructs above. Therefore for compatibility reasons, it is recommended to avoid the following constructs.

[:alnum:]

Alphanumeric characters.

[:alpha:]

Alphabetic characters.

[:blank:]

Space and tab.

[:cntrl:]

Control characters.

[:digit:]

Digits.

[:graph:]

Visible characters.

[:lower:]

Lowercase letters.

[:print:]

Visible characters and spaces.

[:punct:]

Punctuation characters.

[:space:]

White-space characters.

[:upper:]

Uppercase letters.

[:xdigit:]

Hexadecimal digits.

POSIX character classes can only be used within bracket expressions. For example, [[:upper:]ab] matches the uppercase letters and lowercase a and b .

EXAMPLES

1)

.at matches any three-character string ending with at , including hat , cat , and bat .

2)

[hc]at matches hat and cat .

3)

[^b]at matches all strings matched by .at except bat .

4)

^[hc]at matches hat and cat , but only at the beginning of the string or line.

5)

[hc]at$ matches hat and cat , but only at the end of the string or line.

6)

[hc]+at matches hat , cat , hhat , chat , hcat , ccchat , and so on, but not at .

7)

[hc]*at matches hat , cat , hhat , chat , hcat , ccchat , and so on, and also at .

8)

[hc]?at matches hat , cat , and at .

9)

cat|dog matches cat or dog .

10)

.* matches any character.

SEE ALSO

wintoolsintro(1), awk(3), egrep(1), grep(1), sed(1), sed1line(1), https://en.wikipedia.org/w/index.php?oldid=219305661, https://en.wikipedia.org/wiki/Regular_expression

[AWK]

The AWK Programming Language, October 1988, Aho Alfred V., Weinberger Peter J., Kernighan Brian W., ISBN 0-201-07981-X

[REX]

Regular Expression, Wikipedia the Free Encyclopedia, 14.06.2008, Version 219305661, Boldt Axel, File: https://en.wikipedia.org/w/index.php?oldid=219305661

[SSP]

Shellscript Programmierung, Sun Service, Revision C21 February 1994, Sun Microsystems Inc., Sun Part No: 8xx-xxxx-xx

NOTES

This manpage is an extract of the Wikipedia page https://en.wikipedia.org/wiki/Regular_expression version 219305661 (https://en.wikipedia.org/w/index.php?oldid=219305661) which has been written by Boldt Axel and many others. See the mentioned web page to view the complete regular expression description.

BUGS

-

AUTHOR

regexintro was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/doc/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION BASIC CONCEPTS SYNTAX POSIX BASIC REGULAR EXPRESSIONS POSIX EXTENDED REGULAR EXPRESSIONS POSIX CHARACTER CLASSES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:51 GMT, September 14, 2024

sed1line

TOC Index

NAME

sed1line - useful one-line scripts for sed

SYNOPSIS

sed [ OPTION ]... {script-only-if-no-other-script} [ input-file ]...

AVAILABILITY

WA2L/WinTools

DESCRIPTION

INTRODUCTION:

-------------------------------------------------------------------------

USEFUL ONE-LINE SCRIPTS FOR SED (Unix stream editor)        Dec. 29, 2005

Compiled by Eric Pement - pemente[at]northpark[dot]edu        version 5.5

Latest version of this file (in English) is usually at:

http://sed.sourceforge.net/sed1line.txt

http://www.pement.org/sed/sed1line.txt

This file will also available in other languages:

Chinese     - http://sed.sourceforge.net/sed1line_zh-CN.html

Czech       - http://sed.sourceforge.net/sed1line_cz.html

Dutch       - http://sed.sourceforge.net/sed1line_nl.html

French      - http://sed.sourceforge.net/sed1line_fr.html

German      - http://sed.sourceforge.net/sed1line_de.html

Italian     - (pending)

Portuguese  - http://sed.sourceforge.net/sed1line_pt-BR.html

Spanish     - (pending)

FILE SPACING:

# double space a file

sed G

# double space a file which already has blank lines in it. Output file

# should contain no more than one blank line between lines of text.

sed '/^$/d;G'

# triple space a file

sed 'G;G'

# undo double-spacing (assumes even-numbered lines are always blank)

sed 'n;d'

# insert a blank line above every line which matches "regex"

sed '/regex/{x;p;x;}'

# insert a blank line below every line which matches "regex"

sed '/regex/G'

# insert a blank line above and below every line which matches "regex"

sed '/regex/{x;p;x;G;}'

NUMBERING:

# number each line of a file (simple left alignment). Using a tab (see

# note on '\t' at end of file) instead of space will preserve margins.

sed = filename | sed 'N;s/\n/\t/'

# number each line of a file (number on left, right-aligned)

sed = filename | sed 'N; s/^/     /; s/ *\(.\{6,\}\)\n/\1  /'

# number each line of file, but only print numbers if line is not blank

sed '/./=' filename | sed '/./N; s/\n/ /'

# count lines (emulates "wc -l")

sed -n '$='

TEXT CONVERSION AND SUBSTITUTION:

# IN UNIX ENVIRONMENT: convert DOS newlines (CR/LF) to Unix format.

sed 's/.$//'               # assumes that all lines end with CR/LF

sed 's/^M$//'              # in bash/tcsh, press Ctrl-V then Ctrl-M

sed 's/\x0D$//'            # works on ssed, gsed 3.02.80 or higher

# IN UNIX ENVIRONMENT: convert Unix newlines (LF) to DOS format.

sed "s/$/`echo -e \\\r`/"            # command line under ksh

sed 's/$'"/`echo \\\r`/"             # command line under bash

sed "s/$/`echo \\\r`/"               # command line under zsh

sed 's/$/\r/'                        # gsed 3.02.80 or higher

# IN DOS ENVIRONMENT: convert Unix newlines (LF) to DOS format.

sed "s/$//"                          # method 1

sed -n p                             # method 2

# IN DOS ENVIRONMENT: convert DOS newlines (CR/LF) to Unix format.

# Can only be done with UnxUtils sed, version 4.0.7 or higher. The

# UnxUtils version can be identified by the custom "--text" switch

# which appears when you use the "--help" switch. Otherwise, changing

# DOS newlines to Unix newlines cannot be done with sed in a DOS

# environment. Use "tr" instead.

sed "s/\r//" infile >outfile         # UnxUtils sed v4.0.7 or higher

tr -d \r <infile >outfile            # GNU tr version 1.22 or higher

# delete leading whitespace (spaces, tabs) from front of each line

# aligns all text flush left

sed 's/^[ \t]*//'                    # see note on '\t' at end of file

# delete trailing whitespace (spaces, tabs) from end of each line

sed 's/[ \t]*$//'                    # see note on '\t' at end of file

# delete BOTH leading and trailing whitespace from each line

sed 's/^[ \t]*//;s/[ \t]*$//'

# insert 5 blank spaces at beginning of each line (make page offset)

sed 's/^/     /'

# align all text flush right on a 79-column width

sed -e :a -e 's/^.\{1,78\}$/ &/;ta'  # set at 78 plus 1 space

# center all text in the middle of 79-column width. In method 1,

# spaces at the beginning of the line are significant, and trailing

# spaces are appended at the end of the line. In method 2, spaces at

# the beginning of the line are discarded in centering the line, and

# no trailing spaces appear at the end of lines.

sed  -e :a -e 's/^.\{1,77\}$/ & /;ta'                     # method 1

sed  -e :a -e 's/^.\{1,77\}$/ &/;ta' -e 's/\( *\)\1/\1/'  # method 2

# substitute (find and replace) "foo" with "bar" on each line

sed 's/foo/bar/'             # replaces only 1st instance in a line

sed 's/foo/bar/4'            # replaces only 4th instance in a line

sed 's/foo/bar/g'            # replaces ALL instances in a line

sed 's/\(.*\)foo\(.*foo\)/\1bar\2/' # replace the next-to-last case

sed 's/\(.*\)foo/\1bar/'            # replace only the last case

# substitute "foo" with "bar" ONLY for lines which contain "baz"

sed '/baz/s/foo/bar/g'

# substitute "foo" with "bar" EXCEPT for lines which contain "baz"

sed '/baz/!s/foo/bar/g'

# change "scarlet" or "ruby" or "puce" to "red"

sed 's/scarlet/red/g;s/ruby/red/g;s/puce/red/g'   # most seds

gsed 's/scarlet\|ruby\|puce/red/g'                # GNU sed only

# reverse order of lines (emulates "tac")

# bug/feature in HHsed v1.5 causes blank lines to be deleted

sed '1!G;h;$!d'               # method 1

sed -n '1!G;h;$p'             # method 2

# reverse each character on the line (emulates "rev")

sed '/\n/!G;s/\(.\)\(.*\n\)/&\2\1/;//D;s/.//'

# join pairs of lines side-by-side (like "paste")

sed '$!N;s/\n/ /'

# if a line ends with a backslash, append the next line to it

sed -e :a -e '/\\$/N; s/\\\n//; ta'

# if a line begins with an equal sign, append it to the previous line

# and replace the "=" with a single space

sed -e :a -e '$!N;s/\n=/ /;ta' -e 'P;D'

# add commas to numeric strings, changing "1234567" to "1,234,567"

gsed ':a;s/\B[0-9]\{3\}\>/,&/;ta'                     # GNU sed

sed -e :a -e 's/\(.*[0-9]\)\([0-9]\{3\}\)/\1,\2/;ta'  # other seds

# add commas to numbers with decimal points and minus signs (GNU sed)

gsed -r ':a;s/(^|[^0-9.])([0-9]+)([0-9]{3})/\1\2,\3/g;ta'

# add a blank line every 5 lines (after lines 5, 10, 15, 20, etc.)

gsed '0~5G'                  # GNU sed only

sed 'n;n;n;n;G;'             # other seds

SELECTIVE PRINTING OF CERTAIN LINES:

# print first 10 lines of file (emulates behavior of "head")

sed 10q

# print first line of file (emulates "head -1")

sed q

# print the last 10 lines of a file (emulates "tail")

sed -e :a -e '$q;N;11,$D;ba'

# print the last 2 lines of a file (emulates "tail -2")

sed '$!N;$!D'

# print the last line of a file (emulates "tail -1")

sed '$!d'                    # method 1

sed -n '$p'                  # method 2

# print the next-to-the-last line of a file

sed -e '$!{h;d;}' -e x              # for 1-line files, print blank line

sed -e '1{$q;}' -e '$!{h;d;}' -e x  # for 1-line files, print the line

sed -e '1{$d;}' -e '$!{h;d;}' -e x  # for 1-line files, print nothing

# print only lines which match regular expression (emulates "grep")

sed -n '/regexp/p'           # method 1

sed '/regexp/!d'             # method 2

# print only lines which do NOT match regexp (emulates "grep -v")

sed -n '/regexp/!p'          # method 1, corresponds to above

sed '/regexp/d'              # method 2, simpler syntax

# print the line immediately before a regexp, but not the line

# containing the regexp

sed -n '/regexp/{g;1!p;};h'

# print the line immediately after a regexp, but not the line

# containing the regexp

sed -n '/regexp/{n;p;}'

# print 1 line of context before and after regexp, with line number

# indicating where the regexp occurred (similar to "grep -A1 -B1")

sed -n -e '/regexp/{=;x;1!p;g;$!N;p;D;}' -e h

# grep for AAA and BBB and CCC (in any order)

sed '/AAA/!d; /BBB/!d; /CCC/!d'

# grep for AAA and BBB and CCC (in that order)

sed '/AAA.*BBB.*CCC/!d'

# grep for AAA or BBB or CCC (emulates "egrep")

sed -e '/AAA/b' -e '/BBB/b' -e '/CCC/b' -e d    # most seds

gsed '/AAA\|BBB\|CCC/!d'                        # GNU sed only

# print paragraph if it contains AAA (blank lines separate paragraphs)

# HHsed v1.5 must insert a 'G;' after 'x;' in the next 3 scripts below

sed -e '/./{H;$!d;}' -e 'x;/AAA/!d;'

# print paragraph if it contains AAA and BBB and CCC (in any order)

sed -e '/./{H;$!d;}' -e 'x;/AAA/!d;/BBB/!d;/CCC/!d'

# print paragraph if it contains AAA or BBB or CCC

sed -e '/./{H;$!d;}' -e 'x;/AAA/b' -e '/BBB/b' -e '/CCC/b' -e d

gsed '/./{H;$!d;};x;/AAA\|BBB\|CCC/b;d'         # GNU sed only

# print only lines of 65 characters or longer

sed -n '/^.\{65\}/p'

# print only lines of less than 65 characters

sed -n '/^.\{65\}/!p'        # method 1, corresponds to above

sed '/^.\{65\}/d'            # method 2, simpler syntax

# print section of file from regular expression to end of file

sed -n '/regexp/,$p'

# print section of file based on line numbers (lines 8-12, inclusive)

sed -n '8,12p'               # method 1

sed '8,12!d'                 # method 2

# print line number 52

sed -n '52p'                 # method 1

sed '52!d'                   # method 2

sed '52q;d'                  # method 3, efficient on large files

# beginning at line 3, print every 7th line

gsed -n '3~7p'               # GNU sed only

sed -n '3,${p;n;n;n;n;n;n;}' # other seds

# print section of file between two regular expressions (inclusive)

sed -n '/Iowa/,/Montana/p'             # case sensitive

SELECTIVE DELETION OF CERTAIN LINES:

# print all of file EXCEPT section between 2 regular expressions

sed '/Iowa/,/Montana/d'

# delete duplicate, consecutive lines from a file (emulates "uniq").

# First line in a set of duplicate lines is kept, rest are deleted.

sed '$!N; /^\(.*\)\n\1$/!P; D'

# delete duplicate, nonconsecutive lines from a file. Beware not to

# overflow the buffer size of the hold space, or else use GNU sed.

sed -n 'G; s/\n/&&/; /^\([ -~]*\n\).*\n\1/d; s/\n//; h; P'

# delete all lines except duplicate lines (emulates "uniq -d").

sed '$!N; s/^\(.*\)\n\1$/\1/; t; D'

# delete the first 10 lines of a file

sed '1,10d'

# delete the last line of a file

sed '$d'

# delete the last 2 lines of a file

sed 'N;$!P;$!D;$d'

# delete the last 10 lines of a file

sed -e :a -e '$d;N;2,10ba' -e 'P;D'   # method 1

sed -n -e :a -e '1,10!{P;N;D;};N;ba'  # method 2

# delete every 8th line

gsed '0~8d'                           # GNU sed only

sed 'n;n;n;n;n;n;n;d;'                # other seds

# delete lines matching pattern

sed '/pattern/d'

# delete ALL blank lines from a file (same as "grep '.' ")

sed '/^$/d'                           # method 1

sed '/./!d'                           # method 2

# delete all CONSECUTIVE blank lines from file except the first; also

# deletes all blank lines from top and end of file (emulates "cat -s")

sed '/./,/^$/!d'          # method 1, allows 0 blanks at top, 1 at EOF

sed '/^$/N;/\n$/D'        # method 2, allows 1 blank at top, 0 at EOF

# delete all CONSECUTIVE blank lines from file except the first 2:

sed '/^$/N;/\n$/N;//D'

# delete all leading blank lines at top of file

sed '/./,$!d'

# delete all trailing blank lines at end of file

sed -e :a -e '/^\n*$/{$d;N;ba' -e '}'  # works on all seds

sed -e :a -e '/^\n*$/N;/\n$/ba'        # ditto, except for gsed 3.02.*

# delete the last line of each paragraph

sed -n '/^$/{p;h;};/./{x;/./p;}'

SPECIAL APPLICATIONS:

# remove nroff overstrikes (char, backspace) from man pages. The 'echo'

# command may need an -e switch if you use Unix System V or bash shell.

sed "s/.`echo \\\b`//g"    # double quotes required for Unix environment

sed 's/.^H//g'             # in bash/tcsh, press Ctrl-V and then Ctrl-H

sed 's/.\x08//g'           # hex expression for sed 1.5, GNU sed, ssed

# get Usenet/e-mail message header

sed '/^$/q'                # deletes everything after first blank line

# get Usenet/e-mail message body

sed '1,/^$/d'              # deletes everything up to first blank line

# get Subject header, but remove initial "Subject: " portion

sed '/^Subject: */!d; s///;q'

# get return address header

sed '/^Reply-To:/q; /^From:/h; /./d;g;q'

# parse out the address proper. Pulls out the e-mail address by itself

# from the 1-line return address header (see preceding script)

sed 's/ *(.*)//; s/>.*//; s/.*[:<] *//'

# add a leading angle bracket and space to each line (quote a message)

sed 's/^/> /'

# delete leading angle bracket & space from each line (unquote a message)

sed 's/^> //'

# remove most HTML tags (accommodates multiple-line tags)

sed -e :a -e 's/<[^>]*>//g;/</N;//ba'

# extract multi-part uuencoded binaries, removing extraneous header

# info, so that only the uuencoded portion remains. Files passed to

# sed must be passed in the proper order. Version 1 can be entered

# from the command line; version 2 can be made into an executable

# Unix shell script. (Modified from a script by Rahul Dhesi.)

sed '/^end/,/^begin/d' file1 file2 ... fileX | uudecode   # vers. 1

sed '/^end/,/^begin/d' "$@" | uudecode                    # vers. 2

# sort paragraphs of file alphabetically. Paragraphs are separated by blank

# lines. GNU sed uses \v for vertical tab, or any unique char will do.

sed '/./{H;d;};x;s/\n/={NL}=/g' file | sort | sed '1s/={NL}=//;s/={NL}=/\n/g'

gsed '/./{H;d};x;y/\n/\v/' file | sort | sed '1s/\v//;y/\v/\n/'

# zip up each .TXT file individually, deleting the source file and

# setting the name of each .ZIP file to the basename of the .TXT file

# (under DOS: the "dir /b" switch returns bare filenames in all caps).

echo @echo off >zipup.bat

dir /b *.txt | sed "s/^\(.*\)\.TXT/pkzip -mo \1 \1.TXT/" >>zipup.bat

TYPICAL USE:

Sed takes one or more editing commands and applies all of

them, in sequence, to each line of input. After all the commands have

been applied to the first input line, that line is output and a second

input line is taken for processing, and the cycle repeats. The

preceding examples assume that input comes from the standard input

device (i.e, the console, normally this will be piped input). One or

more filenames can be appended to the command line if the input does

not come from stdin. Output is sent to stdout (the screen). Thus:

cat filename | sed '10q'        # uses piped input

sed '10q' filename              # same effect, avoids a useless "cat"

sed '10q' filename > newfile    # redirects output to disk

For additional syntax instructions, including the way to apply editing

commands from a disk file instead of the command line, consult "sed &

awk, 2nd Edition," by Dale Dougherty and Arnold Robbins (O'Reilly,

1997; http://www.ora.com), "UNIX Text Processing," by Dale Dougherty

and Tim O'Reilly (Hayden Books, 1987) or the tutorials by Mike Arst

distributed in U-SEDIT2.ZIP (many sites). To fully exploit the power

of sed, one must understand "regular expressions." For this, see

"Mastering Regular Expressions" by Jeffrey Friedl (O'Reilly, 1997).

The manual ("man") pages on Unix systems may be helpful (try "man

sed", "man regexp", or the subsection on regular expressions in "man

ed"), but man pages are notoriously difficult. They are not written to

teach sed use or regexps to first-time users, but as a reference text

for those already acquainted with these tools.

QUOTING SYNTAX:

The preceding examples use single quotes ('...')

instead of double quotes ("...") to enclose editing commands, since

sed is typically used on a Unix platform. Single quotes prevent the

Unix shell from intrepreting the dollar sign ($) and backquotes

(`...`), which are expanded by the shell if they are enclosed in

double quotes. Users of the "csh" shell and derivatives will also need

to quote the exclamation mark (!) with the backslash (i.e., \!) to

properly run the examples listed above, even within single quotes.

Versions of sed written for DOS invariably require double quotes

("...") instead of single quotes to enclose editing commands.

USE OF '\t' IN SED SCRIPTS: For clarity in documentation, we have used

the expression '\t' to indicate a tab character (0x09) in the scripts.

However, most versions of sed do not recognize the '\t' abbreviation,

so when typing these scripts from the command line, you should press

the TAB key instead. '\t' is supported as a regular expression

metacharacter in awk, perl, and HHsed, sedmod, and GNU sed v3.02.80.

VERSIONS OF SED:

Versions of sed do differ, and some slight syntax

variation is to be expected. In particular, most do not support the

use of labels (:name) or branch instructions (b,t) within editing

commands, except at the end of those commands. We have used the syntax

which will be portable to most users of sed, even though the popular

GNU versions of sed allow a more succinct syntax. When the reader sees

a fairly long command such as this:

sed -e '/AAA/b' -e '/BBB/b' -e '/CCC/b' -e d

it is heartening to know that GNU sed will let you reduce it to:

sed '/AAA/b;/BBB/b;/CCC/b;d'      # or even

sed '/AAA\|BBB\|CCC/b;d'

In addition, remember that while many versions of sed accept a command

like "/one/ s/RE1/RE2/", some do NOT allow "/one/! s/RE1/RE2/", which

contains space before the 's'. Omit the space when typing the command.

OPTIMIZING FOR SPEED:

If execution speed needs to be increased (due to

large input files or slow processors or hard disks), substitution will

be executed more quickly if the "find" expression is specified before

giving the "s/.../.../" instruction. Thus:

sed 's/foo/bar/g' filename         # standard replace command

sed '/foo/ s/foo/bar/g' filename   # executes more quickly

sed '/foo/ s//bar/g' filename      # shorthand sed syntax

On line selection or deletion in which you only need to output lines

from the first part of the file, a "quit" command (q) in the script

will drastically reduce processing time for large files. Thus:

sed -n '45,50p' filename           # print line nos. 45-50 of a file

sed -n '51q;45,50p' filename       # same, but executes much faster

CONTRIBUTIONS:

If you have any additional scripts to contribute or if you find errors

in this document, please send e-mail to the compiler. Indicate the

version of sed you used, the operating system it was compiled for, and

the nature of the problem. To qualify as a one-liner, the command line

must be 65 characters or less. Various scripts in this file have been

written or contributed by:

Al Aab                   # founder of "seders" list

Edgar Allen              # various

Yiorgos Adamopoulos      # various

Dale Dougherty           # author of "sed & awk"

Carlos Duarte            # author of "do it with sed"

Eric Pement              # author of this document

Ken Pizzini              # author of GNU sed v3.02

S.G. Ravenhall           # great de-html script

Greg Ubben               # many contributions & much help

-------------------------------------------------------------------------

OPTIONS

See: sed(1)

ENVIRONMENT

See: sed(1)

EXIT STATUS

See: sed(1)

FILES

See: sed(1)

EXAMPLES

-

SEE ALSO

wintoolsintro(1), regexintro(4), sed(1)

NOTES

The main part of this manpages is extracted from the documentation of sed1line.txt from http://sed.sourceforge.net/sed1line.txt.

BUGS

-

AUTHOR

sed1line.txt was developed by 'Eric Pemet' <pemente[at]northpark[dot]edu> (see: http://sed.sourceforge.net/sed1line.txt, http://www.pement.org/sed/sed1line.txt) and integrated into WA2L/WinTools by Christian Walther. Send suggestions and bug reports regarding to the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION INTRODUCTION: FILE SPACING: NUMBERING: TEXT CONVERSION AND SUBSTITUTION: SELECTIVE PRINTING OF CERTAIN LINES: SELECTIVE DELETION OF CERTAIN LINES: SPECIAL APPLICATIONS: TYPICAL USE: QUOTING SYNTAX: VERSIONS OF SED: OPTIMIZING FOR SPEED: CONTRIBUTIONS: OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:57 GMT, September 14, 2024

AnyDesk

TOC Index

NAME

AnyDesk - Remote Desktop Software

SYNOPSIS

WA2LWinTools/bin/AnyDesk [ -h | -i | -u | -V ]

AnyDesk [ options ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

Connect to a computer desktop from within the office or over the internet.

This is useful to support/help a friend remotely on the computer or to collaborate in working together on a document etc.

AnyDesk ensures secure, fast and reliable remote desktop connections with a minimal footprint.

The AnyDesk version bundled with WA2L/WinTools is the "Free Download - for personal use".

If you wish to use AnyDesk in a business environment you must purchase a license: https://anydesk.com/en/order

For more information see: https://anydesk.com/de/education/free-for-students, https://anydesk.com/en/order and https://anydesk.com/en/features.

OPTIONS

-h

usage message.

-i

install the AnyDesk command on the Windows™ Desktop.

-u

uninstall the AnyDesk command from the the Windows™ Desktop.

-V

print program version.

options

see: https://support.anydesk.com/Command_Line_Interface for a description of all command line options.

ENVIRONMENT

-

EXIT STATUS

0

always.

4

usage displayed.

5

version message displayed.

FILES

etc/AnyDesk.cfg

configuration files of the AnyDesk command (as ZIP file).

EXAMPLES

-

SEE ALSO

wintoolsintro(1), config(1m), https://anydesk.com/de/education/free-for-students, https://support.anydesk.com/, https://support.anydesk.com/Command_Line_Interface

NOTES

The AnyDesk version bundled with WA2L/WinTools is the "Free Download - for personal use".

If you wish to use AnyDesk in a business environment you must purchase a license: https://anydesk.com/en/order

BUGS

-

AUTHOR

AnyDesk was developed by philandro Software GmbH <https://anydesk.com> and integrated into WA2L/WinTools by Christian Walther. Send suggestions and bug reports regarding the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2021 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:31:40 GMT, September 14, 2024

WinToolsRevisionNotifier

TOC Index

NAME

WinToolsRevisionNotifier - show a notification when a new revision of WA2L/WinTools is available

SYNOPSIS

WA2LWinTools/bin/WinToolsRevisionNotifier [ -h | -V | -i | -u | -r ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

Display a notification when a new revision of the WA2L/WinTools package is available.

It is possible to start the download of the most recent available package release directly from the notification message (using the wintoolsdownload(1m) command internally).

To start the notifier automatically on login to Windows™ invoke the WinToolsRevisionNotifier -i command once or check the related option in the config(1m) command.

OPTIONS

-h

usage message.

Start WinToolsRevisionNotifier.

-i

install the WinToolsRevisionNotifier command to 'Startup' in the Windows Start Menu.

-u

uninstall the WinToolsRevisionNotifier shortcut from 'Startup' in the Windows Start Menu.

-V

print program version.

-r

retry the resolution of the newest package available when no internet connection is available during login to the system.

The retry is performed during 10 minutes after login system every minute.

ENVIRONMENT

-

EXIT STATUS

0

always.

FILES

lib/pack.cfg

package version information. This file is also read by pack(1m).

lib/build.cfg

package build timestamp. This file is written by pack(1m).

http://sourceforge.net/projects/wa2l-wintools/best_release.json

JSON file containing the information for the most recent application file upload to sourceforge.net.

etc/WinToolsRevisionNotifier.cfg

optional configuration file for WinToolsRevisionNotifier. The COMPAIR=digits ( default: COMPAIR=13 , revision and build: COMPAIR=19 , revision only: COMPAIR=6 ) defines how many digits of the revision number are compared for the WinToolsRevisionNotifier to pop up.

etc/proxy.hostname.cfg

etc/proxy.domainname.cfg

etc/proxy.cfg

optional configuration file to define proxy settings. See proxy.cfg(4) for more information.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), wintoolsdownload(1m), pack(1m)

NOTES

-

BUGS

-

AUTHOR

WinToolsRevisionNotifier was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:33:18 GMT, September 14, 2024

pack

TOC Index

NAME

pack - create an installable software package of WA2L/WinTools

SYNOPSIS

WA2LWinTools/lib/pack

AVAILABILITY

WA2L/WinTools

DESCRIPTION

pack the WA2L/WinTools application to a distributable package files as self extracting ZIP file (example: var/sw/WA2LWinTools-1.1.12-201412061254.exe) without temporary- and adjusted configuration files.

The wallpapers wallpaper.html, gallery.html, blank.html, rega.html, shark.html, sharkfin.html, webcams.html, whale.html, window.html and full.html are distributed with the WA2L/WinTools package. If other (own) wallpapers have to be packed, use the wallpaperpack (1m) command.

OPTIONS

-

ENVIRONMENT

-

EXIT STATUS

0

always.

FILES

lib/pack.cfg

configuration file of pack . In this file the version ( VERSION=M.U ) and the patch level ( PATCHLEVEL=PP ) of the application package are defined.

lib/build.cfg

contains the build time stamp BUILD=DATETIME . This file is updated by the pack command.

lib/revision.cfg

several properties of the revision. This file is updated by the pack command.

lib/revision.md5

MD5 check sums of all files that are part of the WA2L/WinTools package. This file is updated by the pack command.

lib/comment.txt

contains the package description in a text file as shown when installing/upgrading the package. This file is updated by the pack command.

var/sw/WA2LWinTools-<VERSION>.<PATCHLEVEL>-<DATETIME>.exe

output (self extracting ZIP) package file of pack .

var/log/pack.log

log file of pack.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), wallpaperpack(1m)

NOTES

-

BUGS

-

AUTHOR

pack was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:33 GMT, September 14, 2024

wallpaperpack

TOC Index

NAME

wallpaperpack - pack non-core wallpapers of WA2L/WinTools to *.zip file

SYNOPSIS

WA2LWinTools/bin/wallpaperpack

AVAILABILITY

WA2L/WinTools

DESCRIPTION

pack only own additional wallpapers that are not part of the WA2L/WinTools application package to a distributable *.zip file ( example: var/sw/WA2LWinTools-1.1.12-201412061254-wallpaper.zip ).

The wallpapers wallpaper.html, blank.html, full.html, gallery.html, porthole.html, rega.html, shark.html, sharkfin.html, webcams.html, whale.html, and window.html are distributed with the WA2L/WinTools package and are not included in the *.zip file created by wallpaperpack .

To create the WA2L/WinTools package, use the pack command. See pack(1m) for additional information.

OPTIONS

-

ENVIRONMENT

-

EXIT STATUS

0

always.

FILES

lib/pack.cfg

configuration file of wallpaperpack . In this file the version ( VERSION=M.U. ) and the patch level ( PATCHLEVEL=PP ) of the WA2L/WinTools application package are defined.

var/sw/WA2LWinTools-<VERSION>.<PATCHLEVEL>-<DATETIME>-wallpaper.zip

output *.zip file of wallpaperpack containing the wallpapers .

var/wallpaper/

directory holding all HTML wallpaper files.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), wallpaper(1), wallpaperindex(1)

NOTES

-

BUGS

-

AUTHOR

wallpaperpack was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:33:16 GMT, September 14, 2024

wallpaper

TOC Index

NAME

wallpaper - generate and set a dynamic wallpaper

SYNOPSIS

WA2LWinTools/bin/wallpaper [ -h | -i | -u | -V | -l | -r ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

create and set a dynamic wallpaper based on a HTML file.

In the configuration file etc/wallpaper.cfg the credentials of the wallpaper to be set can be defined.

Hint: The wallpaper.cfg file can be found in the etc/ folder after an initial start of the wallpaper command. The configuration file will not be overwritten when a new version of the WA2L/WinTools package is installed.

See also wallpaper.cfg(4) for more information.

Because the desktop wallpaper is generated from a HTML page, many HTML features can be used to create a specific wallpaper. This includes for example transparent images, as it can be seen in the wallpaper.html file that is distributed with WA2L/WinTools.

Adjust wallpaper background color

When you use multiple monitors connected to the system they often don't have the same resolution. To produce the impression, that the image always fits the screen (on the small notebook monitor and the large extra monitor, for example) set the desktop background color identical to the wallpaper background color using the WALLPAPER_BGCOLOR=RED,GREEN,BLUE setting.

Customize the appearance of wallpapers

To customize the appearance of all wallpapers based on lib/wallpaper.js and lib/wallpaper.css, add the changes in the etc/wallpaper.css.cfg file:

1 /*

2  *

3  * etc/wallpaper.css.cfg - Dynamic desktop wallpaper: Default Wallpaper (CSS) \

user configuration for lib/wallpaper.css

4  *

5  * [00] 11.08.2015 CWa  Initial Version

7  *

8  */

9

10 body

11         {

12         }

13

14 p.today

15         {

16         }

:

Wallpapers based on lib/wallpaper.js and lib/wallpaper.css load first the lib/wallpaper.css file, then the etc/wallpaper.css.cfg file and finally the wallpaper HTML file specific style settings are applied.

Therefore only the changes to the lib/wallpaper.css have to be defined in etc/wallpaper.css.cfg or in the <style></style> section and not the entire CSS definition has to be specified.

Schedule regular wallpaper updates

To schedule the wallpaper command to automatically change the wallpaper in a regular interval: set the WALLPAPER_INTERVAL=<minutes> setting in the configuration file etc/wallpaper.cfg

OPTIONS

-h

usage message.

-i

install the wallpaper to 'Startup' in the Windows™ Start Menu.

-u

uninstall the wallpaper from 'Startup' in the Windows™ Start Menu.

-V

print program version.

-l

list schedule. This option lists the next automatic update of the wallpaper if the WALLPAPER_INTERVAL=<minutes> setting in wallpaper.cfg(4) is set to a value higher then 0.

-r

remove schedule of wallpaper from system.

ENVIRONMENT

%COMPUTERNAME%

name of the local computer. This variable is used to resolve the hostname if you use a host dependent configuration file.

%DOMAINNAME%

domain where the local computer is part of. This variable is used to resolve the domainname if you use a domain dependent configuration file.

EXIT STATUS

0

no error.

4

usage message displayed.

5

version message displayed.

FILES

etc/wallpaper.cfg

configuration file of wallpaper , see wallpaper.cfg(4) for more information.

etc/wallpaper.domainname.cfg

user domain dependent configuration file of wallpaper. This file has preference over etc/wallpaper.cfg. See wallpaper.cfg(4) for more information.

etc/wallpaper.hostname.cfg

host dependent configuration file of wallpaper. This file has preference over etc/wallpaper.domainname.cfg. See wallpaper.cfg(4) for more information.

var/wallpaper/

directory holding all HTML wallpaper files.

var/wallpaper/wallpaper.html

default wallpaper.

var/wallpaper/wallpaper.png

image for default wallpaper.

var/wallpaper/gallery/

default directory for image files shown in gallery wallpapers (full.html, gallery). To include other or more directories, use the WALLPAPER_GALLERY="filelist" setting in etc/wallpaper.cfg.

lib/wallpaper.css

CSS sheet for default wallpaper (not to be changed).

etc/wallpaper.css.cfg

configuration to the CSS sheet file lib/wallpaper.css. Add your customization to this file to protect your customization from overwriting when you upgrade the WA2L/WinTools package.

lib/wallpaper.js

java script file for default wallpaper (not to be changed).

Add customization/settings, to the file etc/wallpaper.js.cfg and not to the file lib/wallpaper.js due to the fact that on upgrades of the WA2L/WinTools package, your changes will be lost.

lib/cites.js

cites java script file for default wallpaper (not to be changed).

Add own cites to the file etc/wallpaper.js.cfg and not to the file lib/cites.js due to the fact that on upgrades of the WA2L/WinTools package, your changes will be lost.

lib/webcams.js

webcams java script file for default wallpaper (not to be changed).

To update the lib/webcams.js file independent from a WA2L/WinTools upgrade, use the WebcamsDownload(1m) command.

etc/wallpaper.js.cfg

configuration to the java script files lib/wallpaper.js and lib/cites.js. Add your customization to this file to protect your customization from overwriting when you upgrade the WA2L/WinTools package.

lib/webcamstest.html

test file for the definitions in the lib/webcams.js file.

var/cache/wallpaper/wallpaper.bmp

generated wallpaper image out of a defined HTML file. This file is set as desktop wallpaper and re-generated by subsequent calls of wallpaper.

var/cache/wallpaper/wallpaper.flag

if multiple wallpapers are specified in the WALLPAPER_HTML setting in the wallpaper.cfg file, this flag-file contains the index number of the last wallpaper chosen out of the specified list.

var/cache/wallpaper/wallpaper.js

dynamic system settings (as monitor count and monitor resolutions) and some settings made in etc/wallpaper.cfg made available as JavaScript variables in the HTML definition of lib/wallpaper.js based wallpapers.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), config(1m), webcamsdownload(1m), wallpaper.cfg(4), wallpaperpack(1m), wscheduler(1)

NOTES

The wallpapers wallpaper.html, blank.html, full.html, gallery.html, porthole.html, rega.html, shark.html, sharkfin.html, webcams.html, whale.html and window.html are distributed with the WA2L/WinTools package.

When you add your own wallpapers to the var/wallpaper/ directory you should choose other names then the ones listed above, otherwise your changes will be lost on an upgrade of WA2L/WinTools.

HTML-, JavaScript- and CSS-files used to create own wallpapers should be written in DOS file format (not UNIX).

A handy, fast and simple web browser to debug wallpapers and to see JavaScript output using 'View Source', that is written to the document using document.write(text); is SlimBoat. See: http://www.slimboat.com for more information about SlimBoat Web Browser, fast & full-featured web browser for Windows, Linux & Mac.

For an online calculator from Hex to RGB values, see: http://www.exadium.com/tools/rgb-to-hex-colour-converter/ or http://www.farbtabelle.at/farben-umrechnen/ .

BUGS

If you run wallpaper within a DropBox folder you must define the WALLPAPER_TMPDIR setting in the etc/wallpaper.cfg setting outside of DropBox folders ( e.g: WALLPAPER_TMPDIR=%TMP% ).

AUTHOR

wallpaper was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION Adjust wallpaper background color Customize the appearance of wallpapers Schedule regular wallpaper updates OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:33:15 GMT, September 14, 2024

wallpaper.cfg

TOC Index

NAME

wallpaper.cfg - configuration file for wallpaper

SYNOPSIS

WA2LWinTools/etc/wallpaper.cfg

WA2LWinTools/etc/wallpaper.domainname.cfg

WA2LWinTools/etc/wallpaper.hostname.cfg

AVAILABILITY

WA2L/WinTools

DESCRIPTION

This is the configuration file for the wallpaper command.

The configuration file containing the domainname has preference over the wallpaper.cfg file, if it exists on the related host.

The configuration file containing the hostname has preference over the wallpaper.domainname.cfg file, if it exists on the related host.

The domainname is resolved from the %DOMAINNAME% and the hostname from the %COMPUTERNAME% environment variables.

FILEFORMAT

Rows starting with a # are considered as comments.

The settings for the wallpaper command have to follow the section with the name [WALLPAPER] .

The file format is OPTION=VALUE

Between the OPTION , the = and the VALUE are no spaces.

You can comment out any OPTION or completely remove the related setting line to use the default settings.

OPTIONS

WALLPAPER_HTML

HTML file that is used to generate the image file that is set as desktop wallpaper. If a space separated list of files is given, wallpaper picks randomly a file of the list to be used to set as desktop wallpaper.

Example: WALLPAPER_HTML=shark

Example: WALLPAPER_HTML=shark sharkfin rega

Default: WALLPAPER_HTML=wallpaper

WALLPAPER_TIMEOUT

timeout in milliseconds to allow the wallpaper html page to load all contents. If you experience for instance the webcams wallpaper to show only the background, this timeout should be increased to allow sufficient time to download the webcam image.

Example: WALLPAPER_TIMEOUT=20000

Default: WALLPAPER_TIMEOUT=15000

WALLPAPER_PICK

method to pick the next wallpaper (RANDOM , ROUNDROBIN), if a list of wallpapers is specified in WALLPAPER_HTML.

Example: WALLPAPER_PICK=RANDOM

Default: WALLPAPER_PICK=ROUNDROBIN

WALLPAPER_WIDTH

width of the wallpaper image in pixels.

To set the width based on the actual monitor with the variable %MONITOR_WIDTH_MONITORNUMBER% can be used. Also formulas are allowed, as:

WALLPAPER_WIDTH = ( %MONITOR_WIDTH_1% + %MONITOR_WIDTH_2% ) * 1.1

The result of a calculation is always rounded to the nearest integer value.

See section NUMERIC FUNCTIONS for an overview of functions available in formulas.

Example: WALLPAPER_WIDTH=%MONITOR_WIDTH_1%

Example: WALLPAPER_WIDTH=1600

Default: WALLPAPER_WIDTH=width of primary monitor

WALLPAPER_HEIGHT

height of the wallpaper image in pixels.

To set the height based on the actual monitor with the variable %MONITOR_HEIGHT_MONITORNUMBER% can be used. Also formulas are allowed, as:

WALLPAPER_HEIGHT = %MONITOR_HEIGHT_1% + 40

WALLPAPER_HEIGHT = max(%MONITOR_HEIGHT_1%,%MONITOR_HEIGHT_2%) + 40

WALLPAPER_HEIGHT = max(max(%MONITOR_HEIGHT_1%,%MONITOR_HEIGHT_2%),%MONITOR_HEIGHT_3%)) + 40

The result of a calculation is always rounded to the nearest integer value.

See section NUMERIC FUNCTIONS for an overview of functions available in formulas.

Example: WALLPAPER_HEIGHT=%MONITOR_HEIGHT_1%

Example: WALLPAPER_HEIGHT=1200

Default: WALLPAPER_HEIGHT=height of primary monitor

WALLPAPER_ALIGNMENT

alignment of the image on the desktop. Possible alignment settings are: center, stretch, tile .

Example: WALLPAPER_ALIGNMENT=center

Default: WALLPAPER_ALIGNMENT=center

WALLPAPER_SET

set the generated image as desktop wallpaper (True , False).

Example: WALLPAPER_SET=False

Default: WALLPAPER_SET=True

WALLPAPER_INTERVAL

set the wallpaper update interval in minutes. If the interval is set to 0 no automatic update occurs.

Example: WALLPAPER_INTERVAL=5

Default: WALLPAPER_INTERVAL=0

WALLPAPER_GENERATE

generate the wallpaper image (True , False).

Example: WALLPAPER_GENERATE=False

Default: WALLPAPER_GENERATE=True

WALLPAPER_CLEANUP

cleanup (=remove) the generated wallpaper image (True = yes, False = no) after if has been set as background image.

If you experience the wallpaper to disappear some time after it is set thru wallpaper, set WALLPAPER_CLEANUP=False .

Example: WALLPAPER_CLEANUP=True

Default: WALLPAPER_CLEANUP=False

WALLPAPER_FORMAT

format of the generated wallpaper image. Possible output format settings are: bmp, png, jpeg, tiff . If the setting WALLPAPER_SET is set to True the format is set to bmp automatically despite the settings made in WALLPAPER_FORMAT .

Example: WALLPAPER_FORMAT=bmp

Default: WALLPAPER_FORMAT=bmp

WALLPAPER_TMPDIR

temporary directory to be written to if the default is not suitable. The system environment variables %TMP% and %TEMP% can be used within the WALLPAPER_TMPDIR setting. If the defined temporary directory does not exist wallpaper uses the default setting.

Example: WALLPAPER_TMPDIR=%TMP%

Default: WALLPAPER_TMPDIR=var\cache\wallpaper

WALLPAPER_BGCOLOR

Set the desktop background to the solid RGB ( RED,GREEN,BLUE ) color.

This setting should match the background color of the selected wallpaper to generate the impression as if the wallpaper fills always the whole screen without showing a black frame when using an external monitor having a bigger resolution as the notebook screen.

The background color of wallpapers based on lib/wallpaper.js will be automatically set to the color defined in the WALLPAPER_BGCOLOR setting.

When the setting is left empty, the desktop background is not changed.

Example: WALLPAPER_BGCOLOR=

Example: WALLPAPER_BGCOLOR=33,40,130

Default: WALLPAPER_BGCOLOR=0,118,163

WALLPAPER_PING

ping a web server to check internet connection.

If the web server defined in WEBSERVER_PING_URL cannot be reached the wallpaper is not updated.

It only makes sense to set WEBSERVER_PING_URL=True when your wallpaper uses dynamic content from the internet, as when you use WALLPAPER_HTML=webcams , WALLPAPER_HTML=porthole or WALLPAPER_HTML=window distributed with WA2L/WinTools.

Example: WALLPAPER_PING=True

Default: WALLPAPER_PING=False

WALLPAPER_PING_URL

URL to be checked for availability.

If this URL cannot be reached the wallpaper is not updated. This setting has only effect, if WALLPAPER_PING=True has been set.

Depending on the setup of your network, you might have to set a proxy in proxy.cfg to reach certain web servers.

Mostly a Intranet WALLPAPER_PING_URL is sufficient to verify network connection - this to avoid to set a proxy.

Example: WALLPAPER_PING_URL=http://www.yahoo.com

Default: WALLPAPER_PING_URL=http://www.google.com

WALLPAPER_GALLERY

List of image files to be shown in random slideshow gallery.

The * wildcard can be used to select multiple files and/or directories to be included.

The variables %INSTALLDRIVE% and %INSTALLDIR% can also be used to be drive letter independent.

Example: WALLPAPER_GALLERY="%INSTALLDRIVE%:\images\*.jpg" "%INSTALLDRIVE%:\fotos\*\*.jpg"

Example: WALLPAPER_GALLERY="%INSTALLDIR%\var\wallpaper\mygallery\*.jpg"

Default: WALLPAPER_GALLERY="%INSTALLDIR%\var\wallpaper\gallery\*.jpg"

NUMERIC FUNCTIONS

beside the normal mathematical operators + - * / % and the grouping using parentheses (expr) the following numeric functions can be used in the WALLPAPER_WIDTH and WALLPAPER_HEIGHT settings:

atan2(y,x)

Return the arctangent of y / x in radians.

cos(expr)

Return the cosine of expr, which is in radians.

exp(expr)

The exponential function.

int(expr)

Truncate to integer.

log(expr)

The natural logarithm function.

rand()

Return a random number N, between 0 and 1, such that 0 < N < 1.

sin(expr)

Return the sine of expr, which is in radians.

sqrt(expr)

Return the square root of expr.

max(m,n)

Return maximum of m and n.

min(m,n)

Return minimum of m and n.

floor(a)

Return floor value of a.

ceil(a)

Return ceiling value of a.

round(a,n)

Return rounded number of a to n number of digits.

div(x,y)

Return integer division x / y .

mod(x,y)

Return modulo operation x % y .

sign(x)

Signum function of x.

Which of those functions you can really use in the context of calculating the width and height of the wallpaper image lays in your hands...

EXAMPLES

1) Simple example configuration file

#

# WA2LWinTools/wallpaper.cfg - Configuration file for wallpaper

#

# [00] 24.05.2011 CWa   Initial Version

# [09] 06.12.2014 CWa   ++

#

[WALLPAPER]

WALLPAPER_HTML=sharkfin

WALLPAPER_WIDTH=1386

WALLPAPER_HEIGHT=768

WALLPAPER_ALIGNMENT=center

2) Simpler example configuration file but with multiple wallpapers

#

# WA2LWinTools/wallpaper.cfg - Configuration file for wallpaper

#

# [00] 24.05.2011 CWa   Initial Version

# [10] 28.11.2016 CWa   ++

#

[WALLPAPER]

WALLPAPER_HTML=wallpaper rega shark sharkfin whale gallery full blank

SEE ALSO

wintoolsintro(1), config(1m), proxy(3), proxy.cfg(4), wallpaper(1)

NOTES

-

BUGS

If you run wallpaper within a DropBox folder you must define the WALLPAPER_TMPDIR setting in the etc/wallpaper.cfg setting outside of DropBox folders ( e.g: WALLPAPER_TMPDIR=%TMP% ).

AUTHOR

wallpaper.cfg was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2021 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION FILEFORMAT OPTIONS NUMERIC FUNCTIONS EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:33:15 GMT, September 14, 2024

WebcamsDownload

TOC Index

NAME

WebcamsDownload - download/install new version of lib/webcams.js file

SYNOPSIS

WA2LWinTools/bin/WebcamsDownload [ -h | -V ]

WebcamsDownload

AVAILABILITY

WA2L/WinTools

DESCRIPTION

Download the most recent version of the the lib/webcams.js file from sourceforge.net independent from an upgrade of the WA2L/WinTools package.

OPTIONS

-h

usage message.

-V

print program version.

ENVIRONMENT

-

EXIT STATUS

0

always.

FILES

etc/WebcamsDownload.cfg

optional configuration file for webcamsdownload.

etc/proxy.hostname.cfg

etc/proxy.domainname.cfg

etc/proxy.cfg

optional configuration file to define proxy settings. See proxy.cfg(4) for more information.

lib/webcams.js

webcams definitions for webcams and other wallpapers.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), proxy.cfg(4), wallpaper(1), webcamsdownload.cfg(4)

NOTES

-

BUGS

-

AUTHOR

WebcamsDownload was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:33:19 GMT, September 14, 2024

WebcamsDownload.cfg

TOC Index

NAME

WebcamsDownload.cfg - configuration file for webcamsdownload

SYNOPSIS

WA2LWinTools/etc/WebcamsDownload.cfg

WA2LWinTools/etc/WebcamsDownload.hostname.cfg

AVAILABILITY

WA2L/WinTools

DESCRIPTION

This is the optional configuration file for the WebcamsDownload command.

The configuration file containing the hostname has preference over the WebcamsDownload.cfg file, if it exists on the related host.

In 'normal' cases you don't need this configuration file to be able to download and install updates for the WA2L/WinTools package.

FILEFORMAT

Rows starting with a # are considered as comments.

The file format is OPTION=VALUE

Between the OPTION, the = and the VALUE are no spaces.

OPTIONS

DOWNLOADURL

URL from where the WA2L/WinTools file is downloaded.

Example: DOWNLOADURL=

Default: DOWNLOADURL=http://wa2l-wintools.sourceforge.net/www/WA2LNewsLibrary/app/webcams.js

WGETOPTIONS

additional options to wget which is used internally to download the package file as fallback when the download thru the standard Windows™ method fails.

Internally the wget command is called as follows:

wget --no-clobber --output-document="TemporaryDownloadFile" WGETOPTIONS DOWNLOADURL

Therefore the specified WGETOPTIONS are passed before the DOWNLOADURL to the wget command.

Example: WGETOPTIONS=--no-verbose

Default: WGETOPTIONS=

EXAMPLES

-

SEE ALSO

wintoolsintro(1), proxy.cfg(4), webcamsdownload(1m), wget(3)

NOTES

-

BUGS

-

AUTHOR

WebcamsDownload.cfg was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION FILEFORMAT OPTIONS EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:33:19 GMT, September 14, 2024

wallpaperindex

TOC Index

NAME

wallpaperindex - create an index page of all available wallpapers

SYNOPSIS

WA2LWinTools/bin/wallpaperindex [ -h | -V ]

wallpaperindex [ -s ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

create an index file ( var/wallpaper/index.html ) of all wallpaper files installed in the var/wallpaper/ directory.

The index contains an overview of all wallpapers with the related main image and a numbered list of all cites and a link to the WA2L/WinTools documentation.

OPTIONS

-h

usage message.

-V

print program version.

-s

load index.html file in standard web browser.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage printed.

5

version printed.

FILES

var/wallpaper/*.html

wallpaper *.html files that will be referenced in index file.

var/wallpaper/*.png

wallpaper image files that will be included into the index file.

var/wallpaper/index.html

wallpaper index file.

var/wallpaper/index.png

note image that informs about a missing *.png file for the wallpaper .html file.

lib/wallpaper.css

css sheet for default wallpaper.

lib/wallpaper.js

java script file for default wallpaper.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), wallpaper(1), wallpaperpack(1m)

NOTES

-

BUGS

The *.png images included into the index.html file must have same name as *.html files.

AUTHOR

wallpaperindex was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:33:15 GMT, September 14, 2024

RunPopUp

TOC Index

NAME

RunPopUp - input dialog for the run command

SYNOPSIS

WA2LWinTools/bin/RunPopUp [ -h | -i | -u | -V ]

RunPopUp [ -l | -p ] [ -r ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

runpopup(1) graphical dialog to start an application thru run.

This command provides a fast access to all defined applications in run(1) without the need to start the console(1m).

When the RunPopUp command is started (thru a Desktop shortcut, in the Windows™ Start menu of WA2L/WinTools or a hotkey defined in pstart(1) or hotkeyp(1)) the application to be started can be entered in the input field provided.

When pressing the SHIFT key during the start of the RunPopUp command the application to be launched can be chosen from a pulldown list.

When the RunPopUp command is started with the input field, the following "internal" applications are accessible if there is no definition with the same name present in the run.cfg file:

list

change to the RunPopUp mode where a list of defined applications is provided in a drop down list to be chosen from.

input

change to the RunPopUp mode where an input field is provided.

runedit

edit the etc/run.cfg file in notepad2(1).

man

start the WA2L/WinTools ASCII manual page display using the man(1) command.

manuals

start the WA2L/WinTools manual pages display in Windows™ Help.

help

show a dialog box with a short help.

shell

start the console(1m).

@command

start the WA2L/WinTools command if it exists in WA2LWinTools/bin/command.exe .

?selection

select from all applications defined in etc/run.cfg and display the result in a window. This function is basically equal to run -l selection on the command line.

?@selection

select from all WA2L/WinTools commands present in bin/ and display the result in a window.

The RunPopUp command can be installed on the Windows™ 'Desktop' for most convenient usage. To do so, invoke config(1m) and check the related option.

OPTIONS

-h

usage message.

-i

install the RunPopUp command on the Windows™ 'Desktop'.

-u

uninstall the RunPopUp shortcut from the Windows™ 'Desktop'.

-V

print program version.

-l

load the application list, as when the SHIFT key is pressed or the list internal application is invoked.

-p

print the application list to stdout as presented in the RunPopUp drop down list when the command is invoked using the -l option.

-r

force application list refresh in pulldown menu.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage message displayed.

5

program version printed.

6

program variant not known. This error occurs when the RunPopUp command is renamed.

FILES

etc/run.hostname.cfg

etc/run.domainname.cfg

etc/run.cfg

configuration file(s) for run(1).

var/cache/runpopup/

cached information for RunPopUp.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), config(1m), console(1m), man(1), manuals(1), notepad2(1), run(1), run.cfg(4)

NOTES

-

BUGS

-

AUTHOR

RunPopUp was developed by Christian Walther. Send suggestions and bug reports regarding the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2022 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:54 GMT, September 14, 2024

manuals

TOC Index

NAME

manuals - open HTML manual pages in Windows™ help

SYNOPSIS

WA2LWinTools/bin/manuals [ -h | -V ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

the manuals command opens the HTML manual pages of WA2L/WinTools in the Windows™ help window.

OPTIONS

-h

usage message.

-V

print program version.

ENVIRONMENT

-

EXIT STATUS

-

FILES

man/index.html

documentation index (root) file.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), man(1)

NOTES

-

BUGS

-

AUTHOR

manuals was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:20 GMT, September 14, 2024

EasyScreencastRecorder

TOC Index

NAME

EasyScreencastRecorder - record videos of the desktop

SYNOPSIS

WA2LWinTools/bin/EasyScreencastRecorder [ -h | -i | -u | -V ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

EasyScreencastRecorder is a program to easily record short videos of your desktop, that you can share with others.

It can be run portable, and can record audio and video using any installed codecs (including webm).

Easily record entire screen, multi monitor workspace, or specific region.

Easy to record many screencast videos with minimal intervention.

See http://www.donationcoder.com/software/mouser/popular-apps/easy-screencast-recorder and easyscreencastrecorder.Help(1) in the HTML documentation for more information.

OPTIONS

-h

usage message.

-i

install the EasyScreencastRecorder command on the Windows™ 'Desktop'.

-u

uninstall the EasyScreencastRecorder command from the Windows™ 'Desktop'.

-V

print program version.

ENVIRONMENT

-

EXIT STATUS

0

always.

4

usage displayed.

5

version message displayed.

FILES

etc/EasyScreencastRecorder.cfg

configuration file for the command maintained by EasyScreencastRecorder.

%LOCALAPPDATA%/ScreenRecorder/

video save location.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), config(1m), easyscreencastrecorder.chm(1), easyscreencastrecorder.Help(1), easyscreencastrecordings(1), http://www.donationcoder.com/software/mouser/popular-apps/easy-screencast-recorder

NOTES

Parts of this manpages were extracted from the application home page http://www.donationcoder.com/software/mouser/popular-apps/easy-screencast-recorder of EasyScreencastRecorder.

BUGS

-

AUTHOR

Easy Screencast Recorder was developed by by DonationCoder <http://www.donationcoder.com/> (http://www.donationcoder.com/software/mouser/popular-apps/easy-screencast-recorder). and integrated into WA2L/WinTools by Christian Walther. Send suggestions and bug reports regarding the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:03 GMT, September 14, 2024

EasyScreencastRecordings

TOC Index

NAME

EasyScreencastRecordings - recorded video files of the desktop

SYNOPSIS

WA2LWinTools/bin/EasyScreencastRecordings [ -h | -i | -u | -V ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

open the folder where EasyScreencastRecorder has saved the recorded videos in 'Windows™ Explorer'.

OPTIONS

-h

usage message.

-i

install the EasyScreencastRecordings command on the Windows™ 'Desktop'.

-u

uninstall the EasyScreencastRecordings command from the Windows™ 'Desktop'.

-V

print program version.

ENVIRONMENT

-

EXIT STATUS

0

always.

4

usage displayed.

5

version message displayed.

FILES

%LOCALAPPDATA%/ScreenRecorder/

video save location.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), config(1m), easyscreencastrecorder(1)

NOTES

-

BUGS

-

AUTHOR

EasyScreencastRecorderRecordings was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2021 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:03 GMT, September 14, 2024

SoundVolumeView

TOC Index

NAME

SoundVolumeView - display, mute and unmute volume level for all active sound components

SYNOPSIS

WA2LWinTools/bin/SoundVolumeView [ -h | -i | -u | -V ]

SoundVolumeView [ options ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

SoundVolumeView is a simple tool for Windows™ that displays general information and current volume level for all active sound components on your system and allows you to mute and unmute them instantly.

SoundVolumeView also allows you to save a sound profile into a file, containing the current volume level and the mute/unmute state of all sound components, as well as the default sound devices, and then later, load the same file to restore exactly the same volume levels and settings.

There is also extensive command-line support, which allows you to save/load profiles, change current volume of every sound component, and mute/unmute every sound component, without displaying any user interface.

OPTIONS

-h

usage message.

-i

install the SoundVolumeView command as 'Sound Volume View' to the Windows™ 'Desktop'.

-u

uninstall the 'Sound Volume View' shortcut from the Windows™ 'Desktop'.

-V

print program version.

options

for the native SoundVolumeView options see: https://www.nirsoft.net/utils/sound_volume_view.html#command_line.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage message displayed.

5

program version printed.

FILES

etc/SoundVolumeView.cfg

configuration file of SoundVolumeView.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), config(1m), https://www.nirsoft.net/utils/sound_volume_view.html

NOTES

SoundVolumeView was developed by Nir Sofer <nirsofer@yahoo.com>. See (https://www.nirsoft.net/utils/sound_volume_view.html) for more information.

Parts of this manual page are extracted from the web page: https://www.nirsoft.net/utils/sound_volume_view.html.

BUGS

-

AUTHOR

SoundVolumeView was developed by Nir Sofer <nirsofer@yahoo.com>. and integrated into WA2L/WinTools by Christian Walther. Send suggestions and bug reports regarding the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2022 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:33:01 GMT, September 14, 2024

SpanishAccents

TOC Index

NAME

SpanishAccents - Hotkey program to type Spanish accents

SYNOPSIS

WA2LWinTools/bin/SpanishAccents

SpanishAccents [ -h | -i | -u | -V ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

A simple hotkey program that provides a quick and intuitive way to type accented characters used in Spanish.

Hold down CapsLock and Shift and press '?' to type the upside down question mark at the beginning of a question sentence.

No need to memorize obscure ASCII numbers that don't work on many laptops anyway.

Many more accents are supported. To see the complete list of possibilities right-click the icon in the Windows™ status bar and select the 'Help' menu.

The program does not require installation; simply download and run, and you can start typing accents.

To prevent accidental activation of CapsLock when typing accents, you must hit the CapsLock key twice in rapid succession to turn CapsLock on and off.

OPTIONS

-h

usage message.

-i

install the SpanishAccents command to 'Startup' in the Windows Start Menu.

-u

uninstall the SpanishAccents shortcut from 'Startup' in the Windows Start Menu.

-V

print program version.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage message displayed.

5

version message displayed.

FILES

-

EXAMPLES

-

SEE ALSO

wintoolsintro(1), activehotkeys(1m), config(1m), http://www.onehourprogramming.com/spanish-accents/

NOTES

Parts of this manpage were extracted from the documentation of SpanishAccents written by <onehourprogrammer@gmail.com> and modified to fit to the WA2L/WinTools package. See: http://www.onehourprogramming.com/spanish-accents/ for more information.

BUGS

-

AUTHOR

SpanishAccents was developed by <onehourprogrammer@gmail.com> and integrated into WA2L/WinTools by Christian Walther. Send suggestions and bug reports related to the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:33:01 GMT, September 14, 2024

dsubst

TOC Index

NAME

dsubst - substitute a path with a temporary drive letter

SYNOPSIS

WA2LWinTools/bin/dsubst [ -h | -l | -V ]

dsubst -i [ drive... ]

dsubst -u [ drive... ]

dsubst drive directory

AVAILABILITY

WA2L/WinTools

DESCRIPTION

sometimes on Windows you get the error message 'File name too long' or 'Path name too long' when trying to access or copy files in deep file structures.

With dsubst a long directory can be substituted with a drive letter. This results in shortening the path length. Then the drive letter used to go around the path length restriction.

When installed to the 'Send To' context menu the substitution can be performed by selecting a directory and choose the 'subst DIR to drive X:' menu point.

The selected path will then be substituted with the drive letter ( X: in this example ) and a new 'Windows Explorer' is started pointing to the related drive letter.

OPTIONS

-h

usage message.

-i [ driveletter... ]

install the dsubst command as menu point 'subst DIR to driveletter:' to the 'Send To' context menu in 'Windows Explorer' . The driveletter option has to be specified without the colon (:). To add multiple entries to the 'Send To' context menu a space separated list of driveletter(s) can be specified. It is recommended to specify at least two letters, allowing you to copy/move between different paths having extensive length.

If no driveletter is specified, the DRIVE=driveletters setting from the config file dsubst.cfg apply.

-u [ driveletter... ]

uninstall the dsubst shortcuts from the 'Send To' context menu in 'Windows Explorer'.

If no driveletter is specified, the DRIVE=driveletters setting from the config file dsubst.cfg apply.

-l

list the existing dsubst shortcuts from the 'Send To' context menu in 'Windows Explorer'.

-V

print program version.

driveletter

drive letter without colon (:).

directory

a directory to substitute to a driveletter . When installed in the 'Send To' menu the selected directory in 'Windows Explorer' is passed to the dsubst command.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage message displayed.

5

version message displayed.

FILES

etc/dsubst.cfg

configuration file for dsubst.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), dsubst.cfg(4), config(1m)

NOTES

-

BUGS

-

AUTHOR

dsubst was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:02 GMT, September 14, 2024

dsubst.cfg

TOC Index

NAME

dsubst.cfg - configuration file for dsubst

SYNOPSIS

WA2LWinTools/etc/dsubst.cfg

AVAILABILITY

WA2L/WinTools

DESCRIPTION

This is the configuration file for the dsubst command.

FILEFORMAT

Rows starting with a # are considered as comments.

The file format is OPTION=VALUE

Between the OPTION , the = and the VALUE are no spaces.

You can comment out any OPTION or completely remove the related setting line to use the default settings.

OPTIONS

DRIVES

space separated list of substitute drives to be created when the -i or -u option of dsubst(1) is specified without a list of drive letters.

Example: DRIVES=X Y

Default: DRIVES=V W

EXAMPLES

1) Simple example configuration file

#

# WA2LWinTools/etc/dsubst.cfg - Configuration file for dsubst

#

# [00] 20.03.2018 CWa   Initial Version

#

DRIVES=X Y Z

SEE ALSO

wintoolsintro(1), dsubst(1)

NOTES

-

BUGS

-

AUTHOR

dsubst.cfg was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION FILEFORMAT OPTIONS EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:02 GMT, September 14, 2024

SynchronizeIt

TOC Index

NAME

SynchronizeIt - synchronize folders

SYNOPSIS

WA2LWinTools/bin/SynchronizeIt [ -h | -i | -u | -V ]

SynchronizeIt [ options ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

SynchronizeIt is a program that allows you to synchronize folders and files.

It provides a preview that allows you to see what would happen when you choose to actually synchronize the folders.

See https://www.grigsoft.com/wndsync.htm and synchronizeit.Help(1) in the HTML documentation for more information.

OPTIONS

-h

usage message.

-i

install the SynchronizeIt command on the Windows™ 'Desktop'.

-u

uninstall the SynchronizeIt command from the Windows™ 'Desktop'.

-V

print program version.

options

more SynchronizeIt options. See synchronizeit.Help(1) for more information.

ENVIRONMENT

-

EXIT STATUS

0

always.

4

usage displayed.

5

version message displayed.

FILES

etc/SynchronizeIt.cfg

configuration file for the command maintained by SynchronizeIt.

var/log/SynchronizeIt.html

log file of SynchronizeIt.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), config(1m), synchronizeit.chm(1), synchronizeit.Help(1), https://www.grigsoft.com/wndsync.htm

NOTES

-

BUGS

-

AUTHOR

SynchronizeIt was developed by Grig Software <https://www.grigsoft.com/wndsync.htm> as the wndsync.exe command and integrated as SynchronizeIt.exe into WA2L/WinTools by Christian Walther. Send suggestions and bug reports regarding the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:33:06 GMT, September 14, 2024

Textify

TOC Index

NAME

Textify - Copy dialog and control text

SYNOPSIS

WA2LWinTools/bin/Textify [ -h | -i | -u | -V ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

Copy text from dialogs and controls to clipboard.

OPTIONS

-h

usage message.

Start Textify.

-i

install the Textify command to 'Startup' in the Windows Start Menu.

-u

uninstall the Textify shortcut from 'Startup' in the Windows Start Menu.

-V

print program version.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage message displayed.

5

version message displayed.

FILES

etc/Textify.cfg

configuration file of Textify.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), config(1m)

NOTES

-

BUGS

-

AUTHOR

Textify was developed by Michael Maltsev <https://ramensoftware.com/contact> (see: https://ramensoftware.com/textify) and integrated into WA2L/WinTools by Christian Walther. Send suggestions and bug reports regarding to the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2023 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:33:07 GMT, September 14, 2024

TinyTimeRecorder

TOC Index

NAME

TinyTimeRecorder - tiny time recorder that sits in the system tray

SYNOPSIS

WA2LWinTools/bin/TinyTimeRecorder [ -h | -i | -u | -V ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

A time recorder which allows to track time spent on projects or tasks by a simple click on the related entry in the tray menu.

The time is recorded to the CSV file var/db/tinytimerecorder/timerecord.csv that can be imported into a spreadsheet program for further processing.

The recorded time can be edited/corrected directly thru the tray menu (or using the hotkeys WIN+Alt+F11 and WIN+Alt+F12.

If selected, an activity text can be entered when start to work on a new project/item.

If it is not wished to enter always an activity text, leave the 'Query for activity text' entry in the tray menu unchecked. However, if the SHIFT or CONTROL key is pressed while a project/item is selected, an input box is provided on that special occasion to enter an activity text.

Normally when an active project is clicked nothing happens. If you like to record times for different tasks in the same project, first select the None project then select the previously active project again; to avoid this additional clicks, check the 'Enable new task in active project' in the tray menu.

The hotkey WIN+Alt+F10 allows to enter a new activity text for the active project (for this, 'Query for activity text' needs to be checked in the tray menu.

OPTIONS

-h

usage message.

-i

install the TinyTimeRecorder command to 'Startup' in the Windows Start Menu.

-u

uninstall the TinyTimeRecorder shortcut from 'Startup' in the Windows Start Menu.

-V

print program version.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage message displayed.

5

version message displayed.

FILES

var/db/tinytimerecorder/projects.cfg

list of selectable projects to show in the system tray menu.

This file is edited when the menu point Tools → Edit Projects in the tray menu is clicked.

var/db/tinytimerecorder/timerecord.csv

recorded time and activity CSV file by project.

This file is edited when the menu point Tools → Edit Recordings in the tray menu is clicked.

var/cache/tinytimerecorder/active.cache

cache file holding the currently active project/task.

var/cache/tinytimerecorder/text.flag

flag file to remember the 'Query for activity text' state.

var/cache/tinytimerecorder/task.flag

flag file to remember the 'Enable new task in active project' state.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), config(1m), csvfileedit(1), dmcsv(1), notepad2(1)

NOTES

-

BUGS

The hotkeys WIN+Alt+F10, WIN+Alt+F11 and WIN+Alt+F12 cannot be changed, currently.

AUTHOR

TinyTimeRecorder was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2023 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:33:09 GMT, September 14, 2024

QTranslate

TOC Index

NAME

QTranslate - text and speak language translator

SYNOPSIS

WA2LWinTools/bin/QTranslate [ -h | -i | -u | -V ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

QTranslate can be used to quickly translate text from one language to another.

Features include the ability to translate text typed into the main window, speak translated text via it's own "Text to Speech Translator" (via Ctrl+E), translate highlighted text on the fly in a popup (via Ctrl+Q), or show highlighted translations in the main window (via Ctrl+Ctrl).

QTranslate might also be used to perform a web search (via Ctrl+W).

Icons for these shortcuts also appear when highlighting text.

Supported translation services:

QTranslate translates text by using online translation services, so you need an Internet connection.

-

Babylon

-

Baidu

-

DeepL

-

Google

-

Microsoft

-

Naver

-

Promt

-

SDL

-

Yandex

-

youdao

Modes of translation by mouse selection:

-

Show icon (select text in a program -> QTranslate icon will appear near cursor. Click the icon -> popup window with the translation of selected text will appear)

-

Show translation (select text in a program -> popup window with translation of the selected text will appear immediately)

-

Show translation and read (the same as previous plus speaking aloud selected text)

Main features:

-

Text translation in any application that supports text selection

-

Speech recognition

-

Image text recognition (OCR API provided by OCR.SPACE)

-

Text to speech synthesis

-

Search in online dictionaries

-

Search in offline XDXF dictionaries

-

Spell checking

-

Word suggestion/autocomplete

-

History of translations

-

Virtual keyboard

Hotkeys:

Ctrl+N

clear translation window contents.

Ctrl+Enter

translate entered text.

OPTIONS

-h

usage message.

-i

install the QTranslate command to 'Startup' in the Windows™ Start Manu.

-u

uninstall the QTranslate shortcut from the 'Startup' in the Windows™ Start Manu.

-V

print program version.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage message displayed.

5

program version printed.

6

program variant not known. This error occurs when the QTranslate command is renamed.

FILES

-

EXAMPLES

-

SEE ALSO

wintoolsintro(1), config(1m), activehotkeys(1m), http://quest-app.appspot.com/

NOTES

QTranslate was developed by QuestSoft <translate@gmail.com>. See (http://quest-app.appspot.com/) for more information.

Parts of this manual page are extracted from the web page: http://quest-app.appspot.com/.

BUGS

-

AUTHOR

QTranslate was developed by QuestSoft <translate@gmail.com> and integrated into WA2L/WinTools by Christian Walther. Send suggestions and bug reports regarding the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION Supported translation services: Modes of translation by mouse selection: Main features: Hotkeys: OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:49 GMT, September 14, 2024

TurboPad

TOC Index

NAME

TurboPad - All Purpose File Editor

SYNOPSIS

WA2LWinTools/bin/TurboPad [ -h | -i | -u | -V ]

TurboPad [ -n ] [ file... ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

TurboPad is a fast and feature rich text editor.

It includes a tabbed interface, syntax highlighting, syntax folding, bookmarking, unlimited undo/redo, code templates, word completion and much more.

See: turbopad.Help(1) for the full TurboPad documentation.

OPTIONS

-h

usage message.

Start TurboPad.

-i

install the TurboPad command to the 'Send To' menu in 'Windows Explorer' .

-u

uninstall the TurboPad shortcut from the 'Send To' context menu in 'Windows Explorer' .

-n

create new file(s).

file...

optional list or files to be edited.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage message displayed.

5

version message displayed.

FILES

etc/TurboPad.cfg

saved configurations of the TurboPad command. This file is managed by TurboPad.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), config(1m), turbopad.Help(1)

NOTES

Parts of this manpages were extracted from the documentation of TurboPad from the provided application help turbopad.Help(1).

BUGS

-

AUTHOR

TurboPad was developed by 'Matt Watkins' <https://sourceforge.net/u/mattwat/profile/> (see: https://sourceforge.net/projects/turbopad/) and integrated into WA2L/WinTools by Christian Walther. Send suggestions and bug reports regarding to the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2024 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:33:10 GMT, September 14, 2024

Turbo Pad Help

- About

- Introduction

- Features

- License

- Credits

- Contact

- Forums

- Tracker

- Mailing Lists

- E-Mail

- Menus

- File

- Edit

- Search

- View

- Format

- Tools

- Options

- Help

- Command Line Arguments

- Usage

- Arguments

- Options

- Options Menu

- Config Files

- Executing Files

- Introduction

- Editing Config Files

- Execute Command Reference

- Code Templates

- Introduction

- Usage

- Example

- Editing Config Files

- Config File Overview

- Example Config File

- Custom Help Files

- Introduction

- Config File Overview

- Advanced Features

- Quick Find

- Word Completion

- Bookmarks

- Miscellaneous

- Getting The Source

- File Releases

- Windows Installer

- Source Packages

- From CVS

- Building Turbo Pad

- Dependencies

- Compiling wxWidgets

- Compiling wxStyledTextCtrl

- Compiling On Windows

- Using Dev-C++

- Using MinGW

- Building The Installer

- Compiling On Linux

About

Introduction

Turbo Pad is a fast and feature rich text editor designed for programmers. This document describes all aspects of the Turbo Pad editor, including how to compile the editor from source. If you need more information, please contact me.

Note: This document is the process of being re-written. Some of its content may be out of date.

Copyright (C) 2002-2003 Matt Watkins [mattwat at users.sourceforge.net]. This document may be distributed under the terms of the MIT license.

Features

Turbo Pad possesses many advanced and helpful features. The following is a list of many of those features.

- Advanced auto indent

- Block commenting

- Block indenting and unindenting

- Bookmarking

- Brace matching

- Code templates

- Line numbers

- Tabbed interface

- Session support

- Support for execution of files

- Syntax highlighting

- Unlimited undo/redo

- Virtually unlimited file size

- Word completion

- Custom help files

- Unix, Mac and Windows line ending support

License

Turbo Pad is licensed entirely under the MIT License:

Copyright (c) 2002-2003 Matt Watkins

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Credits

The icons used in Turbo Pad are part of the Bluesphere SVG icon set. These icons can be found at http://sourceforge.net/projects/svgicons.

Bluesphere License:

Copyright (c) 2002, Christian Schaller / Vadim Plessky

All rights reserved.

Redistribution and use in source and binary forms, with or without

modification, are permitted provided that the following conditions are met:

* Redistributions of source code must retain the above copyright notice,

this list of conditions and the following disclaimer.

* Redistributions in binary form must reproduce the above copyright

notice, this list of conditions and the following disclaimer in the documentation

and/or other materials provided with the distribution.

* The names of the Bluesphere icon set contributors

may not be used to endorse or promote products derived from this

software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND

CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,

INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF

MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE

DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS

BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,

OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,

PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,

OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY

THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT

(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE

USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH

DAMAGE.

Thanks everyone who worked on wxWidgets, with which this program was written. Thanks to Robin Dunn for wxStyledTextCtrl.

http://www.wxwidgets.org

Thanks to the GNU developers for GCC. Thanks to everyone who worked on MinGW.

http://www.gnu.org

http://www.mingw.org

Thanks everyone who worked on Dev-C++, the IDE with which Turbo Pad was primarily developed.

http://www.bloodshed.net

Thanks to Neil Hodgson for Scintilla and for SciTE.

http://www.scintilla.org

Thanks to Sourceforge for hosting this project.

http://www.sourceforge.net

Thanks everyone who worked on UPX, which was used to compress the executables.

http://upx.sourceforge.net

Thanks to everyone who worked on NSIS, which was used to create the Windows installer.

http://www.sourceforge.net/projects/nsis

Thanks to Denis Tranchemontagne, for working on the Linux port and writing a Linux makefile.

Thanks to Andre for making icons for Turbo Pad.

Lastly, thanks to all of the alpha and beta testers which helped to test the program, everyone who gave me ideas and reported bugs for Turbo Pad and, finally, everyone who supported its development.

Contact

Turbo Pad Website: http://turbopad.sourceforge.net

Turbo Pad Project Page: http://sourceforge.net/projects/turbopad

Turbo Pad Forums: http://sourceforge.net/forum/?group_id=78230

Downloads:

Latest Version

Nightly Tarball

Trackers:

Bug Reports

Get Support

Request A Feature

Submit A Patch

Forums

One way to contact me is by way of the forums. These can be found on the Sourceforge project page where it says "Public Forums".

Forums are an excellent resource and provide a quick and easy means to get help for any problems you are having with Turbo Pad. They are also a good place to discuss anything related to Turbo Pad with other users.

Tracker

Also on the Sourceforge project page are Trackers which are a quick and easy way to report bugs, request features or get technical support for Turbo Pad. If you want to report a bug, request a feature or simply get support, using the trackers is highly recommended and is the preferred means of communication with the Turbo Pad team.

Mailing Lists

Mailing lists are another means to contact either me or other users of Turbo Pad. There currently are two different mailing lists, a turbopad-announce mailing list which will e-mail you when a new version has come out, and a turbopad-users mailing list, which is basically an open discussion mailing list for anything related to Turbo Pad.

More information can be found on the project page.

E-Mail

To contact me via e-mail, you can send me an e-mail at mattwat at users.sourceforge.net (Remove no.spam. from the address)

Menus

File

New: Creates a new file.

Open: Opens a file in the editor.

Save: Saves the current file.

Save As: Saves the current file under the specified name.

Save All Files: Saves all currently loaded files.

Close: Closes the current tab.

Close All: Closes all tabs currently open.

Load Session: Loads a session file.

Save Session: Saves the currently open files as a session.

Recent Files: Shows a list of all recent files

Exit: Closes Turbo Pad.

Edit

Undo: Cancels the last operation.

Redo: Restores the last operation after an undo.

Cut: Removes the selected text and places it on the clipboard.

Copy: Copies the selected text to the clipboard.

Paste: Inserts the text on the clipboard.

Select All: Selects all text in the current document.

Search

Find: Shows a dialog that enables the user to search the document.

Replace: Shows a dialog which allows text to be replaced.

Find Next: Finds the next occurrence of the current search item.

Find Previous: Finds the previous occurrence of the current search item.

Go To Line: Shows a dialog which allows Turbo Pad to jump to the specified line.

Next Bookmark: Goes to the next bookmark in the document.

Previous Bookmark: Goes to the previous bookmark in the document.

Toggle Bookmark: Places or removes a bookmark on the current line.

Remove All Bookmarks: Removes all bookmarks in the document.

View

Show Matching Brace: Jumps to the brace that matches the one next to the caret.

Show Indent Guides: Shows lines at every tab stop to help with indentation.

Show Whitespace: Makes visible all tabs and spaces.

Show EOL: Makes visible all line endings in the document.

Show Fold Margin: Shows or hides the fold margin.

Show Line Numbers: Shows or hides line numbers in the document.

Show Bookmark Margin: Shows or hides the bookmark margin.

Read Only: Toggles read only mode for the current document.

Format

To Upper Case: Changes the currently selected text to uppercase.

To Lower Case: Changes the currently selected text to lowercase.

Sort Text: Sorts all selected lines (case-sensitive).

Block Comment: Block comments the selected lines using the current comment type.

Stream Comment: Stream comments the selected lines using the current comment type.

Insert:

Date/Time: Inserts the current date and time.

Code Template: Inserts a code template matching the word next to the caret.

Tools

Build: Builds as specified by the file extension in Exec.cfg.

Compile: Compiles as specified by the file extension in Exec.cfg.

Run: Runs as specified by the file extension in Exec.cfg.

Spaces To Tabs: Converts all spaces to tabs where applicable.

Tabs To Spaces: Converts all tabs to spaces.

Line Endings: Converts the document to type specified.

Options

Environment Options: Shows the options dialog.

Auto Indent: Enables or disables Auto-Indent.

Highlight Braces: Enables or disables the highlighting of braces.

Word Wrap: Enables or disables word wrap.

Help

Help: Shows the custom help file as specified in Help.cfg.

Turbo Pad Help: Shows this help file.

About: Shows the about box.

Command Line Arguments

Usage

TurboPad [-n] [File] [File]

Arguments

-n - Creates a new file.

Options

Options Menu

Many options can be edited via the Options Menu. Any options that are changed on the options menu are saved for the future. This also applies to some things on the View Menu, such as Show Whitespace and Show Indent Guides.

Config Files

On all platforms, options are stored in config files. The main config files can be found in the "Config" directory of the Turbo Pad folder. Most options and preferences can be found in the file "Prefs.cfg". All recent files are stored in "RecentFiles.cfg". Global style settings are stored in the file "Style.cfg" All highlighter config files can be found in the "Highlighters" directory.

Executing Files

Introduction

Turbo Pad provides support for executing files, meaning opening a file with another program, compiling a file, interpreting a file, etc. This section describes how to use Turbo Pad's file execution mechanism.

Editing Config Files

All execute information is stored in highlighter specific config files. Each highlighter config file can be found in the Highlighters directory. First, open the highlighter config file corresponding with a certain highlighter. Then look for a lines that look like the following:

[Highlighter].Compile =

[Highlighter].Build =

[Highlighter].Run =

In the above lines, highlighter would be replaced with the highlighter name. You can simply put the commands for building, compiling and running after the equals sign. You can use special variables as shown below which will be replaced with a value such as the filename or extension of the current file.

After doing this, you can now use Build, Compile and Run in the Tools menu for whatever highlighter config file you were editing.

Execute Command Reference

$(FilePath) - Filename with path.

$(FileDir) - Path only.

$(FileNameExt) - Filename only, without path but with the extension.

$(FileName) - Filename only, without path and extension.

$(FileExt) - Extension only, without a period in front.

$(ReloadFile) - Reloads the file after execution.

Code Templates

Introduction

Another advanced feature of Turbo Pad is Code Templates, which allows commonly used blocks of source code (or simply text) to be inserted quickly and easily. Turbo Pad comes with some code templates predefined. They can be found in the templates directory of the main Turbo Pad installation directory.

Usage

To use code templates, simply type a code template keyword and then press Ctrl+Space. Please note that each highlighter has its own code templates, so not all code templates will work with each highlighter.

Example

To test out code templates, first switch to the HTML highlighter. Now type ht. This is the keyword for a basic HTML layout. Now simply press Ctrl+Space. You should now see a basic HTML layout. To view other keywords for HTML, you can open HTML.tpl in the templates folder of the Turbo Pad installation directory.

Editing Config Files

Config File Overview

Each template file consists of groups of code templates. Each template first begins with a header line inside of brackets, specifying the name of the template and a short description after the "|" character. Following the header line is the actual code to be inserted for the template. The code ends once the next header or the eof is reached. All trailing newlines of the template itself will be removed before insertion. Also, you can specify the location at which the caret will be placed after insertion by placing a "|" character at that position. If you wish to insert a "|" character and not have the caret placed at that position, insert "||". Also, if you wish to insert a opening bracket, please use "[[" as brackets are used in header lines.

Example Config File

[if | If Statement]

if |:

[elf | Else If Statement]

elif |:

[els | Else Statement]

else |:

Custom Help Files

Introduction

Custom Help files allow you to open a help file corresponding to the current language. As an example, you could set the PHP help file to open whenever you select Help while writing PHP code. To set custom help files, you can simply edit the highlighter config file corresponding with each highlighter. By default, these config files can be found in the Highlighters directory of your Turbo Pad installation.

Config File Overview

In the config file corresponding to the highlighter you want to add a custom help file for, look for a line in the following form:

[Highlighter].Help =

Where [Highlighter] is the highlighter name. Simply put the file name of the help file after the equals sign and save the config file. You can now press F1 to open the help file after switching to the correct highlighter.

Advanced Features

Quick Find

Quick find allows you to find text quickly without ever bringing up the find dialog. First highlight the word or move to the position of the word you would like to search for. Now, to search forward, press Ctrl+F3. If you would like to search backward, press Ctrl+Shift+F3.

Word Completion

Word Completion is an advanced feature which allows you to complete partially typed words in the document. Word completion gives you a list to choose from using words in the current document, so it will only work if you have previously typed the word you are trying to complete. To use word completion, press Ctrl+Enter.

Bookmarks

Turbo Pad also provides a flexible bookmarking system. To toggle a bookmark, either press Ctrl+F2 to bookmark the current line, or click in the bookmark margin. To go to the next bookmark, press F2, and to go to the previous bookmark press Shift+F2. You can also remove all bookmarks by going to Search and then Remove All Bookmarks.

Miscellaneous

Indenting: Press Tab when more than one line of text is selected to indent those lines. Press Shift+Tab to unindent when text is selected.

Transposing Lines: Press Ctrl+T to swap the current line with the above line.

Duplicating Lines: Press Ctrl+D to duplicate the current line.

Cuting Lines: Press Ctrl+L to cut the current line.

Copying Lines: Press Shift+Ctrl+T to copy the current line.

Deleting Lines: Press Shift+Ctrl+L to delete the current line.

Delete to the start of the word: Press Ctrl+BackSpace.

Delete to the end of the word: Press Ctrl+Delete.

Delete to the start of the line: Press Shift+Ctrl+Backspace.

Delete to the end of the line: Press Shift+Ctrl+Delete.

Go to the start of the displayed line: Press Alt+Home.

Select to the start of the displayed line: Press Shift+Alt+Home.

Go to the end of the displayed line: Press Alt+End.

Select to the end of the displayed line: Press Shift+Alt+End.

Getting The Source

File Releases

All file releases come with the source. File releases can be found on the Turbo Pad Project Page.

Windows Installer

If you downloaded the Windows Installer for Turbo Pad, you can choose to have the source installed alongside Turbo Pad. To do this, simply make sure the source component is checked upon install.

Source Packages

Source packages are another way to get the source. Downloading and building the source from a source package is the preferred way of using Turbo Pad on non-Windows operating systems. The source packages can be found in zip, gzip and bz2 formats on the file release page along with the Windows installer.

From CVS

The latest versions of source can be found on CVS. These sources may be broken or unstable from time to time, but are the best way to try out new features or help report bugs.

To get the sources from CVS, you must have a CVS client. If you don't, you can download one at the official CVS site. Once you have CVS, you should first login to CVS using the following command:

cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/turbopad login

When prompted for a password, simply press enter. Next, to check out the actual source, issue the following command:

cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/turbopad co Source

This will check out the latest version of the source which is present in the Source module. More information on using CVS with Turbo Pad can be found at http://sourceforge.net/cvs/?group_id=78230.

Building Turbo Pad

Note: All of the following information is outdated; please refer to the ReadMe.txt file that comes with the source.

The GCC compiler is required to build Turbo Pad. If you are using Windows, you will first need to download MinGW.

Dependencies

Turbo Pad requires wxWidgets and the wxStyledTextCtrl library. wxWidgets can be found at www.wxwidgets.org. wxStyledTextCtrl comes with wxWidgets and can be found in the "contrib" directory.

Compiling wxWidgets

Information on compiling wxWidgets can be found in the file "install.txt", which is in the docs folder. In the file /include/wx/[msw/gtk]/setup.h, make sure to turn all compatibility settings off and turn all non-obsolete features on (except OpenGL). Remember to copy setup.h up one level before compiling wxWidgets as specified in install.txt. When you are finished, copy wxWidgets/include/wx to your GCC or MinGW /include directory and copy all .a files in wxWidgets/lib to your /lib directory.

Compiling wxStyledTextCtrl

wxStyledTextCtrl is a contributed wxWidgets library, and thus can be found in the contrib/src and contrib/include folders with the name "stc". In wxWidgets 2.4.2, all that is required to build this is a simple make command like you used to build wxWidgets, except this time inside of the contrib/src/stc folder. When you are finished, copy /contrib/include/wx/stc to your MinGW or GCC /include/wx folder and copy the libstc.a file from /lib to your lib folder.

Compiling On Windows

Using Dev-C++

Dev-C++ is no longer supported for compilation. Please use the MinGW command line tools instead to build Turbo Pad. However, since Dev-C++ includes the MinGW tools, you may use the as specified in the Using MinGW section (Note: you may need to type "make" instead of "mingw32-make")

Using MinGW

Note: All of the following information is outdated; please refer to the ReadMe.txt file that comes with the source.

The MinGW command line tools are required to build Turbo Pad. MinGW is a Windows port of GCC along with support for the Windows API, and can be found at www.mingw.org.

Once you sucessfully compiled wxWidgets and wxStyledTextCtrl, you are ready to compile Turbo Pad. First cd to the Turbo Pad source directory.

cd Source

Next do a mingw32-make to compile Turbo Pad. If MinGW, wxWidgets and wxStyledTextCtrl are all installed correctly, you will not have any problems with this step.

mingw32-make -f Makefile.win

This should produce a TurboPad.exe file. Now issue the following command to prepare Turbo Pad for general use.

move TurboPad.exe TurboPad

Now, Turbo Pad is ready for use. To finish the process, simply copy the TurboPad folder to wherever you wish Turbo Pad to be installed and optionally create some shortcuts to the file TurboPad.exe.

Building The Installer

At the current time, Turbo Pad is built with the latest version of NSIS. Since the files are most likely in a different location on your computer, you will need to change some !define lines to match your file locations. After fixing the paths to match your computer, and after NSIS is installed, you can right click on the file in Explorer to compile it.

Compiling On Linux

Note: All of the following information is outdated; please refer to the ReadMe.txt file that comes with the source.

To get Turbo Pad to compile on Linux, first compile and install wxWidgets along with wxStyledTextCtrl, which can be found in the contrib directory of wxWidgets. In the wxWidgets setup.h file, make sure to turn all compatibility settings off and turn all non-obsolete features on (except OpenGL).

Next, cd to the Source folder and do a make to compile Turbo Pad.

cd Source

make -f Makefile.lin

Now, copy the resulting TurboPad binary to somewhere in your path. Also, copy the TurboPad folder to /usr/share/turbopad or /usr/local/share/turbopad. If you do not copy the TurboPad folder to the correct location, Turbo Pad will not work.

typertask

TOC Index

NAME

typertask - automate keyboard typing

SYNOPSIS

WA2LWinTools/bin/typertask

typertask [ -h | -i | -u | -V ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

typertask is designed to help you by automating your keyboard typing. typertask does this by looking for 'signals' and then auto typing longer phrases. For example, you may type your signature many times a day. With typertask you can just type 'mysig' (or any other signal), and your full signature will automatically be typed, while you are working in any program.

The basic format of the typertask mappings file is:

Trigger=Type This Text     (one per line)

Signals can be either text or key combinations:

text=This was launched by a text trigger!

{control}{shift}{alt}W=You just pressed "Control + Shift + Alt + W"

Hint: Please note that some key combinations may conflict with the operating system. For example 'Control+C' is the universal combo for 'Copy'. Avoid these combos when setting signals. Use 'Control+Shift+Alt' combos, or use text signals.

For more detailed information see typertask.Readme(1) in the HTML documentation.

OPTIONS

-h

usage message.

-i

install the typertask command to 'Startup' in the Windows Start Menu.

-u

uninstall the typertask shortcut from 'Startup' in the Windows Start Menu.

-V

print program version.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage message displayed.

5

version message displayed.

FILES

etc/typertask.cfg

configuration file of typertask.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), beeftext(1), config(1m), typertask.Readme(1), http://www.vtaskstudio.com/support.php#tools

NOTES

Parts of this manpage were extracted from the documentation of typertask written by Vista Software, Inc. and modified to fit to the WA2L/WinTools package. See: http://www.vtaskstudio.com/support.php#tools and typertask.Readme(1) in the HTML documentation.

BUGS

-

AUTHOR

typertask was developed by Vista Software, Inc. and integrated into WA2L/WinTools by Christian Walther. Send suggestions and bug reports related to the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:33:10 GMT, September 14, 2024

========================================================================

TYPERTASK HELP REFERENCE

Copyright © 2012 Vista Software, Inc.

www.vtaskstudio.com

========================================================================

CONTENTS:

I. INTRODUCTION

II. TYPERTASK FEATURES

1. AUTOMATED KEYBOARD TYPING

2. RUN PROGRAMS

3. DELAYS

4. WINDOW ACTIVATION

5. MOUSE CLICKS

6. CUSTOM LISTS

III. TYPERTASK KEY CODES AND VARIABLES

1. SPECIAL KEY CODES

2. ENVIRONMENT VARIABLES

IV. TYPERTASK ADDITIONAL TOOLS

1. REMOVE CLIPBOARD FORMATTING

2. SHOW TOTAL AUTOMATIONS

3. TRACK MOUSE

V. TYPERTASK TECHNICAL INFORMATION

VI. TYPERTASK LICENSE AGREEMENT

========================================================================

I. INTRODUCTION

========================================================================

Thank you for using TyperTask!

TyperTask is designed to help you by automating your keyboard typing.  TyperTask

does this by looking for "signals," and then auto typing longer phrases. For

example, you may type your signature many times a day.  With TyperTask, you

can just type "mysig" (or any other signal), and your full signature will

automatically be typed, while you are working in any program.

The basic format of the TyperTask mappings file is:

Trigger=Type This Text     (one per line)

Signals can be either text or key combinations:

text=This was launched by a text trigger!

{control}{shift}{alt}W=You just pressed "Control + Shift + Alt + W"

* Hint: Please note that some key combinations may conflict with the operating

system. For example "Control+C" is the universal combo for "Copy."  Avoid

these combos when setting signals.  Use Control+Shift+Alt combos, or use text

signals.

========================================================================

II. TYPERTASK FEATURES

========================================================================

----------------------------------------

1. AUTOMATED KEYBOARD TYPING

----------------------------------------

Typing is the primary job of TyperTask, and therefore it has advanced keyboard

control.  TyperTask is able to automate nearly anything that you can do on

your keyboard by hand.

TyperTask can do normal typing, international characters, multiple lines,

cursor movement, and non-printable keys such as Control, Alt, and F1.

To use TyperTask most efficiently, you should choose unique signal keys.  This

is important because you want triggers that are not usually typed, to avoid

conflicts with normal typing.  For example, "the" would be a poor choice,

since it is a frequently typed word.  A good method is to use special flag

characters, such as "~".  You can create a group of TyperTask entries like

this:

~ty=Thank you very much!

~br=Best Regards{enter}-My Name

~1=C:\Program Files

* Hint: Another good use of TyperTask is to have it "auto-complete" phrases.

For example, a common long word like "Specifications" could be automated by

this much shorter signal:

speci=specifications

* Hint: Similarly, if you frequently misspell words like "receive", then add

entries to correct them (notice the space after "youre " below, which is a way

to only activate the trigger after the full word is typed):

recieve=receive

youre =you're

----------------------------------------

2. RUN PROGRAMS

----------------------------------------

TyperTask can not only automatically type for you, it can also launch

programs and websites.  You indicate to TyperTask that you want to start

a program (instead of typing the name) with the "RUN:" command:

{Control}{Shift}{Alt}G=RUN: http://www.google.com

{Control}{Shift}{Alt}D=RUN: "My Document.doc"

go note=RUN: notepad.exe C:\Windows\win.ini

* Hint: Be sure to include quotes around path names if there are problems

starting the program/file.

----------------------------------------

3. DELAYS

----------------------------------------

TyperTask's automation capabilities also include DELAYS.  The sample below

starts Notepad when you press Control+Shift+Alt+"N", waits one second

(1000 milliseconds) so the program can start, and then types a phrase:

{Control}{Shift}{Alt}N=RUN: notepad.exe{Delay=1000}Hello! {Delay=500}World!

* Hint: You can start multiple apps all with one command.  This lets you start

a group of programs with a single trigger.

{Control}{Shift}X=RUN: notepad.exe{delay=250}RUN: calc.exe{delay=250}RUN: mspaint.exe

----------------------------------------

4. WINDOW ACTIVATION

----------------------------------------

TyperTask can activate a WINDOW (bring it to the front).  This is done with the

"WINDOW:" command and providing the window title (partial titles are OK):

{Control}{Shift}{Alt}C=WINDOW: Calculator

* Hint: By combining multiple commands, you can activate a window and then begin

typing in it:

{Control}{Shift}{Alt}C=WINDOW: Calculator{Delay=1000}123

* Hint: Taking the above example a step further, you can combine

RUN + WINDOW + TYPE into a single automation command:

{Control}{Shift}{Alt}N=RUN: notepad.exe{delay=1000}WINDOW: Notepad{Delay=1000}Hello!

* Hint: You can combine multiple WINDOW commands to switch and type between

separate programs in a single TyperTask entry.  This allows significant

PC automation with just a one action line.

----------------------------------------

5. MOUSE CLICKS

----------------------------------------

TyperTask can also activate MOUSE CLICKS.  Clicks are based on the currently

active window.  To perform screen-based clicks, simply have the desktop as the

active window.  The following codes provide mouse actions:

{click 15, 12}      -->  Clicks the mouse in the current window at pixel 15,20

This would probably be on the titlebar's icon.

{click_dbl 100,200} -->  Double-Clicks the mouse at pixel (100,200)

{click_right 15,12} -->  Right-Clicks the mouse at pixel (15,12)

{mouse_return}      -->  Returns the mouse cursor to its original position.

* Hint: You can use the "Track Mouse" tool under the "Options" menu to determine

what pixel coordinates to use for mouse commands.  Select this option, then

activate the window you want to automate, and the cursor position will be shown

in the TyperTask status bar (have TyperTask visible next to the acitve app).

* Hint: The following entry will switch to Calculator (if running), wait a

second, and click inside the window:

{control}{shift}{alt}C=WINDOW: Calculator{delay=1000}{click 35, 192}

* Hint: The following entry will right-click the mouse (and thus show a context

menu) in Notepad (if running):

{control}{shift}{alt}R=WINDOW: Notepad{delay=1000}{click_right 200, 200}

----------------------------------------

6. CUSTOM LISTS

----------------------------------------

You can create lookup lists for easy launching of programs and documents.

This feature will display a list of filenames that will be run when clicked.

Individual items are separated by semicolons (";").  For the example below,

when  is pressed, a list of programs and documents is displayed:

{F7}=LIST: calc.exe; mspaint.exe; notepad.exe; %WINDIR%\win.ini

* Hint: The list window will initially show in the upper right corner of the

screen, but you can move the list to any location.  The list window will

remember its last location.

========================================================================

III. TYPERTASK KEY CODES AND VARIABLES

========================================================================

----------------------------------------

1. SPECIAL KEY CODES

----------------------------------------

TyperTask identifies non-alphanumeric keys (for example, the Left arrow) through

the use of "bracket codes," such as {left}.  For a full list of all bracket

codes for system keys, please refer to the vTask Studio help file located at

http://www.vtaskstudio.com.

* Hint: To enter in newlines/returns, you can use {enter} or {return}.

Here are some common key codes:

{pagedown}

{pageup}

{enter}

{return}

{left}

{right}

{down}

{up}

{insert}

{delete}

{backspace}

{F1}

{F2}

{Num1}

{Num2}

{VolumeMute}

{VolumeUp}

{VolumeDown}

{controldown}

{controlup}

{shiftdown}

{shiftup}

{altdown}

{altup}

{delay=1000}

{delay=500}

{{yyyy}} = year, 4-digit

{{yy}} = year, 2-digit

{{mm}} = month

{{dd}} = day of month

{{hh}} = hour

{{uu}} = minute

* Hint: TyperTask is great for HTML editing and programming.  For example, the

entry below will complete the BOLD tag, and place the cursor in the middle

of the tag:

{left}{left}{left}{left}

* Hint: Combining multiple features mentioned above, you can select text in

your editor, and then have TyperTask turn it into an HTML link:

{control}{shift}{alt}A={controldown}c{controlup}{controldown}v{controlup}

* Hint: For efficient parsing and consistency, TyperTask requires the

"Control + Shift + Alt" combination to be listed as "{control}{shift}{alt}".

In other words, it cannot be listed as "{alt}{shift}{control}" or in other ordering.

* Hint: When using combo triggers such as "{Control}{Shift}A", all keys must be

released before the automation can begin.  This is to avoid conflicts with the

output text.

* Hint: TyperTask can control MEDIA commands, too.  For example, the entries below will

control your PC speaker volume.

{control}{shift}{alt}{up}={VolumeUp}

{control}{shift}{alt}{down}={VolumeDown}

; This one will toggle the volume ON/OFF each time it's pressed:

{control}{shift}{alt}{pagedown}={VolumeMute}

----------------------------------------

2. ENVIRONMENT VARIABLES

----------------------------------------

TyperTask can also interpret ENVIRONMENT VARIABLES.  These are system place

holders that are replaced with data/text at run time.  They are delimited

by "%" characters. For example, the %TEMP% variable holds the folder name

for temporary files.

The operating system has numerous pre-set variables.  These can be viewed by

typing "SET" in a command prompt window.  They are also available in

"Control Panel - System - Advanced - Env Vars".  You can also set new

variables to any value you want.  Type "SET /?" for a complete explanation

and examples.

Below are some examples of environment variables:

; Opens a new command prompt window

cmd=RUN: %COMSPEC%

; Completes a path with a runtime variable

tmp=%TEMP%\temp_file.txt

; Demonstrates a custom variable that you can create

var1=Thank you for using %PRODUCT%!  We hope %PRODUCT% helps you.

* Hint: Please be aware that you may need to re-login after setting custom

variables.  This allows them to be refreshed & visible to TyperTask.

========================================================================

IV. TYPERTASK ADDITIONAL TOOLS

========================================================================

1. "REMOVE CLIPBOARD FORMATTING":  This command converts any text in the

clipboard to unformatted text.  This removes any fonts, colors, links, or

other formatting.  This allows you to copy text from the internet and paste

it into other programs while retaining only the raw text.

No additional prompts or confirmation is shown after running; the clean

text can be pasted immediately after choosing the command.

This command is available in both the Options menu, as well as the popup

menu in the system tray icon (via the right mouse click).

2. "SHOW TOTAL AUTOMATIONS" will display a count of the number of trigger

matches (automations) performed during the current session (since TyperTask

was started), and a grand total of all trigger activations.

3. "TRACK MOUSE":  This option will show the mouse location in pixels in the

TyperTask status bar.  The coordinates will be based on the currently active

window.  This feature is valuable for finding the positions of buttons, links,

or any other control or image.  This pixel location can be clicked with the

MOUSE CLICKS command (explained above), such as {click 100, 200}.

========================================================================

V. TYPERTASK TECHNICAL INFORMATION

========================================================================

Reference for the "TyperTask.ini" settings:

window_left     The size of the main window

window_top      Window size

window_width    Window size

window_height   Window size

window_start    Initialize as "minimized", "maximized", or "normal"

font            Edit control font, such as "Tahoma,9"

file            The current working file

tray            Minimizes to the system tray (notification area)

wrap_text       Wraps the text in the main edit control

activation_count The total number of triggers successfully used

Due to the free nature of this program, no personalized technical support

can be provided by Vista Software, Inc. staff.

Good luck with TyperTask, and please support vTask Studio if you like this

free tool!  Be sure to check back for updates.

========================================================================

VI. TYPERTASK LICENSE AGREEMENT

========================================================================

1. All title and copyrights in and to the Software (including but not limited

to any images, photographs, animations, video, audio, music, and text

incorporated into the Software), the accompanying printed materials, and any

copies of the Software are owned by Vista Software, Inc. The Software is

protected by copyright laws and international treaty provisions.

2. You may not reverse engineer, decompile, or disassemble the Software.  You

may not remove any proprietary notices, labels or marks on the program and

accompanying documentation.  This Software may not be used in commercial

applications, resold, or leased without the prior written consent of Vista

Software, Inc.

3. The Software is provided AS IS and with all faults. Vista Software, Inc.

makes no representations or warranties of any kind concerning the quality,

safety or suitability of the Software, either express or implied, including

without limitation any implied warranties of merchantability, fitness for a

particular purpose, or non-infringement. In no event will Vista Software, Inc.

be liable for any indirect, punitive, special, incidental or consequential

damages however they may arise and even if Vista Software, Inc. has been

previously advised of the possibility of such damages.

========================================================================

Copyright © 2012 Vista Software, Inc.

ALL RIGHTS RESERVED.

www.vtaskstudio.com

========================================================================

USBDeView

TOC Index

NAME

USBDeView - list and handle USB Devices

SYNOPSIS

WA2LWinTools/bin/USBDeView [ -h | -i | -u | -V ]

USBDeView [ options ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

USBDeView is a utility that lists all USB devices that are currently connected to your computer, as well as all USB devices that you previously used.

For each USB device, extended information is displayed: Device name/description, device type, serial number (for mass storage devices), the date/time that device was added, VendorID, ProductID, and more...

USBDeView also allows you to uninstall USB devices that you previously used, disconnect USB devices that are currently connected to your computer, as well as to disable and enable USB devices.

Columns Description

See: http://www.nirsoft.net/utils/usb_devices_view.html

Icons Legend

See: http://www.nirsoft.net/utils/usb_devices_view.html

Speed Test

USBDeview allows you to test the read/write speed of your USB flash drive. The test is made by writing a large file (named $speed_test_nirsoft$.dat) into your USB flash drive and then reading it back for testing the read speed.

Be aware that you need at least 100 MB of free disk space in order to successfully make this speed test and that this test is made with sequential read and write operations. When using multiple small files, the read/write performances are usually much lower than sequential read/write.

In order to make a speed test to your flash drive, simply select the desired item in the main window, and then choose the 'Speed Test' option from the File menu or press Ctrl+T. In the speed test window verify that the selected drive letter is the right one and then press the 'Start Test' button. Wait a few seconds until the write and read tests are finished.

OPTIONS

-h

usage message.

-i

install the USBDeView command as 'USB Device View' to the Windows™ 'Desktop'.

-u

uninstall the 'USB Device View' shortcut from the Windows™ 'Desktop'.

-V

print program version.

options

for the native USBDeView options see: https://www.nirsoft.net/utils/usb_devices_view.html.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage message displayed.

5

program version printed.

FILES

etc/USBDeView.cfg

configuration file of USBDeView.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), config(1m), https://www.nirsoft.net/utils/usb_devices_view.html

NOTES

USBDeView was developed by Nir Sofer <nirsofer@yahoo.com>. See (https://www.nirsoft.net/utils/usb_devices_view.html) for more information.

Parts of this manual page are extracted from the web page: https://www.nirsoft.net/utils/usb_devices_view.html.

BUGS

-

AUTHOR

USBDeView was developed by Nir Sofer <nirsofer@yahoo.com>. and integrated into WA2L/WinTools by Christian Walther. Send suggestions and bug reports regarding the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2023 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION Columns Description Icons Legend Speed Test OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:33:11 GMT, September 14, 2024

USBDiskEject

TOC Index

NAME

USBDiskEject - eject USB disks

SYNOPSIS

WA2LWinTools/bin/USBDiskEject [ -h | -i | -u | -V ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

usbdiskeject(1) A program that allows you to quickly remove drives in Windows™. It can eject USB disks, Firewire disks and memory cards. It is a quick, flexible, portable alternative to using Windows' "Safely Remove Hardware" dialog.

See https://quickandeasysoftware.net/readmes/USBDiskEjector.html and usbdiskeject.Readme(1) in the HTML documentation for more information.

OPTIONS

-h

usage message.

-i

install the USBDiskEject command on the Windows™ 'Desktop'.

-u

uninstall the USBDiskEject command from the Windows™ 'Desktop'.

-V

print program version.

ENVIRONMENT

-

EXIT STATUS

0

always.

4

usage displayed.

5

version message displayed.

FILES

etc/USBDiskEject.cfg

configuration file for the command maintained by USBDiskEject.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), config(1m), usbdiskeject.Readme(1), https://quickandeasysoftware.net/readmes/USBDiskEjector.html

NOTES

Parts of this manpages were extracted from the application help of USBDiskEject.

BUGS

-

AUTHOR

USBDiskEject was developed by Bennyboy <https://quickandeasysoftware.net/software/usb-disk-ejector> and integrated into WA2L/WinTools by Christian Walther. Send suggestions and bug reports regarding the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:33:11 GMT, September 14, 2024

USB Disk Ejector

By Bennyboy

Version 1.3.0.6

Http://quickandeasysoftware.net

New in this version

Added: /CFGDIR command line switch - this lets you specify a different location for the cfg file that stores all the settings. Normally this file is located in the same directory as the program but some people wanted a way to change this.

What is USB Disk Ejector?

A program that allows you to quickly remove drives in Windows. It can eject USB disks, Firewire disks and memory cards. It is a quick, flexible, portable alternative to using Windows' "Safely Remove Hardware" dialog.

It will work on any version of Windows from XP onwards, that includes:

- Windows XP

- Windows Vista

- Windows 7

- Windows 8

- Windows 10

- Windows Server versions from 2003 onwards are untested by me but have been reported to work.

- 32 bit and 64 bit versions of all the above

What makes this so useful?

It is quick. Rather than clicking through the "Safely Remove Hardware" dialog you can very quickly remove drives or card media. You can even create shortcuts or hotkeys to eject a drive.

It is simple. The program is designed to be easy to use and its advanced options are hidden so that they dont get in the way.

It is portable. It can be stored and used on a removable device like a pen drive. It can even eject the disk that it is running from. It doesnt require administrator rights and doesnt need installing.

It is flexible. There are many features that can be customised such as hotkeys, positioning, notifications and post-eject actions.

It can be run as a command line program. The command line options are very flexible, they can be used to:

- Eject the drive that the program is running from.

- Eject a drive by specifying a drive letter.

- Eject a drive by specifying a drive name.

- Eject a drive by specifying a mountpoint

- Eject a drive by specifying a partial drive name.

So you could setup a hotkey, desktop shortcut or bat file to eject a drive. Or if you use a menu such as PStart or the Portable Apps launcher you could use the command line switches so that with one click the menu will exit, the program will run and the drive will be ejected. See the 'Command Line' section below for more information.

It can eject disks when Vista cant. In Vista, disks often cant be ejected because they have an open explorer window. Other versions of Windows will close any explorer windows belonging to a disk but Vista often doesnt - so USB Disk Ejector closes does it before ejecting.

It can eject disks when Windows sometimes cant. If any applications are running from a disk then Windows wont be able to eject it. USB Disk Ejector can detect and auto-close any applications running from the disk before ejecting. Please note this closes applications that were launched from the disk not applications that have opened a file on the disk. See the limitations section further down for more information.

It is small. Less than 1.5MB (when UPX compressed).

It is open source. All source code can be found on my Github.

What do I need to use this?

A removable USB or Firewire device such as a flash drive, digital camera or external hard drive. Any USB or Firewire device that shows as a disk should be removable by this.

For ejecting card media - such as flash memory cards any internal or external card reader should work.

Using the program

1. Load the program, if you have any removable USB/Firewire drives or memory cards they will be shown in the list.

2. If you plug in any additional devices while the program is running then the list will automatically update to show them.

3. Double click on a device to remove it.

4. Unplug the device from your computer.

More features:

- Double right clicking on a drive opens an explorer window for that disk

- Drives mounted in a folder like this are also supported.

- If your card reader is shown as a drive not a card reader then you can change this. In options go to the Card Readers tab. There you can define a particular drive as a card reader, it will then be treated and shown as a card reader.

- The program has a system tray icon - you can right click this to eject disks. This is similar to the behaviour of the Windows "Safely Remove Hardware" tray icon.

- Settings are saved in a file called USB_Disk_Eject.cfg - but this wont be created unless you change a setting in the options. It will always be saved into the same place as the program itself.

- If you have a disk that has multiple drives (eg a hard drive with multiple partitions) then this can be set to only show one entry in the program. To enable this tick "show drives with partitions as one entry" in the options. If you enable this option then hovering your mouse over the disk will being up a tooltip showing what disks 'belong' to that entry.

- There are many more features - click on "More" and go to "Options" to see the full list.

Command Line

When using the program on the command line, settings that have been created when using the program normally may still be used. If USB_Disk_Eject.cfg is found in the same folder as the program then it will read and use settings from it. Settings such as removal notifications will be dictated by what has been set in options if this file is present.

This is particularly important when dealing with memory cards and card readers. For example if a device has been defined as a card reader in options then when ejecting the program will honor this and eject the card media not the card reader device.

If you dont want the program to inherit options then make sure that USB_Disk_Eject.cfg is not present in the same folder.

The following command line options are available:

- /?

Displays a dialog that shows all command line options.

- /NOSAVE

Settings are not saved, no cfg file will be created. But if theres USB_Disk_Eject.cfg in the same place as the program, options will be read from it. Use this if you want to launch the program but stop it saving settings or overwriting existing settings.

- /CFGDIR

Specify a different path for the cfg file (the file where settings are stored). EG /CFGDIR "c:\users\ben\desktop\stuff"

- /REMOVETHIS

Ejects the drive that the program is running from. Eg if the program is run from a usb stick on drive G then drive G would be ejected.

- /REMOVELETTER

Ejects the specified drive letter. Eg /REMOVELETTER G

- /REMOVEMOUNTPOINT

Ejects the specified mountpoint. Eg /REMOVEMOUNTPOINT "C:\Test USB Disk Mount"

- /REMOVENAME

Ejects the drive with the specified name. Eg /REMOVEDRIVE "Sandisk U3 Titanium"

Partial name matching is possible if a wildcard (*) is used. Eg /REMOVENAME "*SANDISK" would eject a drive that had Sandisk in its name.

- /REMOVELABEL

Ejects the drive with the specified label. Eg /REMOVLABEL "Work Drive"

Partial name matching is possible if a wildcard (*) is used. Eg /REMOVELABEL "*BEN" would eject a drive that had Ben in its label (eg Ben's Pen Drive).

- /EJECTCARD

Ejects the card media from a drive rather than trying to eject the drive itself.

Combine it with other switches Eg /REMOVELETTER G /EJECTCARD would eject an SD card in drive G.

The command line switches could be used to eject a drive from the command prompt, a bat file, a desktop shortcut or as part of a script or menu.

Upgrading From Previous Versions (before v1.3)

If you are upgrading from a version before 1.3 then be aware that some command line switches have been removed:

- /SILENT

- /SHOWEJECT

- /CLOSEAPPS

- /CLOSEAPPSFORCE

These settings are now set in the options menu. If you are using the program from the command line and USB_Disk_Eject.cfg is found in the same folder as the program then it will read and use settings from it. If its not found then the default settings will be used.

Using these switches with this new version of the program wont cause any problems - they will just be ignored.

Limitations/Bugs

Please contact me or create an issue on Github if you spot any bugs or problems that arent listed below.

- If you have balloon tips turned on in Windows XP then Windows shows a balloon tip when a device is removed ("device x can now be safely removed from the system"). If you remove one device and then try to remove another, the second device will not be removed until you close the balloon tip. If this irritates you, then you can try disabling balloon tips altogether. See this link for information on how to do this.

- A disk eject can fail when there is still an application or process accessing the drive.

If the application that is accessing the drive is running from the drive that you're trying to eject then USB Disk Ejector can detect this and close it (see the options menu to enable this). Eg if you launch Portable Firefox from a USB flash drive and then try and eject that flash drive then USB Disk Ejector will close Portable Firefox and then successfully eject the drive.

If the program accessing the disk is one installed on your computer (eg if Microsoft Word has opened a document on a flash drive that you are trying to eject) - then USB Disk Ejector wont be able to detect this and wont be able to close it. Doing this reliably requires administrator rights and a kernel driver - something beyond the scope of this program.

You may be able to use Process Explorer or Unlocker to find and stop whatever program or process is accessing a drive.

Acknowledgements And Thanks

- Ejection code is based upon C code by Uwe_Sieber.

- Ipod icon unknown - please contact me if you are/know the author.

- Options unit based on code by Sebastián Mayorá

- Program and drive icon is from the Snow.E2 set by Sascha Höhne.

- Uses the Jedi Code Library and the JEDI Setup and Config Manager API

Uses PNG ImageList by Martijn Saly

- Uses Virtual Treeview by Mike Lischke (and others)

Disclaimer

The software is provided "as-is" and without warranty of any kind, express, implied or otherwise, including without limitation, any warranty of merchantability or fitness for a particular purpose. In no event shall the initial developer or any other contributor be liable for any special, incidental, indirect or consequential damages of any kind, or any damages whatsoever resulting from loss of use, data or profits, whether or not advised of the possibility of damage, and on any theory of liability, arising out of or in connection with the use or performance of this software.

Support

Contact me.

All my software is completely free. If you find this program useful please consider making a donation. This can be done on my website.

Changelogs for previous versions:

New in version 1.3.0.5

Added: /EJECTCARD command line switch - this makes it eject the card media rather than the drive itself. Combine it with other switches Eg /REMOVELETTER G /EJECTCARD would eject an SD card in drive G

Changed: The 'Bring to front/restore' hotkey now toggles between hiding/showing the program.

Fixed: Card readers with identical drives like Kingston MobileLite G4. Previously you could only set one drive as a card reader - now if you define one as a card reader both become card readers.

Fixed: Pressing escape to minimize didnt work when 'minimize to tray' was disabled.

Fixed: Memory card ejection via hotkeys. Previously ejecting via a hotkey just ejected the drive regardless of whether it was a card reader or not. Now it behaves like the rest of the program - if it is a card reader then the media is ejected rather than the drive.

Fixed: Memory card ejection when the program is in 'mobile mode' - this is when it copies and restarts itself eg when trying to eject the drive the program is running from. Card reader settings are now respected here - if it is a card reader then the media is ejected rather than the drive.

New in version 1.3.0.4

Added option to use the escape key to minimize the window.

Fixed problem with some rare drives that dont have a mountpoint. These cant be ejected in the usual way and indeed dont show up in windows' own safely remove dialog. Drives like these are no longer shown in the program.

Stopped compressing with UPX. The exe is now 4MB in size instead of 1.5MB but it means that it uses half the memory which is a worthwhile tradeoff.

New in version 1.3.0.3

Fixed rare bug that could prevent custom card readers from being identified as a card reader when the program was first run.

New in version 1.3.0.1 and 1.3.0.2

Fixed tooltip bug that slipped through testing - if you hovered the mouse over the program when there was no drives inserted it would create an error. Many thanks to Bruce Lightfoot for spotting this.

Improved error reporting, if a disk cant be ejected now - it should give a more appropriate response. (If a disk cant be ejected 99% of the time the reason is that a file or process is using the disk).

New in version 1.3.0

There's been a huge number of changes since the last stable version. Most elements of the program have been rewritten. Many bugs have been fixed and there are some significant new features. The most important ones are listed below:

- Full card reader and memory card support. You can now eject media, show/hide card readers, hide empty card readers and even define drives as card readers.

- Mountpoint support. All detection and ejecting is done using mountpoints rather than drive letters, this means that drives mounted in a folder like this are supported.

- Options window added - options can now be easily set and saved. There are now many settings that can be configured and customised.

- Much better notifications:

- Uses balloon hints in the taskbar for notifications instead of a messagebox

- Much better detection and explanation of the reasons for a failed eject

- Now notifies (via a balloon hint) when an eject is successful

- Support for Firewire disks.

- Big changes to drive detection and ejection code - stops the freezing that could sometimes happen with the old version when trying to eject some types of drive.

Full changelog for v 1.3.0:

- Support for Firewire drives/disks

- Support for card readers/flash memory cards (Cards are now ejected not the card reader as happened in previous versions)

- Auto-polling to detect when a new flash card is inserted (windows doesn't do this)

- Double right clicking on a drive opens an explorer window for the disk

- Much better notifications:

- Uses balloon hints in the taskbar for notifications instead of a messagebox

- Much better detection and explanation of the reasons for a failed eject

- Now notifies (via a balloon hint) when an eject is successful

- Automatically closes explorer windows related to the disk before ejecting (this stops a lot of the failed ejects in Vista)

- Can auto-close any applications running from the disk before ejection:

- Can do this using a safe 'ask' method or a brute force unsafe method

- Please note this closes applications that were launched from the ejecting disk. It currently does not close applications launched from elsewhere that have a file from the ejecting drive open.

- Eg - if you launch portable firefox from a usb stick and then eject the stick it should close portable firefox and eject successfully, but if you open a document on the pen drive in Word then it wouldnt be able to detect and close this.

- Hotkey support (can assign a hotkey to eject a drive based on its name or drive letter)

- New 'no disks' found icon - the old face icon apparently scared some people

- Added tray icon:

- Added popup menu to tray icon so you can right click and eject disks, similar to the behaviour of Windows' 'Safely remove hardware' tray icon

- Smart auto-resizing of the program window to accommodate new disks/devices

- Better docking behaviour when the program window is in a corner of the screen

- Added '/NOSAVE', '/CLOSEAPPS' and '/CLOSEAPPSFORCE' command line switches

- Fixed - font size in the options dialog on Windows XP

- Fixed - very rarely a device with many disks/partitions might not have all its disks detected correctly. The detection procedure is now threaded to stop this rare occurance

- Fixed - if the program was set to read only - when it restarted in mobile mode and copied to the temp folder it couldnt delete itself

- Options dialog added - options can now be set and saved. Click on 'more' then 'options' to show it.

- Added options to:

- Start the program minimized

- Remember the last size of the program window

- Remember the last position of the program window

- Autosize the program window

- Enable/disable balloon notifications

- Close to the system tray

- Minimize to the system tray

- Enable/disable eject notifications

- Use the standard windows eject notifications

- Close the program after a successful ejection

- Minimize the program after a successful ejection

- Control the adding and management of hotkeys

- Control the closure of any programs running from a drive before ejection

- Search for media cards (in card readers)

- And much more...

- Threads - stop very rare issue where device with many partitions or card reader device supporting multiple devices - not all drives were detected

- Card readers - specify which ones are readers in options - match by various fields

- Option to hide card readers with no media in

- Option to set card polling time - default is 5 seconds

- Option to hide all card readers

- Option to show drives with multiple partitions as one entry - with different icon to indicate this

- Option to set max width of form - useful eg if mountpoint in a deeply nested folder

- Fixed - problem with commandline - if drive letter called as lower case ExtractFilePath - would pass the letter as lower case

- Fixed - EmumWindows - problem - explorer windows are now closed successfully again

- Fixed - Ejecting mountpoint from command line - case mattered - even when doing /REMOVETHIS - now looks up the correctly cased mountpoint name

- Fixed - quotes around params when restarting in mobile mode

- Fixed - /REMOVELETTER not restarting in mobile mode when attempting to eject self

- Fixed - EnumWindowAndClose and CloseAppsRunningFrom - now take into account partitions on same drive

- Fixed - Clearer error codes - shows the code if reason for a failed eject is unknown (and not 0)

- Threads - stop very rare issue where device with many partitions or card reader device supporting multiple devices - not all drives were detected

- Card readers - specify which ones are readers in options - match by various fields

- Option to hide card readers with no media in

- Option to set card polling time - default is 5 seconds

- Option to hide all card readers

- Option to show drives with multiple partitions as one entry - with different icon to indicate this

- Option to set max width of form - useful eg if mountpoint in a deeply nested folder

- Fixed - problem with commandline - if drive letter called as lower case ExtractFilePath - would pass the letter as lower case

- Fixed - EmumWindows - problem - explorer windows are now closed successfully again

- Fixed - Ejecting mountpoint from command line - case mattered - even when doing /REMOVETHIS - now looks up the correctly cased mountpoint name

- Fixed - quotes around params when restarting in mobile mode

- Fixed - /REMOVELETTER not restarting in mobile mode when attempting to eject self

- Fixed - EnumWindowAndClose and CloseAppsRunningFrom - now take into account partitions on same drive

- Fixed - Clearer error codes - shows a code if reason for a failed eject is unknown (and not 0)

Bennyboy 02/12/17

VietOCR

TOC Index

NAME

VietOCR - Optical Character Recognition (Image-to-Text)

SYNOPSIS

WA2LWinTools/bin/VietOCR [ -h | -i | -u | -V ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

VietOCR is a free and easy to use OCR (Optical Character Recognition) program. You can open image file like JPG, BMP, GIF, PNG, TIF, PDF etc. for OCR process. It has a feature for scanning of document from your scanner and then do OCR on it. The final captured text can be saved to a text file. It supports to OCR on colored images. See also: https://vietocr.sourceforge.net for the full VietOCR documentation.

OPTIONS

-h

usage message.

-i

install the VietOCR command on the Windows™ 'Desktop'.

-u

uninstall the VietOCR command from the Windows™ 'Desktop'.

-V

print program version.

ENVIRONMENT

-

EXIT STATUS

0

always.

FILES

etc/VietOCR.cfg

configuration of VietOCR.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), https://vietocr.sourceforge.net, https://sourceforge.net/projects/vietocr/

NOTES

This manpage is a partial extract the home page https://listoffreeware.com/list-of-best-free-ocr-software-for-windows/ and https://vietocr.sourceforge.net.

BUGS

-

AUTHOR

VietOCR was developed by Quan Nguyen (https://sourceforge.net/u/nguyenq/profile/, https://sourceforge.net/projects/vietocr/) and integrated into WA2L/WinTools by Christian Walther. Send suggestions and bug reports regarding the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2023 Christian Walther This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:33:13 GMT, September 14, 2024

WeatherMate

TOC Index

NAME

WeatherMate - display current weather and forecast

SYNOPSIS

WA2LWinTools/bin/WeatherMate [ -h | -i | -u | -V ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

WeatherMate is a program that gives you instant access to the current weather and weather forecast for tens of thousands of locations worldwide.

Features:

-

Easy-to-use, attractive interface

-

Displays the weather for multiple locations

-

Displays severe weather alerts

-

Displays radar images

-

Displays a variety of US weather maps

-

Speaks the weather

-

Moves out of the way when not in use

-

Highly customizable

OPTIONS

-h

usage message.

Start WeatherMate.

-i

install the WeatherMate command to 'Startup' in the Windows Start Menu.

-u

uninstall the WeatherMate shortcut from 'Startup' in the Windows Start Menu.

-V

print program version.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage message displayed.

5

version message displayed.

FILES

etc/WeatherMate.cfg

configuration file of WeatherMate.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), config(1m), https://ravib.com/wm/

NOTES

Parts of this manpages were extracted from the documentation of WeatherMate4 from https://ravib.com/wm/.

BUGS

-

AUTHOR

WeatherMate was developed by the Ravi Bhavnani <ravib@rhavib.com> and integrated into WA2L/WinTools by Christian Walther. Send suggestions and bug reports regarding to the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2021 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:33:17 GMT, September 14, 2024

StartMenu

TOC Index

NAME

StartMenu - Portable start menu of all WA2L/WinTools utilities

SYNOPSIS

WA2LWinTools/bin/StartMenu [ -h | -i | -u | -V ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

start menu with all WA2L/WinTools utilities that sits in the Windows™ system tray.

The menu contains the same entries as created in the Windows™ 'Start' menu when the [x] Create start menu entries option in the dialog of config(1m) is chosen.

The startmenu(1) can be used if it is not desired to use classicstartmenu(1m) but nevertheless have a structured menu of all utilities of the WA2L/WinTools package available.

Beside the WA2L/WinTools start menu, the entries of the Windows™ 'Startup' menu and (if installed right beside the WA2L/WinTools package) the menu entries of the WA2L/SimpleBackup package are provided also as menus.

You should not add own entries to this menu because your entries will be lost on next start; for an own portable start menu use pstart(1).

OPTIONS

-h

usage message.

Start StartMenu.

-i

install the StartMenu command to 'Startup' in the Windows Start Menu.

-u

uninstall the StartMenu shortcut from 'Startup' in the Windows Start Menu.

-V

print program version.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage message displayed.

5

version message displayed.

FILES

WA2LWinTools/

install directory of the WA2L/WinTools package.

WA2LWinTools/../WA2LSimpleBackup/

install directory of the WA2L/SimpleBackup package.

var/cache/startmenu/startmenu.xml

dynamically generated menu definition for StartMenu.

etc/StartMenu.cfg

optional configuration file of StartMenu.

The setting SIMPLEBACKUP_INSTALLDIR=directory can be used to point to the install directory if it is not located in the WA2LWinTools/../WA2LSimpleBackup/ directory.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), config(1m), classicstartmenu(1), pstart(1), qsel(1), startmenu.cfg(4)

NOTES

StartMenu uses PStart with an automatically generated configuration internally.

See pstart(1) for more information.

BUGS

-

AUTHOR

PStart was developed by 'PEGTOP Software' (see: http://www.pegtop.net/start/) and integrated as StartMenu into WA2L/WinTools by Christian Walther. Send suggestions and bug reports regarding to the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2023 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:33:03 GMT, September 14, 2024

WindowTabs

TOC Index

NAME

windowtabs - tabbed window management for any application window

SYNOPSIS

WA2LWinTools/bin/WindowTabs [ -h | -i | -u | -V ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

WindowTabs is a utility which brings browser-style tabbed window management to the desktop.

OPTIONS

-h

usage message.

Start WindowTabs.

-i

install the WindowTabs command to 'Startup' in the Windows Start Menu.

-u

uninstall the WindowTabs shortcut from 'Startup' in the Windows Start Menu.

-V

print program version.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage message displayed.

5

version message displayed.

FILES

etc/WindowTabs.cfg

config file for WindowTabs.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), config(1m), pinwin(1), seethroughwindows(1), https://github.com/mauricef/WindowTabs, https://github.com/leafOfTree/WindowTabs/releases

NOTES

Parts of this manpages were extracted from the documentation of WindowTabs from https://github.com/mauricef/WindowTabs and https://github.com/leafOfTree/WindowTabs/releases. See there for more information about WindowTabs.

BUGS

-

AUTHOR

WindowTabs was developed by Maurice Flanagan <https://github.com/mauricef> and leafOfTree <https://github.com/leafOfTree> and integrated into WA2L/WinTools by Christian Walther. Send suggestions and bug reports regarding to the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2022 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:33:20 GMT, September 14, 2024

WinFontsForAll

TOC Index

NAME

WinFontsForAll - Use additional fonts without administrator rights

SYNOPSIS

WA2LWinTools/bin/WinFontsForAll

WinFontsForAll [ -h | -i | -u | -V ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

Installing Windows fonts without administrator rights. WinFontsForAll is a one-click Windows™ app, that lets you install fonts, without requiring administrator privileges.

The app itself runs in the background and resides in the system-tray when minimized. Click on the app icon to bring the app back to the front.

You can install fonts by dragging the font file over to the app's window and dropping it into the square box.

When you don't need the font anymore, just select it from the list and click on the Delete button.

For more information see also: https://apps.walialu.com/winfontsforall/ and video: https://vimeo.com/207591397.

OPTIONS

-h

usage message.

-i

install the WinFontsForAll command to 'Startup' in the Windows Start Menu to enable a start of the WinFontsForAll command on Windows™ start.

-u

uninstall the WinFontsForAll shortcut from 'Startup' in the Windows Start Menu.

-V

print WinFontsForAll version.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage message displayed.

5

version message displayed.

FILES

%USERPROFILE%/Fonts

location where WinFontsForAll saves the fonts that are defined to be handled.

var/fonts

place to store own fonts. The example fonts Barcode, ISO-Normschrift, OCR-A, OCR-B, and NASA are distributed with WA2L/WinTools.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), config(1m), https://apps.walialu.com/winfontsforall/, https://vimeo.com/207591397

NOTES

WinFontsForAll has been developed by apps.walialu.com.

See also: https://apps.walialu.com/winfontsforall/ and video: https://vimeo.com/207591397.

BUGS

-

AUTHOR

winfontsforall was developed by apps.walialu.com and integrated into WA2L/WinTools by Christian Walther. Send suggestions and bug reports related to the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:33:21 GMT, September 14, 2024

WinRoll

TOC Index

NAME

WinRoll - Roll-Up Window into its Title Bar

SYNOPSIS

WA2LWinTools/bin/WinRoll

WinRoll [ -h | -i | -u | -V ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

WinRoll allows you to make a window "roll up" into its title bar by right-clicking on the title bar or the minimize/maximize icons of the window.

You can also send a window to the back by right-clicking the window close button.

Make the window to stay on top by middle-clicking the close window button.

Minimize the window to the tray area by pressing the SHIFT key and right-clicking the window minimize button.

To make the window translucent, middle-click (or SHIFT and right-click) the title bar, whereas the transparency is set using the 'Options...' menu of the WinRoll tray icon.

OPTIONS

-h

usage message.

-i

install the WinRoll command to 'Startup' in the Windows Start Menu to enable a start of the WinRoll command on Windows™ start.

-u

uninstall the WinRoll shortcut from 'Startup' in the Windows Start Menu.

-V

print WinRoll version.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage message displayed.

5

version message displayed.

FILES

etc/Winroll.cfg

settings of the WinRoll command.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), config(1m)

NOTES

Parts of the documentation has been extracted from https://www.portablefreeware.com/index.php?id=382 and https://github.com/saccohuo/winroll/blob/master/readme.html.

BUGS

-

AUTHOR

WinRoll has been developed by by Wil Palma <http://www.palma.com.au/> and integrated into WA2L/WinTools by Christian Walther. Send suggestions and bug reports related to the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2023 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:33:21 GMT, September 14, 2024

WinSCP

TOC Index

NAME

WinSCP - SFTP, FTP, WebDAV, S3 and SCP client

SYNOPSIS

WA2LWinTools/bin/WinSCP [ -h | -i | -u | -V ]

WinSCP [ WinSCP_options ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

WinSCP is an open source free SFTP client, FTP client, WebDAV client, S3 client and SCP client for Windows™.

It's main function is file transfer between a local and a remote computer.

Beyond this, WinSCP offers scripting and basic file manager functionality.

For a description of the full functionality, see: https://winscp.net/eng/docs/.

OPTIONS

-h

usage message.

-i

install the WinSCP command to the 'Desktop'.

-u

uninstall the WinSCP shortcut from the 'Desktop'.

-V

print WinSCP version.

WinSCP_options

for a description of the WinSCP command line options, see: https://winscp.net/eng/docs/commandline.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage message displayed.

5

version message displayed.

FILES

etc/WinSCP.ini

configuration file of WinSCP containing all settings and connection definitions.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), config(1m), https://winscp.net/eng/docs/

NOTES

WinSCP has been developed by Martin Prikryl (https://winscp.net/).

Parts of the documentation has been extracted from (https://winscp.net/).

BUGS

-

AUTHOR

WinSCP was developed by by Martin Prikryl and integrated into WA2L/WinTools by Christian Walther. Send suggestions and bug reports related to the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:33:21 GMT, September 14, 2024

wtreset

TOC Index

NAME

wtreset - force restart of all processes in WA2L/WinTools

SYNOPSIS

WA2LWinTools/bin/wtreset [ -h | -i | -u | -V ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

forced stop of all programs started from the WA2L/WinTools installation directory and restart of all AutoStart (=OnLogin start) programs.

This command is only needed if the connection to a removable device is lost during usage.

OPTIONS

-h

usage message.

-i

install the wtreset command on the Windows™ 'Desktop'.

-u

uninstall the wtreset command from the Windows™ 'Desktop'.

-V

print program version.

ENVIRONMENT

-

EXIT STATUS

0

always.

1

command aborted.

FILES

-

EXAMPLES

-

SEE ALSO

wintoolsintro(1), config(1m), svcinit(1m)

NOTES

-

BUGS

-

AUTHOR

wtreset was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2024 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:33:23 GMT, September 14, 2024

ZoomIt

TOC Index

NAME

ZoomIt - Screen Magnifier and Annotations

SYNOPSIS

WA2LWinTools/bin/ZoomIt [ -h | -i | -u | -V ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

ZoomIt is a screen zoom and annotation tool for technical presentations that include application demonstrations. ZoomIt runs unobtrusively in the tray and activates with customizable hotkeys to zoom in on an area of the screen, move around while zoomed, and draw on the zoomed image.

Right click the tray icon of ZoomIt for the configuration dialog that describes ZoomIt's behavior, let's you specify alternate hotkeys for zooming and for entering drawing mode without zooming, and customize the drawing pen color and size.

The draw-without-zoom option can be used to annotate the screen at its native resolution, for example.

ZoomIt also includes a break timer feature that remains active even when you tab away from the timer window and allows you to return to the timer window by clicking on the ZoomIt tray icon.

ZoomIt offers a number of shortcuts which can extend its usage greatly:

FUNCTION

SHORTCUT

Zoom Mode:

Zoom Mode

Ctrl + 1

Zoom In

Mouse Scroll Up or Up Arrow

Zoom Out

Mouse Scroll Down or Down Arrow

Start Drawing

Left-Click

Stop Drawing

Right-Click

Type Mode:

Type in Text

T

Increase Font Size

Ctrl + Mouse Scroll Up or Arrow Key

Decrease Font Size

Ctrl + Mouse Scroll Down or Arrow Key

Draw Mode:

Start Drawing

Ctrl + 2

Increase Line, Cursor Size

Ctrl + Mouse Scroll Up or Arrow Key

Decrease Line, Cursor Size

Ctrl + Mouse Scroll Down or Arrow Key

Center The Cursor

Space Bar

Whiteboard

W

Blackboard

K

Red Pen

R

Green Pen

G

Blue Pen

B

Yellow Pen

Y

Orange Pen

O

Pink Pen

P

Draw a Straight Line

Hold Shift

Draw a Rectangle

Hold Ctrl

Draw an Ellipse

Hold Tab

Draw an Arrow

Hold Ctrl + Shift

Erase Last Drawing

Ctrl + Z

Erase All Drawings

E

Screenshot:

Copy Screenshot to Clipb.

Ctrl + C

Save Screenshot as PNG

Ctrl + S

Timer:

Show Countdown Timer

Ctrl + 3

Increase Time

Ctrl + Mouse Scroll Up or Arrow Key

Decrease Time

Ctrl + Mouse Scroll Down or Arrow Key

Minimize Timer

Alt + Tab

Show Timer When Minimized

Left-Click On The ZoomIt Icon

Live Zoom Mode:

Live Zoom Mode

Ctrl + 4

Exit

Esc or Right-Click

See also: https://sysinternals.com/downloads/zoomit for more information.

OPTIONS

-h

usage message.

Start ZoomIt.

-i

install the ZoomIt command to 'Startup' in the Windows Start Menu.

-u

uninstall the ZoomIt shortcut from 'Startup' in the Windows Start Menu.

-V

print program version.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage message displayed.

5

version message displayed.

FILES

etc/ZoomIt.cfg

configuration of ZoomIt. This file is maintained by the command.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), config(1m), zoomit.cfg(4), https://www.sysinternals.com/downloads/zoomit

NOTES

ZoomIt has been developed by Mark Russinovich.

Parts of the documentation has been extracted from the documentation on https://www.sysinternals.com/downloads/zoomit.

BUGS

-

AUTHOR

ZoomIt was developed by Mark Russinovich and integrated into WA2L/WinTools by Christian Walther. Send suggestions and bug reports regarding the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2021 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:33:27 GMT, September 14, 2024

SoftwareList

TOC Index

NAME

SoftwareList - list of additional recommended free application-software and tools

SYNOPSIS

SoftwareList

AVAILABILITY

WA2L/WinTools

DESCRIPTION

This is a list of additional free software and tools that I find useful but that is (mostly) not also bundled with WA2L/WinTools (http://sourceforge.net/projects/wa2l-wintools/).

*** IMPORTANT ***

You need to check for yourself if a particular software in this

list is still free.

Of course, you need to judge for yourself whether it is safe

for you to use any of the tools mentioned.

I prefer to install and use portable software also on the PC or notebook.

When migrating portable tools from an old machine to a new one or to a 2nd machine the "install" process is a simple file copy what saves a lot of time and hassle in comparison to installing everything newly from CD/DVD/Internet-Download and to go thru all setup procedures and re-apply all settings made during setup and while using the software.

Almost no software listed here needs administrator rights during installation or to run.

The software list is divided into fields of usage, as: DEVELOPMENT, SCIENCE, SYSTEMTOOLS, UTILITIES, PLAYERS, GRAPHICS, PDF UTILITIES, TEXTEDITORS, OFFICE, INTERNET, CONNECTIONS and INFORMATION MANAGERS.

START PORTABLE TOOLS PORTABLE

To start portable tools using command line and portable graphical start menus, you can install the portable WA2L/WinTools package from http://sourceforge.net/projects/wa2l-wintools/.

Use pstart(1) the portable start menu, qsel(1) the portable application launcher and hotkeyp(1) the hotkey manager to start portable tools identically wherever you use it.

To start all portable tools from the console(1m), the portable start menu pstart(1), the portable application launcher qsel(1), the hotkey manager hotkeyp(1) and from 'Desktop' icons by using the same application name in all tools, use the run(1) command.

Doing this you need only to change a single file (run.cfg) when a (portable) tool executable-name (*.exe) changes or a new version is installed into a new directory. The new version then will be started from all possibilities (Console, PStart, HotkeyP, Qsel, and the 'Desktop') without the need of additional changes.

To automatically save and later restore of 'Desktop' icons and it's locations, the desktopicon(1) command can be used.

DEVELOPMENT

Code::Blocks

The open source, cross platform, free C, C++ and Fortran IDE (http://www.codeblocks.org, http://www.codeblocks.org/downloads/binaries/).

Code::Blocks is a free C, C++ and Fortran IDE built to meet the most demanding needs of its users. It is designed to be very extensible and fully configurable.

Finally, an IDE with all the features you need, having a consistent look, feel and operation across platforms.

Built around a plugin framework, Code::Blocks can be extended with plugins. Any kind of functionality can be added by installing/coding a plugin. For instance, compiling and debugging functionality is already provided by plugins [74].

Download the MinGW-w64 GCC (GNU Compile Collection) compilers and utilities (gcc, g++, make...) from http://mingw-w64.org/, https://github.com/niXman/mingw-builds-binaries/releases to be used with Code::Blocks.

MinGW-w64 GCC for Windows 64 & 32 bits

by mingw-w64.org contributors (http://mingw-w64.org/, https://github.com/niXman/mingw-builds-binaries/releases).

Mingw-w64 is an advancement of the original mingw.org project, created to support the GCC compiler on Windows systems. It has forked it in 2007 in order to provide support for 64 bits and new APIs. It has since then gained widespread use and distribution.

The development and community are very active and welcoming with new contributors every month and simple installers [75].

Sublime Text

by Sublime HQ Pty Ltd, Woollahra, Sydney (http://www.sublimetext.com/, http://www.sublimetext.com/3 → portable version)

A sophisticated text editor for code, markup and prose [76].

A fast and easy to use language sensitive editor.

This editor can be used for example to edit the code before it is compiled using the MinGW-w64 GCC for Windows compiler when you don't want to spend the time to understand an IDE for c/c++, but get a fast start coding in an assisted way.

DB Browser for SQLite

Portable database browser for SQLite databases by sqlitebrowser development team (https://github.com/sqlitebrowser, https://portableapps.com/apps/development/sqlite_database_browser_portable/).

DB Browser for SQLite Portable (formerly SQLite Database Browser) is a visual tool used to create, design and edit database files compatible with SQLite [47].

HINT: some similar functionality is also provided in the WA2L/WinTools package with the sqlite-gui(1) command thru the 'Send To' context menu in 'Windows Explorer', therefore if you installed the WA2L/WinTools package you don't need to necessarily install the DB Browser for SQLite package separately.

ERD Concepts (Database Modeling)

by CodeXpressions, Polderij ICT (https://www.erdconcepts.com, https://www.erdconcepts.com/download.html).

ERD Concepts is a database designer and sql query tool for all major databases. Making a complete and visually attractive Entity Relationship Diagram (ERD) becomes a breeze, even for less experienced users. The software will guide you during your design efforts with easy to follow steps (https://www.erdconcepts.com/products.html).

Additionally, ERD Concepts will support your daily development tasks with SQL generation and providing detailed database insights.

ERD Concepts was a commercial product whose development is discontinued (06.06.2019) and now is provided for free under the MIT License [91].

HxD Hex Editor

Portable Hex editor for Windows by Mael Hoerz <support@mh-nexus.de> (https://mh-nexus.de/en/downloads.php?product=HxD20).

HxD is a carefully designed and fast hex editor which, additionally to raw disk editing and modifying of main memory (RAM), handles files of any size.

The easy to use interface offers features such as searching and replacing, exporting, checksums/digests, insertion of byte patterns, a file shredder, concatenation or splitting of files, statistics and much more.

Editing works like in a text editor with a focus on a simple and task-oriented operation, as such functions were streamlined to hide differences that are purely technical.

For example, drives and memory are presented similar to a file and are shown as a whole, in contrast to a sector/region-limited view that cuts off data which potentially belongs together. Drives and memory can be edited the same way as a regular file including support for undo. In addition memory-sections define a foldable region and inaccessible sections are hidden by default.

Furthermore a lot of effort was put into making operations fast and efficient, instead of forcing you to use specialized functions for technical reasons or arbitrarily limiting file sizes. This includes a responsive interface and progress indicators for lengthy operations [66].

HINT: HxD Hex Editor is bundled with WA2L/WinTools, if you installed the WA2L/WinTools package you don't need to install the HxD Hex Editor package separately.

Resource Hacker

Portable resource hacker for Windows by Agnus Johnson <awj1958@gmail.com> (http://www.angusj.com/resourcehacker/).

Resource Hacker™ has been designed to be the complete resource editing tool: compiling, viewing, de-compiling and recompiling resources for both 32bit and 64bit Windows executables. Resource Hacker™ can open any type of Windows executable (*.exe, *.dll, *.scr, *.mui etc) so that individual resources can be added modified or deleted within these files. Resource Hacker™ can create and compile resource script files (*.rc), and edit resource files (*.res) too [49].

SCIENCE

Gnuplot

by Thomas Williams, Colin Kelley and many others (http://www.gnuplot.info).

Gnuplot is a portable command-line driven graphing utility for Linux, OS/2, MS Windows, OSX, VMS, and many other platforms. It was originally created to allow scientists and students to visualize mathematical functions and data interactively, but has grown to support many non-interactive uses such as web scripting. It is also used as a plotting engine by third-party applications like Octave. Gnuplot has been supported and under active development since 1986 [1].

Octave

by John W. Eaton and others (http://www.octave.org).

Octave is a software featuring a high-level programming language, primarily intended for numerical computations. Octave helps in solving linear and nonlinear problems numerically, and for performing other numerical experiments using a language that is mostly compatible with Matlab and is one of the major free alternatives to it [2].

Overleaf

by Writelatex Limited (https://www.overleaf.com/).

Overleaf is an online LaTeX and Rich Text collaborative writing and publishing tool that makes the whole process of writing, editing and publishing scientific documents much quicker and easier [51].

What I like about Overleaf is, that you don't have to install LaTeX on your local machine, therefore you don't have to care about installing and updating the various LaTeX packages. The editing is done directly in the web browser and you also get an instant preview of your text. The whole work can be downloaded as *.zip file.

SYSTEMTOOLS

7-PDF

by 7-PDF (http://www.7-pdf.de/en/products/pdf-printer).

Free PDF Printer (as Community Edition only) that allows you to print or create PDF documents from any Windows application.

This program is FREEWARE with limitations, which means that there is a FREE COMMUNITY VERSION for personal and commercial use up to 10 installations [53].

HINT: 7-PDF needs administrator rights to install.

Stinger

by McAfee Inc. (http://vil.nai.com/vil/stinger/default.aspx).

McAfee Stinger is a standalone utility used to detect and remove specific viruses. It is not a substitute for full anti-virus protection, but a specialized tool to assist administrators and users when dealing with an infected system [4].

HINT: Stinger needs administrator rights to run.

UltraDefrag

by UltraDefrag Development Team (http://ultradefrag.sourceforge.net/en/index.html, http://ultradefrag.sourceforge.net/en/index.html?download).

UltraDefrag is an open source disk de-fragment utility for Windows. It can quickly de-fragment everything including files which are usually locked by Windows. For instance, UltraDefrag can re-join paging and hibernation files [3].

Previous of shrinking a hard-disk partition I recommend to run this software instead of the built in de-fragmenting program of Windows™ due to the fact that UltraDefrag can move all sectors out of the way and a reduction of the partition is finally successful. A handy feature is also to shut down the computer after a often time consuming de-fragmenting/optimization run.

HINT: UltraDefrag needs administrator rights to run.

WMI Explorer

by KS-Soft, Alexander Kozlov <support@ks-soft.net> (http://www.ks-soft.net).

WMI Explorer allows you to explore the full set of WMI management classes, objects and their properties, browse through objects and settings on remote machines and execute any WQL query and view the result set. WMI Explorer can be started as an independent application or it can be launched by HostMonitor [6].

UTILITIES

7-Zip

by Igor Pavlov (https://portableapps.com/apps/utilities/7-zip_portable).

7-Zip is an utility to work with compressed 7z, ZIP, GZIP, BZIP2, TAR, RAR files and more.

HINT: 7-Zip is bundled with WA2L/WinTools, if you installed the WA2L/WinTools package you don't need to install the 7-Zip package separately.

Compare It!

by Grig Software <support@grigsoftware.com> (http://www.grigsoft.com).

Compare It! makes your file compare and file merge tasks even easier! With multitude of new features you can quickly visually identify differences between files, merge them with single click, and print/publish your work without any problems [14].

HINT: Compare IT is bundled with WA2L/WinTools, if you installed the WA2L/WinTools package you don't need to install the Compare IT package separately.

Eraser

by Garrett Trant (http://heidi.ie/eraser/, https://portableapps.com/apps/security/eraser-portable).

Eraser is an advanced security tool for Windows™ which allows you to completely remove sensitive data from your hard drive by overwriting it several times with carefully selected patterns [12].

HINT: similar functionality (multiple overwriting of files before deleting it) is also provided in the WA2L/WinTools package with the dpwiper(1) command thru the 'Send To' context menu in 'Windows Explorer', therefore if you installed the WA2L/WinTools package you don't need to necessarily install the Eraser package separately.

ExamDiff

Visual file comparison tool by PrestoSoft LLC (http://www.prestosoft.com/examdiff/free/).

ExamDiff is a freeware Windows 95/98/Me/2000/XP/2003/Vista/7/2008 tool for visual file comparison. It is quick and very simple to use, and has a number of convenient features that many users have been asking for a long time from a file comparison tool [13].

HINT: similar functionality is also provided in the WA2L/WinTools package with the compareit(1) command. Therefore if you installed the WA2L/WinTools package you don't need to necessarily install the ExamDiff package separately.

OpenJDK Portable

by OpenLogic (https://www.openlogic.com/openjdk-downloads).

OpenLogic provides free, quarterly builds of OpenJDK 8, OpenJDK 11, and OpenJDK 17 for Linux, Windows, and MacOS.

When downloading the *.zip package of the JDK (Java Development Kit, to develop Java programs) or JRE (Java Runtime Environment, to run Java programs) you can carry the Java environment on your portable device [89].

It is possible to install multiple Java versions in parallel if certain applications require distinct Java versions

Recuva

Recover Deleted Files by Piriform Ltd. (https://www.piriform.com/recuva, http://www.piriform.com/recuva/download/portable).

Recuva can recover pictures, music, documents, videos, emails or any other file type you've lost. And it can recover from any rewriteable media you have: memory cards, external hard drives, USB sticks and more!

Unlike most file recovery tools, Recuva can recover files from damaged or newly formatted drives. Greater flexibility means greater chance of recovery [6].

HINT: Recuva needs administrator rights to run efficiently.

Synchronize IT

by Grig Software (http://www.grigsoft.com).

Do you have to synchronize data between home and office or desktop and notebook computers? With Synchronize It! you can easily see what have changed in your folders and transfer changes with single mouse click [17].

HINT: Synchronize IT is bundled with WA2L/WinTools, if you installed the WA2L/WinTools package you don't need to install the Synchronize IT package separately.

PLAYERS

Audacity

by Audacity Development Team (https://portableapps.com/apps/music_video/audacity_portable).

Audacity™ is free, open source, cross-platform audio software for multi-track recording and editing [26].

CamStudio

is able to record all screen and audio activity on your computer and create industry-standard AVI video files and using its built-in SWF Producer can turn those AVIs into lean, mean, bandwidth-friendly Streaming Flash videos (SWFs) [21].

Exact Audio Copy (EAC)

by Andre Wiethoff (http://www.exactaudiocopy.de/en/, http://www.exactaudiocopy.de/en/index.php/resources/download/).

Exact Audio Copy is a so called audio grabber for audio CDs using standard CD and DVD-ROM drives.

The main differences between EAC and most other audio grabbers are: It is free (for non-commercial purposes); it works with a technology, which reads audio CDs almost perfectly. If there are any errors that can't be corrected, it will tell you on which time position the (possible) distortion occurred, so you could easily control it with e.g. the media player

With other audio grabbers you usually need to listen to every grabbed wave because they only do jitter correction. Scratched CDs read on CD-ROM drives often produce distortions. But listening to every extracted audio track is a waste of time. Exact Audio Copy conquer these problems by making use of several technologies like multi-reading with verify and AccurateRip [55].

To convert files to the MP3 format using Exact Audio Copy you need to download LAME (https://github.com/Chocobo1/lame_win32-build/releases).

When executing EAC the first time, you then have to point to the lame.exe you downloaded during the execution of the 'Configuration Wizard...' in the EAC menu. CamStudio by RenderSoft and CamStudio Group (https://portableapps.com/apps/utilities/camstudio_portable).

Light Alloy

by the Vortex Team (http://light-alloy.verona.im/download/).

Light Alloy is a free, highly customizable multimedia player for Windows™. It was optimized to start as fast as possible and pre-tuned for minimum system resource usage.

Besides of his support for all popular multimedia formats, it also has its advanced features such as: fast video rewind, load subtitles, bookmarks in the list or timeline, preview window on the timeline; selection of audio tracks and subtitles in multilingual films, minimize to tray, infrared remote control; adjust the brightness/contrast/saturation of the image, supports multimedia keyboards and has full support for DVD/Blu-ray (except for BD menus) and MKV/OGM/MP4 formats; built-in video/audio codecs (although you can choose to use other system codecs and you can configure audio and video filters); custom codecs, full support for subtitles; WinLIRC support (remote control), configurable playback speed, aspect ratio alignment, make and save screenshots (including WebP/WebP-LL formats); independent video settings for each file (brightness, contrast, saturation, subtitle, volume) keep current playing position and resume later [70].

MusicBee

by Steven Mayall (https://getmusicbee.com/downloads/).

MusicBee makes it easy to manage, find, and play music files on your computer. MusicBee also supports podcasts, web radio stations and SoundCloud integration [69].

VideoPad Video Editor

by NCH Software (http://www.nchsoftware.com/videopad/index.html).

Designed to be intuitive, VideoPad is a fully featured video editor for creating professional quality videos in minutes. Drag and drop video clips for easy video editing. Apply effects and transitions, adjust video speed and more. One of the fastest video stream processors on the market.

The free video editor version is available for non-commercial use [25].

GRAPHICS

AutoStitch

by University of British Columbia, (http://matthewalunbrown.com/autostitch/autostitch.html).

The human visual system has a field of view of around 135 x 200 degrees, but a typical camera has a field of view of only 35 x 50 degrees. Panoramic image mosaicing works by taking lots of pictures from an ordinary camera, and stitching them together to form a composite image with a much larger field of view.

AutoStitch takes a step forward in panoramic image stitching by automatically recognizing matching images. This allows entire panoramas to be constructed with no user input whatsoever. AutoStitch is incredibly simple to use! Just select a set of photos, and AutoStitch does the rest: digital photos in, panoramas out [48].

draw.io

by JGraph Ltd (https://www.draw.io/).

draw.io is an open platform to create and share diagrams.

draw.io online (https://www.draw.io/) is a free-to-license web application for everyone. It is completely free to use for any purpose, there is no premium pay-for functionality, watermarking, or other limitations. You own the content you produce with draw.io and may use it for any purpose, including commercially

The desktop versions (https://about.draw.io/integrations/#integrations_offline) are the best option if you are not always online. Again, all versions are free and open source [68].

Fotografix

by L. Madhaven (https://portableapps.com/apps/graphics_pictures/fotografix_portable).

Fotografix is a lightweight image editor with support for many common features as well as a few advanced ones [29].

Gimp

by 'The GIMP Team' (https://portableapps.com/apps/graphics_pictures/gimp_portable).

The GIMP (GNU Image Manipulation Program) is a freely distributed program for such tasks as photo retouching, image composition and image authoring. It has many capabilities. It can be used as a simple paint program, an expert quality photo retouching program, an online batch processing system, a mass production image renderer, an image format converter and more [46].

Greenfish Icon Editor

by Balazs Szalkai (https://portableapps.com/apps/graphics_pictures/greenfish-icon-editor-pro-portable).

Greenfish Ico Editor is a powerful icon, cursor, animation and icon library editor. Layer support with advanced selection handling makes it a really professional and unique freeware tool for designing small pixel graphic images. GFIE offers high-quality filters like Bevel, Drop Shadow and Glow; supports editing animated cursors and managing icon libraries. It's lightweight, with a clean, customizable, multi-language user interface making it really easy to learn and use [28].

Inkscape

by inkscape.org (https://portableapps.com/apps/graphics_pictures/inkscape_portable).

Inkscape is an Open Source vector graphics editor, with capabilities similar to Adobe Illustrator, CorelDraw, or Xara X, using the W3C standard Scalable Vector Graphics (SVG) file format.

Inkscape supports many advanced SVG features (markers, clones, alpha blending, etc.) and great care is taken in designing a streamlined interface. It is very easy to edit nodes, perform complex path operations, trace bitmaps and much more. We also aim to maintain a thriving user and developer community by using open, community-oriented development [31].

JPEG View

by David Kleiner (https://portableapps.com/apps/graphics_pictures/jpegview_portable).

JPEG View is a lean, fast and highly configurable viewer for JPEG, BMP, PNG, WEBP, TGA, GIF and TIFF images with a minimal GUI. Basic on-the-fly image processing is provided - allowing adjusting typical parameters as sharpness, color balance, rotation, perspective, contrast and local under-/overexposure [30].

HINT: JPEG View is bundled with WA2L/WinTools, if you installed the WA2L/WinTools package you don't need to install the JPEG View package separately.

Verkleinerer

by Christian Gleinser (http://verkleinerer.drwuro.com/).

Jeder, der eine Digitalkamera hat, kennt das Problem: Man kopiert seine Bilder auf die Festplatte und will ein paar davon gerne einem Freund mailen. Leider haben die Bilder eine Groesse von 2560x2048 oder aehnlich, dabei wuerden 640x480 oder 320x240 für die eMail vollkommen ausreichen.

Um nun nicht alle Bilder einzeln verkleinern zu muessen, gibt es dieses Tool. Man startet es, sucht einfach den Ordner aus, gibt die Endgroesse an (wahlweise in Pixeln oder in Prozent), klickt auf Start, und lehnt sich zurueck. Und wenige Augenblicke spaeter befinden sich in einem Unterordner alle Bilder in der neuen Groesse. Selbstverstaendlich lassen sich die Bilder auf die gleiche Weise auch vergroessern [23].

XMind

by XMind Ltd. (https://xmind.app/download/xmind8/).

XMind 8 Update 9 is a free and easy to use mind mapping software with many features.

PDF UTILITIES

PDF Metadata Edit

by Zaro (https://github.com/zaro/pdf-metadata-editor/, https://github.com/zaro/pdf-metadata-editor/zipball/master).

Edit meta data of PDF files. Doing this, your PDF file information is displayed correctly also in eBook readers.

PDF Scissors

by Abdullah Al Mazed (Gagan) (https://sites.google.com/site/pdfscissors/).

In short, It's a tool to crop PDFs. Objective to create this, was to read PDF files (specially the scanned ones) easily in eBook readers, like Kindle [24].

PDFTK Builder

by Angus Johnson (https://portableapps.com/apps/office/pdftk_builder_portable).

With the PDFTK Builder utility you can split PDF files, rotate pages of a PDF document, rearrange pages and concatenate PDF files.

HINT: similar functionality (select pages, rotate pages, concatenate PDF files) is also provided in the WA2L/WinTools package thru the 'Send To' context menu in 'Windows Explorer' by the pdfrotate (1) and pdfconcatenate (1) commands.

PDFTK Builder is bundled with WA2L/WinTools, if you installed the WA2L/WinTools package you don't need to install the PDFTK Builder package separately.

PDF-XChange Viewer

by Tracker Software Products Ltd. (https://portableapps.com/apps/office/pdf-xchange-portable).

PDF-XChange Viewer is a fast PDF viewer which allows also some editing of the PDF document. A great feature is also to search for text within multiple PDF documents residing in folders.

SumatraPDF

by Krzysztof Kowalczyk (https://portableapps.com/apps/office/sumatra_pdf_portable).

Sumatra PDF is a free PDF, eBook (ePub, Mobi), XPS, DjVu, CHM, Comic Book (CBZ and CBR) reader for Windows. Sumatra PDF is powerful, small, portable and starts up very fast. Simplicity of the user interface has a high priority [6].

HINT: Sumatra PDF is bundled with WA2L/WinTools, if you installed the WA2L/WinTools package you don't need to install the Sumatra PDF package separately.

TEXTEDITORS

Calibre

by Kovid Goyal (https://calibre-ebook.com/download_portable).

Calibre is a powerful and easy to use e-book manager. Users say it's outstanding and a must-have. It'll allow you to do nearly everything and it takes things a step beyond normal e-book software.

It's also completely free and open source and great for both casual users and computer experts [56].

Q10

by Baara Estudio (http://www.baara.com/q10/).

Q10 is a distraction-free editor employing minimalist presentation (GUI) and lightweight system requirements to provide a clutter-free but feature-capable work environment [42].

HINT: Q10 is bundled with WA2L/WinTools, if you installed the WA2L/WinTools package you don't need to install the Q10 package separately.

OFFICE

LibreOffice

by libreoffice.org (https://portableapps.com/apps/office/libreoffice_portable).

LibreOffice is a free and open source office suite, a project of The Document Foundation. It was forked from OpenOffice.org in 2010, which was an open-sourced version of the earlier StarOffice. The LibreOffice suite comprises programs for word processing, the creation and editing of spreadsheets, slide-shows, diagrams and drawings, working with databases, and composing mathematical formulae [44].

WPS Office

by Kingsoft Software (http://www.kingsoftstore.com/download-office/index, http://www.kingsoftstore.com/software/kingsoft-office-freeware).

WPS Office (an acronym for Writer, Presentation and Spreadsheets, previously known as Kingsoft Office) is an office suite for Microsoft Windows™, Linux, iOS and Android OS, developed by Zhuhai-based Chinese software developer Kingsoft. WPS Office is a suite of software which is made up of three primary components: WPS Writer, WPS Presentation, and WPS Spreadsheet [43].

INTERNET

Opera

by Opera Norway (https://portableapps.com/apps/internet/opera_portable).

Opera is a fast and free browser with advanced bookmarking, search, and personalizing options. [71].

FireFox

by Mozilla Foundation (https://portableapps.com/apps/internet/firefox_portable).

Mozilla Firefox is a fast, full-featured web browser that's easy to use. It has lots of great features including pop-up-blocking, tabbed-browsing, integrated search, improved privacy features, automatic updating and more [40].

Browser Add-Ons

Add-Ons are small programs that add functionality to the web browser.

To add an Add-On to the web browser double click the provided link below and press the [ + Add to <Web-Browser> ] → Add button provided on the opened Add-Ons web page.

The following Add-Ons turned out to be quite useful on a long term view:

Adguard AdBlocker

by Adguard Software Ltd.

Firefox: https://addons.mozilla.org/en-US/firefox/addon/adguard-adblocker/

Opera:   https://addons.opera.com/en/extensions/details/adguard/

Unmatched adblock extension against advertising and pop-ups. Blocks ads on Facebook, Youtube and all other websites.

AdGuard ad blocker effectively blocks all types of advertising on all web pages, even on Facebook, YouTube, and others [58].

Close to the Right

by asukaze / sijera

Firefox: https://addons.mozilla.org/en-US/firefox/addon/close-right-tabs-button/ (asukaze)

Opera:   https://addons.opera.com/de/extensions/details/close-to-the-right/ (sijera)

Close tabs right of the current tab. Opera has the feature built-in, this extension is for those who prefer one-click solution [86].

I don't care about cookies

by Kiko

Firefox: https://addons.mozilla.org/en-US/firefox/addon/i-dont-care-about-cookies/

Opera:   https://addons.opera.com/en/extensions/details/i-dont-care-about-cookies/

Get rid of annoying cookie warnings from almost all 'infected' websites!

The EU regulations require that any website using cookies must get user's permission before installing them. These warnings appear on most websites until the visitor agrees with the website's terms and conditions. Imagine how irritating that becomes when you surf anonymously or if you delete cookies automatically every time you close the browser.

This add-on will remove these annoying cookie warnings from almost all websites! You can report any website which still warns you about cookies: make a right click and choose 'Report a cookie warning' from the menu [67].

JSON Lite

by lauri-rooden

Firefox: 'Json viewer' is browser integrated

Opera:   https://addons.opera.com/de/extensions/details/json-lite/

Features: Format JSON and JSONP responses, Select and format JSON on every page, Collapsible arrays, objects and long values, Collapse all childs with Ctrl(Command) + Click, Collapse property also on all sibling items with Alt(Option) + Click, Count items and properties in a collection, Show collection sizes, Do its best to show large (10MB+) JSON files, Do its best to show invalid JSON files, Do not sort objects with numeric keys, Do not round large numbers, "Save as..." saves the original JSON document, Select and copy a working JSON from the formatted JSON [82].

View Page Source

by Carlos Jeurissen

Firefox: https://addons.mozilla.org/en-US/firefox/addon/view-source-code/

Opera:   https://addons.opera.com/de/extensions/details/view-page-source/

Easily view the page source with the click of a button.

This also enables to easily view the source of pages that use the context menu for other purposes then the browser-own popup menu that often provides the 'View Page source' menu point. This without the need to manually prepend 'view-source:' to the URL [90].

Meta tags - SEO Tool

by Abhishek Jain

Firefox: 'Meta view' is browser integrated (use: Tools → Page Info)

Opera:   https://chrome.google.com/webstore/detail/meta-tags-seo-tool/miihmfdpfdioogfbfofbnagblnjbjomg

This extension will list all the meta tags in a webpage.

It makes all meta tags within your reach in a single click. This will help you by listing all the meta tags used within a webpage. Click the extension icon to see what meta tags has been set in the page [84].

Print to PDF

by moris

Firefox: https://addons.mozilla.org/en-US/firefox/addon/print-to-pdf-document/

Opera:   'Save as PDF' is browser integrated

Easily print any page to PDF with just one click!

Print to PDF is a simple addon that help you print a desired website to a PDF document with just one click.

Simply add this extension to your browser and then click on the print button in the toolbar. A "save-as" dialog box will appear to guide you through the print procedure. This addon also adds a - Print to PDF - item to the mouse right-click (context-menu). Therefore, clicking on either the toolbar button or context-menu item will print the active tab's content to a PDF document [57].

Video DownloadHelper

by mig

Firefox: https://addons.mozilla.org/en-US/firefox/addon/video-downloadhelper/

Opera:   https://chrome.google.com/webstore/detail/video-downloadhelper/lmjnegcaeklhafolokijcfjliaokphfk

The easy way to download and convert Web videos from hundreds of YouTube-like sites.

Video DownloadHelper is the most complete tool to extract videos and image files from Web sites and save them to your hard drive. Just surf the Web as you are used to, when DownloadHelper detects it can do something for you, the toolbar icon highlights and a menu allows you to download files by simply clicking an item.

For instance, if you go to a YouTube page, you'll be able to download the video directly on your file system. It also works with most video sites like DailyMotion, Facebook, Periscope, Vimeo, Twitch, Liveleak, Vine, UStream, Fox, Bloomberg, RAI, France 2-3, Break, Metacafe and thousands others [60].

The Opera extension from the Google Chrome Web Store does not provide the functionality to download videos from YouTube. Use the YouTube Video Downloader extension to do so.

YouTube Video Downloader

by Addoncrop

Firefox: use: Video DownloadHelper

Opera:   https://addoncrop.com/youtube-video-downloader-6/

The Addoncrop YouTube downloader is a specially designed tool that fulfills the downloading requirements of the billions of YouTube users worldwide in all possible aspects. The core quality of the extension is that it will never redirect you to any third party websites [85].

X-notifier (for Gmail,Hotmail,Yahoo,AOL ...)

by Byungwook Kang

Firefox: https://addons.mozilla.org/en-US/firefox/addon/xnotifier/

Opera:   https://chrome.google.com/webstore/detail/x-notifier-for-gmailhotma/cdfjbkbddpfnoplfhceolpopfoepleco

Notifier for gmail, yahoo, hotmail, aol and more webmails. X-notifier (aka WebMail Notifier) checks your webmail accounts and notifies the number of unread emails... Supports : gmail, yahoo, hotmail, POP3/IMAP, facebook, twitter and more [61].

Proxy SwitchyOmega

by FelisCatus

Firefox: https://addons.mozilla.org/en-US/firefox/addon/switchyomega/

Opera:   https://chrome.google.com/webstore/detail/proxy-switchyomega/padekgcemlokbadohgkifijomclgjgif

Manage and switch between multiple proxies quickly & easily.

Changing proxy settings has never been so convenient. Think SwitchyOmega as a modern version of the "Proxy Settings" dialog, designed to be simpler, quicker and more powerful, specially optimized for your browser.

No more digging through the advanced section in browser settings. No repeated filling and clearing the proxy config dialog of your operating system. Just tell SwitchyOmega about all your proxies, and enjoy switching with one click on the popup menu. You can also teach Auto Switch to use the right proxy for the right website automatically [78].

Custom UserAgent String

by linderdorothy

Firefox: https://addons.mozilla.org/en-US/firefox/addon/custom-user-agent-revived/

Opera:   https://addons.opera.com/de/extensions/details/custom-useragent-string/

Custom UserAgent String is an add-on that enables you to easily change your browsers user-agent by adding site-specific user-agent strings from the Options page [80].

Remove German Gender Language

by Motsi Weech

Firefox: https://addons.mozilla.org/en-US/firefox/addon/remove-german-gender-language/

Opera:   https://addons.opera.com/de/extensions/details/remove-german-gender-language/

Diese Erweiterung fuer Opera entfernt deutsche 'Gender-Sprache' aus Webseiten. Viele Spezialfaelle werden beruecksichtigt. Dadurch werden deutschsprachige Webseiten besser lesbar dargestellt [88].

Opera Dictionaries

Dictionaries in FireFox help while entering text into web forms (as when writing E-Mails in a Web-Mail) in a certain language. Wrong spelled words are underlined red. The active spell schecking language is defined thru the context menu when doing a right click on a text field.

Language

by Opera Browser

Spell checking languages in Opera are browser integrated but need to be activated and configured to your liking in:

Settings → Features → Preferred languages

and

Settings → Features → Spell check

FireFox Dictionaries

Dictionaries in FireFox help while entering text into web forms (as when writing E-Mails in a Web-Mail) in a certain language. Wrong spelled words are underlined red. The active spell schecking language is defined thru the context menu when doing a right click on a text field.

German dictionary (de_CH)

by Bjoern Jacke (https://addons.mozilla.org/en-US/firefox/addon/german-dictionary-de_ch-for-sp/).

German dictionary igerman98 (de_CH, Switzerland), for Firefox, Thunderbird und Seamonkey.

Dies ist das fuer Firefox 3, Thunderbird 3, Seamonkey 2 und neuere Versionen optimierte Rechtschreib-Wörterbuch fuer Schweizer Deutsch (de-CH, Schweiz, "neue" Rechtschreibnung). Es ist die Hunspell-Version des igerman98-Woerterbuchs. Hunspell-Woerterbücher sind nicht kompatibel mit Myspell, weshalb dieses Woerterbuch ausschliesslich mit den neueren Mozilla-Versionen funktioniert [64].

Spanish (Venezuela) spell check dictionary

by Christian Gonzalez (https://addons.mozilla.org/en-US/firefox/addon/diccionario-espa%C3%B1ol-venezuela/).

Diccionario en espanol para Venezuela: Corrector Ortografico (Spell Checker); Tesauro de Sinonimos (Thesaurus); Separacion Silabica (Hyphenation).

Hecho en Venezuela [63].

United States English Spellchecker

by jooliaan (https://addons.mozilla.org/en-US/firefox/addon/united-states-english-spellche/).

United States English Spellchecker for Firefox, Thunderbird and SeaMonkey by Kevin Atkinson and Geoff Kuenning [65].

Thunderbird

by Mozilla Foundation (https://portableapps.com/apps/internet/thunderbird_portable).

Mozilla Thunderbird is the safe, fast email client that's easy to use. It has lots of great features including quick message search, customizable views, support for IMAP/POP, RSS support and more. Plus, the portable version leaves no personal information behind on the machine you run it on, so you can take your email and address book with you wherever you go [39].

CONNECTIONS

FileZilla

by Tim Kosse (https://portableapps.com/apps/internet/filezilla_portable).

FileZilla is a fast and reliable cross-platform FTP, FTPS and SFTP client with lots of useful features and an intuitive graphical user interface [37].

HINT: similar functionality is also provided in the WA2L/WinTools package with the winscp(1) command. Therefore if you installed the WA2L/WinTools package you don't need to necessarily install the FileZilla package separately.

MobaXterm Personal Edition

by Mobatek (http://mobaxterm.mobatek.net, http://mobaxterm.mobatek.net/download-home-edition.html).

Free X server for Windows with tabbed SSH terminal, telnet, RDP, VNC, Xdmcp, Mosh and X11-forwarding [35].

OpenSSH Server

by PowerShell Team (https://github.com/PowerShell/Win32-OpenSSH/releases).

OpenSSH server port for Windows.

See installation instructions on https://winscp.net/eng/docs/guide_windows_openssh_server .

PuTTY

by Simon Tatham (https://portableapps.com/apps/internet/putty_portable).

PuTTY is a telnet and SSH client so you can connect to remote computers and servers [34].

HINT: PuTTY is bundled with WA2L/WinTools, if you installed the WA2L/WinTools package you don't need to install the PuTTY package separately.

TeamViewer

by TeamViewer (https://dl-cdn.teamviewer.com/download/version_12x/TeamViewerPortable.zip, https://portableapps.com/apps/utilities/teamviewer_portable).

TeamViewer is a remote PC support/control and screen-sharing tool. You can remote control a partner's desktop to give online assistance, or you can show your screen to a customer without worrying about firewalls, IP addresses and NAT [33].

HINT: identical functionality is also provided in the WA2L/WinTools package with the anydesk(1) command. Therefore if you installed the WA2L/WinTools package you don't need to necessarily install the TeamViewer package separately.

WinSCP

by Martion Prikryl (https://portableapps.com/apps/internet/winscp_portable).

WinSCP is a free SFTP and FTP client for Windows, and a multi-functional tool that improves your productivity. WinSCP copies files between and remote computers using multiple protocols: FTP, FTPS, SCP, SFTP, or WebDAV [36].

HINT: WinSCP is bundled with WA2L/WinTools, if you installed the WA2L/WinTools package you don't need to install the WinSCP package separately.

INFORMATION MANAGERS

KeePass

by Dominik Reichl (https://portableapps.com/apps/utilities/keepass_portable).

KeePass Portable is the popular KeePass Password Safe packaged as a portable app, so you can securely carry your email, internet and other passwords with you. You can place it on your USB flash drive, iPod, portable hard drive or a CD and use it on any computer, without leaving any personal information behind [11].

An advantage of KeePass is, that it is also available on Android an iOS devices, which allows you to use the same password file on all devices.

HINT: KeePass is bundled with WA2L/WinTools, if you installed the WA2L/WinTools package you don't need to install the KeePass package separately.

Zim Desktop Wiki

by Jaap Karssenberg <jaap.karssenberg@gmail.com> (http://www.zim-wiki.org/, http://www.glump.net/software/zim-windows).

Zim Desktop Wiki is a graphical text editor used to maintain a collection of local wiki pages. Each page can contain links to other pages, simple formatting and images. Pages are stored in a folder structure, like in an outliner, and can have attachments. Creating a new page is as easy as linking to a nonexistent page. All data is stored in plain text files with wiki formatting. Various plugins provide additional functionality, like a task list manager, an equation editor, a tray icon, and support for version control [10].

HINT: similar functionality is also provided in the WA2L/WinTools package with the keynote(1) command. Therefore if you installed the WA2L/WinTools package you don't need to necessarily install the Zim Desktop Wiki package separately.

OPTIONS

-

ENVIRONMENT

-

EXIT STATUS

-

FILES

-

EXAMPLES

-

SEE ALSO

wintoolsintro(1), wintools(1), 7-zip(1), anydesk(1), console(1m), compareit(1), dpwiper(1), hotkeyp(1) jpegview(1), keepass(1), keynote(1), pdfconcatenate(1), pdfrotate(1), pstart(1), putty(1), q10(1), qsel(1), run(1), shortcuts(1), sqlite-gui(1), sumatrapdf(1), synchronizeit(1), winscp(1), http://wa2l-edrc.sourceforge.net/, http://wa2l-simplebackup.sourceforge.net/, http://wa2l-wintools.sourceforge.net/

NOTES

You need to check for yourself if a particular software in this list is still free.

Some parts of this manual page are based on texts written by other individuals or organizations, this are the references to those sources:

[1]

Gnuplot, Home Page, 17.06.2017, URL: http://www.gnuplot.info

[2]

Octave Wikipedia Page, Introduction, 17.06.2017, URL: https://en.wikipedia.org/wiki/GNU_Octave

[3]

Ultradefrag, Home, 17.06.2017, URL: http://ultradefrag.sourceforge.net/en/index.html

[4]

Stinger, Introduction, 17.06.2017, URL: https://www.mcafee.com/de/downloads/free-tools/stinger.aspx

[6]

WMI Explorer, Introduction, 17.06.2017, URL: https://www.ks-soft.net/hostmon.eng/wmi/

[8]

Sumatra PDF, What is Sumatra PDF?, 17.06.2017, URL: https://www.sumatrapdfreader.org/free-pdf-reader.html

[10]

Zim Desktop Wiki, Home, 17.06.2017, URL: http://zim-wiki.org/

[11]

KeePass, Download Page, 17.06.2017, URL: https://portableapps.com/apps/utilities/keepass_portable

[12]

Eraser, Home Page, 18.06.2017, URL: https://eraser.heidi.ie/

[13]

ExamDiff, What is ExamDiff?, 18.06.2017, URL: http://www.prestosoft.com/edp_examdiff.asp

[14]

Compare It!, Home Page, 18.06.2017, URL: http://www.grigsoft.com/wincmp3.htm

[17]

Synchronize IT!, Home Page, 18.06.2017, URL: http://www.grigsoft.com/wndsync.htm

[21]

CamStudio, What is it?, 18.06.2017, URL: http://camstudio.org/

[22]

Der grandiose Bildverkleinerer, Home Page, 18.06.2017, URL: http://verkleinerer.drwuro.com/

[24]

PDF Scissors, What is PDF Scissors, 18.06.2017, URL: https://sites.google.com/site/pdfscissors/

[25]

VideoPad Video Editor, Introduction, 18.06.2017, URL: http://www.nchsoftware.com/videopad/index.html

[26]

Audacity, Welcome to Audacity, 18.06.2017, URL: http://www.audacityteam.org/

[28]

Greenfish Ico Editor, Features, 18.06.2017, URL: https://portableapps.com/apps/graphics_pictures/greenfish-icon-editor-pro-portable

[29]

Fotografix, Lightweight image editor, 18.06.2017, URL: https://portableapps.com/apps/graphics_pictures/fotografix_portable

[30]

JPEGView, Description, 18.06.2017, URL: https://sourceforge.net/projects/jpegview/

[31]

Inkscape, Description, 18.06.2017, URL: https://portableapps.com/apps/graphics_pictures/inkscape_portable

[33]

TeamViewer Portable, Remote PC support and screen sharing, 18.06.2017, URL: https://portableapps.com/apps/utilities/teamviewer_portable

[34]

PuTTY Portable, portable telnet and SSH, 18.06.2017, URL: https://portableapps.com/apps/internet/putty_portable

[35]

MobaXterm, Home Page, 18.06.2017, URL: http://mobaxterm.mobatek.net

[36]

WinSCP, Description, 18.06.2017, URL: https://sourceforge.net/projects/winscp/

[37]

FileZilla Features, Overview, 18.06.2017, URL: https://filezilla-project.org/client_features.php

[39]

Mozilla Thunderbird Portable, Features, 18.06.2017, URL: https://portableapps.com/apps/internet/thunderbird_portable

[40]

Mozilla Firefox Portable, Features, 18.06.2017, URL: https://portableapps.com/apps/internet/firefox_portable

[42]

Q10 (text editor), Introduction, 18.06.2017, URL: https://en.wikipedia.org/wiki/Q10_(text_editor)

[43]

WPS Office, Introduction, 18.06.2017, URL: https://en.wikipedia.org/wiki/WPS_Office

[44]

LibreOffice, Introduction, 18.06.2017, URL: https://en.wikipedia.org/wiki/LibreOffice

[46]

Gimp, Features, 21.06.2017, URL: https://portableapps.com/apps/graphics_pictures/gimp_portable

[47]

DB Browser for SQLite Portable, Introduction, 10.07.2017, URL: https://portableapps.com/apps/development/sqlite_database_browser_portable/

[48]

AutoStitch, Home page, 10.07.2017, URL: http://matthewalunbrown.com/autostitch/autostitch.html

[49]

Resource Hacker, Overview, 15.07.2017, URL: http://www.angusj.com/resourcehacker/

[51]

Overleaf, Home page, 26.07.2017, URL: https://www.overleaf.com/

[53]

PDF Printer, Description, 15.08.2017, URL: http://www.7-pdf.de/en/products/pdf-printer

[55]

Exact Audio Copy, Home Page, 10.05.2018, URL: http://www.exactaudiocopy.de/en/

[56]

Calibre, About calibre, 20.05.2018, URL: https://calibre-ebook.com/about

[57]

Firefox Add-ons, About this extension, 20.05.2018, URL: https://addons.mozilla.org/en-US/firefox/addon/print-to-pdf-document/

[58]

Firefox Add-ons, About this extension, 20.05.2018, URL: https://addons.mozilla.org/en-US/firefox/addon/adguard-adblocker/

[60]

Firefox Add-ons, About this extension, 20.05.2018, URL: https://addons.mozilla.org/en-US/firefox/addon/video-downloadhelper/

[61]

Firefox Add-ons, About this extension, 20.05.2018, URL: https://addons.mozilla.org/en-US/firefox/addon/xnotifier/

[63]

Firefox Add-ons, About this extension, 20.05.2018, URL: https://addons.mozilla.org/en-US/firefox/addon/diccionario-espa%C3%B1ol-venezuela/

[64]

Firefox Add-ons, About this extension, 20.05.2018, URL: https://addons.mozilla.org/en-US/firefox/addon/german-dictionary-de_ch-for-sp/

[65]

Firefox Add-ons, About this extension, 20.05.2018, URL: https://addons.mozilla.org/en-US/firefox/addon/united-states-english-spellche/

[66]

HxD - Freeware Hex Editor and Disk Editor, Home Page, 17.06.2018, URL: https://mh-nexus.de/en/hxd/

[67]

Firefox Add-ons, About this extension, 23.06.2018, URL: https://addons.mozilla.org/en-US/firefox/addon/i-dont-care-about-cookies/

[68]

draw.io, Home Page, 25.08.2018, URL: https://www.draw.io/pricing, https://about.draw.io/integrations/#integrations_offline

[69]

MusicBee, Home Page, 16.02.2019, URL: https://getmusicbee.com/

[70]

Fosshub, Light Alloy Home Page, 16.02.2019, URL: https://www.fosshub.com/Light-Alloy.html

[71]

Opera Portable, Portable Edition, 17.10.2019, URL: https://portableapps.com/apps/internet/opera_portable

[74]

Code::Blocks, Home Page, 30.11.2019, URL: http://www.codeblocks.org/

[75]

MinGW-w64, Home Page, 06.03.2020, URL: http://mingw-w64.org/, https://github.com/niXman/mingw-builds-binaries/releases.

[76]

Sublime, Home Page, 09.05.2020, URL: http://www.sublimetext.com/.

[78]

Proxy SwitchyOmega, Home Page, 30.05.2021, URL: https://chrome.google.com/webstore/detail/proxy-switchyomega/padekgcemlokbadohgkifijomclgjgif

[80]

Custom UserAgent String, Home Page, 18.06.2021, URL: https://addons.opera.com/de/extensions/details/custom-useragent-string/

[82]

JSON Lite, Home Page, 05.12.2021 URL: https://addons.opera.com/de/extensions/details/json-lite/

[84]

Meta tags - SEO Tool, Home Page, 12.12.2021, URL: https://chrome.google.com/webstore/detail/meta-tags-seo-tool/miihmfdpfdioogfbfofbnagblnjbjomg

[85]

YouTube Video Downloader, Home Page, 30.01.2022, URL: https://addoncrop.com/youtube-video-downloader-6/?id=8217720

[86]

Close to the Right, Home Page, 06.02.2022, URL: https://addons.opera.com/de/extensions/details/close-to-the-right/

[88]

Remove German Gender Language, Home Page, 08.02.2024, URL: https://addons.opera.com/de/extensions/details/remove-german-gender-language/

[89]

OpenJDK Portable, Home Page, 08.02.2024, URL: https://www.openlogic.com/openjdk-downloads

[90]

View Page Source, Home Page, 14.09.2024, URL: https://addons.opera.com/de/extensions/details/view-page-source/

[91]

ERD Concepts, Home Page, 14.09.2024, URL: https://www.erdconcepts.com/

BUGS

-

AUTHOR

softwarelist was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2024 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION START PORTABLE TOOLS PORTABLE DEVELOPMENT SCIENCE SYSTEMTOOLS UTILITIES PLAYERS GRAPHICS PDF UTILITIES TEXTEDITORS OFFICE INTERNET CONNECTIONS INFORMATION MANAGERS OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 13:55:05 GMT, October 29, 2024

CompareIt

TOC Index

NAME

CompareIt - synchronize folders

SYNOPSIS

WA2LWinTools/bin/CompareIt [ -h | -i | -u | -V ]

CompareIt [ options ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

CompareIt is a full-featured visual file comparison and merging tool that allows you to compare and work with different versions of the same text file.

A color-coded side-by-side comparison makes it easy to understand the differences between two files at a glance.

See https://grigsoft.com/wincmp3.htm and compareit.Help(1) in the HTML documentation for more information.

OPTIONS

-h

usage message.

-i

install the CompareIt command to the 'Send To' context menu in 'Windows™ Explorer'.

-u

uninstall the CompareIt command from the 'Send To' context menu of 'Windows™ Explorer'.

-V

print program version.

options

more CompareIt options. See compareit.Help(1) for more information.

ENVIRONMENT

-

EXIT STATUS

0

always.

4

usage displayed.

5

version message displayed.

FILES

etc/CompareIt.cfg

configuration file for the command maintained by CompareIt.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), compareit.chm(1), compareit.Help(1), https://grigsoft.com/wincmp3.htm

NOTES

CompareIt was developed by grigsoft.com.

Parts of this manpage were extracted from the documentation of CompareIt written by grigsoft.com and modified to fit to the WA2L/WinTools package. See: https://grigsoft.com/wincmp3.htm for more information.

BUGS

-

AUTHOR

CompareIt was developed by Grig Software <https://grigsoft.com/wincmp3.htm> as the wincmp3.exe command and integrated as CompareIt.exe into WA2L/WinTools by Christian Walther. Send suggestions and bug reports regarding the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2021 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:31:53 GMT, September 14, 2024

Q10

TOC Index

NAME

Q10 - fast and distraction-free text editor

SYNOPSIS

WA2LWinTools/bin/Q10 [ -h | -i | -u | -V ]

Q10 [ file ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

Q10 is a distraction-free editor employing minimalist presentation (GUI) and lightweight system requirements to provide a clutter-free but feature-capable work environment.

See: http://www.baara.com/q10/ for more information.

Key features:

Full-screen.

Focus on your work. Even if Mark Pilgrim doesn't like full-screen editors, some of us do.

Live text statistics.

Word, page and character counts are updated live as you type.

Programmable page count formula.

Specify what formula to use for page count calculation. You're not constrained to the 250 words per page rule anymore.

Customizable look and paragraph format.

Change the colors, line spacing, first line indent, paragraph spacing, font...

Perfectly portable.

A single self-contained executable file. That's all. Easy to use with a pen-drive, so you can carry your writing environment with you everywhere. Q10 will remember the last file you worked on, even if the drive letter assigned to your pen-drive changes from computer to computer.

Easy to use timer alarm.

Perfect for timed writing sessions and word wars. When the time is over, it will tell you how many words you wrote in that period.

Notes.

Any paragraph starting with ".." is considered a note. You can get a list of all notes in the current document and jump instantly to any of them.

Target count.

Displays completed percentage. You can choose units: words, pages, lines, paragraphs or characters. If NaNoWriMo is your thing, this is for you.

Partial counts.

Keep track of the extension of current chapter or see how much content you've produced in the current writing session. You're free to use partial counts as you like: up to four counters with customizable labels and units: words, pages, lines, paragraphs or characters.

Autocorrections and quick text.

Unlimited autocorrection entries to fix on the fly those persistent typing errors. Unlimited quick texts list for frequently used words or phrases, like character names, places, etc.

Standard and clean text format.

You will be able to open your work with any text editor or word processor. Now and in the future.

Encoding and line endings agnostic.

Reads and writes ANSI and UTF-8 texts, and line endings formats are not a problem for Q10.

Typing sound effects.

Get that typewriter feeling again. For the trivia lovers among you, the typing sounds were taken from the movie "Amelie".

Small, fast and stable.

Less than 360Kb in size, you don't need huge frameworks or runtimes to use this beauty.

Autosaving.

You can ask Q10 to save your work after some number of new paragraphs, or after some time has elapsed. If you're really paranoid, set Q10 to save every paragraph.

Free.

Q10 is, and will be, freeware. Period.

OPTIONS

file

file to edit.

-h

usage message.

-i

install the Q10 command on the Windows™ 'Desktop'.

-u

uninstall the Q10 command from the Windows™ 'Desktop'.

-V

print program version.

ENVIRONMENT

-

EXIT STATUS

0

always.

FILES

etc/Q10.cfg

configuration file of Q10. This file is updated when settings in the Q10 application are changed and saved.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), http://www.baara.com/q10/

NOTES

This manpage is a partial extract of the project home page http://www.baara.com/q10/ which has been written by Joaquin Bernal <q10@baara.com>. See the mentioned web page to view the complete Q10 description.

BUGS

The version of Q10 that is integrated into WA2L/WinTools is the one without spell-checking.

AUTHOR

Q10 was developed by Joaquin Bernal (http://www.baara.com/q10/) and integrated into WA2L/WinTools by Christian Walther. Send suggestions and bug reports regarding the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:48 GMT, September 14, 2024

banner

TOC Index

NAME

banner - make posters in large letters

SYNOPSIS

banner "strings"

AVAILABILITY

WA2L/WinTools

DESCRIPTION

banner prints its arguments (each with a maximum of 10 characters) in large letters to stdout .

Each argument is printed on a separate line. Note that multiple-word strings must be enclosed in quotes in order to be printed on the same line.

OPTIONS

usage message.

"a string"

string to be printed in large letters. The quotes are only needed when a multiple word string has to be printed on the same output line.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage displayed.

FILES

-

EXAMPLES

-

SEE ALSO

wintoolsintro(1)

NOTES

The banner command was compiled from the source code banner.c provided by Mark S. Kolich on http://mark.koli.ch/2008/11/howto-use-the-banner-bannerc-command-to-create-login-banners.html and has been integrated into WA2L/WinTools by Christian Walther.

BUGS

-

AUTHOR

banner was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2017 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:31:45 GMT, September 14, 2024

bc

TOC Index

NAME

bc - An arbitrary precision calculator language

SYNTAX

bc [ -hlwsqv ] [long-options] [ file ... ]

VERSION

This man page documents GNU bc version 1.06.

DESCRIPTION

bc is a language that supports arbitrary precision numbers with interactive execution of statements. There are some similarities in the syntax to the C programming language. A standard math library is available by command line option. If requested, the math library is defined before processing any files. bc starts by processing code from all the files listed on the command line in the order listed. After all files have been processed, bc reads from the standard input. All code is executed as it is read. (If a file contains a command to halt the processor, bc will never read from the standard input.)

This version of bc contains several extensions beyond traditional bc implementations and the POSIX draft standard. Command line options can cause these extensions to print a warning or to be rejected. This document describes the language accepted by this processor. Extensions will be identified as such.

OPTIONS

-h, --help

Print the usage and exit.

-i, --interactive

Force interactive mode.

-l, --mathlib

Define the standard math library.

-w, --warn

Give warnings for extensions to POSIX bc.

-s, --standard

Process exactly the POSIX bc language.

-q, --quiet

Do not print the normal GNU bc welcome.

-v, --version

Print the version number and copyright and quit.

NUMBERS

The most basic element in bc is the number. Numbers are arbitrary precision numbers. This precision is both in the integer part and the fractional part. All numbers are represented internally in decimal and all computation is done in decimal. (This version truncates results from divide and multiply operations.) There are two attributes of numbers, the length and the scale. The length is the total number of significant decimal digits in a number and the scale is the total number of decimal digits after the decimal point. For example:

.000001 has a length of 6 and scale of 6.

1935.000 has a length of 7 and a scale of 3.

VARIABLES

Numbers are stored in two types of variables, simple variables and arrays. Both simple variables and array variables are named. Names begin with a letter followed by any number of letters, digits and underscores. All letters must be lower case. (Full alpha-numeric names are an extension. In POSIX bc all names are a single lower case letter.) The type of variable is clear by the context because all array variable names will be followed by brackets ([]).

There are four special variables, scale, ibase, obase, and last. scale defines how some operations use digits after the decimal point. The default value of scale is 0. ibase and obase define the conversion base for input and output numbers. The default for both input and output is base 10. last (an extension) is a variable that has the value of the last printed number. These will be discussed in further detail where appropriate. All of these variables may have values assigned to them as well as used in expressions.

COMMENTS

Comments in bc start with the characters /* and end with the characters */. Comments may start anywhere and appear as a single space in the input. (This causes comments to delimit other input items. For example, a comment can not be found in the middle of a variable name.) Comments include any newlines (end of line) between the start and the end of the comment.

To support the use of scripts for bc, a single line comment has been added as an extension. A single line comment starts at a # character and continues to the next end of the line. The end of line character is not part of the comment and is processed normally.

EXPRESSIONS

The numbers are manipulated by expressions and statements. Since the language was designed to be interactive, statements and expressions are executed as soon as possible. There is no "main" program. Instead, code is executed as it is encountered. (Functions, discussed in detail later, are defined when encountered.)

A simple expression is just a constant. bc converts constants into internal decimal numbers using the current input base, specified by the variable ibase. (There is an exception in functions.) The legal values of ibase are 2 through 16. Assigning a value outside this range to ibase will result in a value of 2 or 16. Input numbers may contain the characters 0-9 and A-F. (Note: They must be capitals. Lower case letters are variable names.) Single digit numbers always have the value of the digit regardless of the value of ibase. (i.e. A = 10.) For multi-digit numbers, bc changes all input digits greater or equal to ibase to the value of ibase-1. This makes the number FFF always be the largest 3 digit number of the input base.

Full expressions are similar to many other high level languages. Since there is only one kind of number, there are no rules for mixing types. Instead, there are rules on the scale of expressions. Every expression has a scale. This is derived from the scale of original numbers, the operation performed and in many cases, the value of the variable scale. Legal values of the variable scale are 0 to the maximum number representable by a C integer.

In the following descriptions of legal expressions, "expr" refers to a complete expression and "var" refers to a simple or an array variable. A simple variable is just a

name

and an array variable is specified as

name[expr]

Unless specifically mentioned the scale of the result is the maximum scale of the expressions involved.

- expr

The result is the negation of the expression.

++ var

The variable is incremented by one and the new value is the result of the expression.

-- var

The variable is decremented by one and the new value is the result of the expression.

var ++

The result of the expression is the value of the variable and then the variable is incremented by one.

var --

The result of the expression is the value of the variable and then the variable is decremented by one.

expr + expr

The result of the expression is the sum of the two expressions.

expr - expr

The result of the expression is the difference of the two expressions.

expr * expr

The result of the expression is the product of the two expressions.

expr / expr

The result of the expression is the quotient of the two expressions. The scale of the result is the value of the variable scale.

expr % expr

The result of the expression is the "remainder" and it is computed in the following way. To compute a%b, first a/b is computed to scale digits. That result is used to compute a-(a/b)*b to the scale of the maximum of scale+scale(b) and scale(a). If scale is set to zero and both expressions are integers this expression is the integer remainder function.

expr ^ expr

The result of the expression is the value of the first raised to the second. The second expression must be an integer. (If the second expression is not an integer, a warning is generated and the expression is truncated to get an integer value.) The scale of the result is scale if the exponent is negative. If the exponent is positive the scale of the result is the minimum of the scale of the first expression times the value of the exponent and the maximum of scale and the scale of the first expression. (e.g. scale(a^b) = min(scale(a)*b, max( scale, scale(a))).) It should be noted that expr^0 will always return the value of 1.

( expr )

This alters the standard precedence to force the evaluation of the expression.

var = expr

The variable is assigned the value of the expression.

var <op>= expr

This is equivalent to "var = var <op> expr" with the exception that the "var" part is evaluated only once. This can make a difference if "var" is an array.

Relational expressions are a special kind of expression that always evaluate to 0 or 1, 0 if the relation is false and 1 if the relation is true. These may appear in any legal expression. (POSIX bc requires that relational expressions are used only in if, while, and for statements and that only one relational test may be done in them.) The relational operators are

expr1 < expr2

The result is 1 if expr1 is strictly less than expr2.

expr1 <= expr2

The result is 1 if expr1 is less than or equal to expr2.

expr1 > expr2

The result is 1 if expr1 is strictly greater than expr2.

expr1 >= expr2

The result is 1 if expr1 is greater than or equal to expr2.

expr1 == expr2

The result is 1 if expr1 is equal to expr2.

expr1 != expr2

The result is 1 if expr1 is not equal to expr2.

Boolean operations are also legal. (POSIX bc does NOT have boolean operations). The result of all boolean operations are 0 and 1 (for false and true) as in relational expressions. The boolean operators are:

!expr

The result is 1 if expr is 0.

expr && expr

The result is 1 if both expressions are non-zero.

expr || expr

The result is 1 if either expression is non-zero.

The expression precedence is as follows: (lowest to highest)

|| operator, left associative

&& operator, left associative

! operator, nonassociative

Relational operators, left associative

Assignment operator, right associative

+ and - operators, left associative

*, / and % operators, left associative

^ operator, right associative

unary - operator, nonassociative

++ and -- operators, nonassociative

This precedence was chosen so that POSIX compliant bc programs will run correctly. This will cause the use of the relational and logical operators to have some unusual behavior when used with assignment expressions. Consider the expression:

a = 3 < 5

Most C programmers would assume this would assign the result of "3 < 5" (the value 1) to the variable "a". What this does in bc is assign the value 3 to the variable "a" and then compare 3 to 5. It is best to use parenthesis when using relational and logical operators with the assignment operators.

There are a few more special expressions that are provided in bc. These have to do with user defined functions and standard functions. They all appear as "name(parameters)". See the section on functions for user defined functions. The standard functions are:

length ( expression )

The value of the length function is the number of significant digits in the expression.

read ( )

The read function (an extension) will read a number from the standard input, regardless of where the function occurs. Beware, this can cause problems with the mixing of data and program in the standard input. The best use for this function is in a previously written program that needs input from the user, but never allows program code to be input from the user. The value of the read function is the number read from the standard input using the current value of the variable ibase for the conversion base.

scale ( expression )

The value of the scale function is the number of digits after the decimal point in the expression.

sqrt ( expression )

The value of the sqrt function is the square root of the expression. If the expression is negative, a run time error is generated.

STATEMENTS

Statements (as in most algebraic languages) provide the sequencing of expression evaluation. In bc statements are executed "as soon as possible." Execution happens when a newline in encountered and there is one or more complete statements. Due to this immediate execution, newlines are very important in bc. In fact, both a semicolon and a newline are used as statement separators. An improperly placed newline will cause a syntax error. Because newlines are statement separators, it is possible to hide a newline by using the backslash character. The sequence "\<nl>", where <nl> is the newline appears to bc as whitespace instead of a newline. A statement list is a series of statements separated by semicolons and newlines. The following is a list of bc statements and what they do: (Things enclosed in brackets ([]) are optional parts of the statement.)

expression

This statement does one of two things. If the expression starts with "<variable> <assignment> ...", it is considered to be an assignment statement. If the expression is not an assignment statement, the expression is evaluated and printed to the output. After the number is printed, a newline is printed. For example, "a=1" is an assignment statement and "(a=1)" is an expression that has an embedded assignment. All numbers that are printed are printed in the base specified by the variable obase. The legal values for obase are 2 through BC_BASE_MAX. (See the section LIMITS.) For bases 2 through 16, the usual method of writing numbers is used. For bases greater than 16, bc uses a multi-character digit method of printing the numbers where each higher base digit is printed as a base 10 number. The multi-character digits are separated by spaces. Each digit contains the number of characters required to represent the base ten value of "obase-1". Since numbers are of arbitrary precision, some numbers may not be printable on a single output line. These long numbers will be split across lines using the "\" as the last character on a line. The maximum number of characters printed per line is 70. Due to the interactive nature of bc, printing a number causes the side effect of assigning the printed value to the special variable last. This allows the user to recover the last value printed without having to retype the expression that printed the number. Assigning to last is legal and will overwrite the last printed value with the assigned value. The newly assigned value will remain until the next number is printed or another value is assigned to last. (Some installations may allow the use of a single period (.) which is not part of a number as a short hand notation for for last.)

string

The string is printed to the output. Strings start with a double quote character and contain all characters until the next double quote character. All characters are take literally, including any newline. No newline character is printed after the string.

print list

The print statement (an extension) provides another method of output. The "list" is a list of strings and expressions separated by commas. Each string or expression is printed in the order of the list. No terminating newline is printed. Expressions are evaluated and their value is printed and assigned to the variable last. Strings in the print statement are printed to the output and may contain special characters. Special characters start with the backslash character (\). The special characters recognized by bc are "a" (alert or bell), "b" (backspace), "f" (form feed), "n" (newline), "r" (carriage return), "q" (double quote), "t" (tab), and "\" (backslash). Any other character following the backslash will be ignored.

{ statement_list }

This is the compound statement. It allows multiple statements to be grouped together for execution.

if ( expression ) statement1 [else statement2]

The if statement evaluates the expression and executes statement1 or statement2 depending on the value of the expression. If the expression is non-zero, statement1 is executed. If statement2 is present and the value of the expression is 0, then statement2 is executed. (The else clause is an extension.)

while ( expression ) statement

The while statement will execute the statement while the expression is non-zero. It evaluates the expression before each execution of the statement. Termination of the loop is caused by a zero expression value or the execution of a break statement.

for ( [expression1] ; [expression2] ; [expression3] ) statement

The for statement controls repeated execution of the statement. Expression1 is evaluated before the loop. Expression2 is evaluated before each execution of the statement. If it is non-zero, the statement is evaluated. If it is zero, the loop is terminated. After each execution of the statement, expression3 is evaluated before the reevaluation of expression2. If expression1 or expression3 are missing, nothing is evaluated at the point they would be evaluated. If expression2 is missing, it is the same as substituting the value 1 for expression2. (The optional expressions are an extension. POSIX bc requires all three expressions.) The following is equivalent code for the for statement:

expression1;

while (expression2) {

statement;

expression3;

}

break

This statement causes a forced exit of the most recent enclosing while statement or for statement.

continue

The continue statement (an extension) causes the most recent enclosing for statement to start the next iteration.

halt

The halt statement (an extension) is an executed statement that causes the bc processor to quit only when it is executed. For example, "if (0 == 1) halt" will not cause bc to terminate because the halt is not executed.

return

Return the value 0 from a function. (See the section on functions.)

return ( expression )

Return the value of the expression from a function. (See the section on functions.) As an extension, the parenthesis are not required.

PSEUDO STATEMENTS

These statements are not statements in the traditional sense. They are not executed statements. Their function is performed at "compile" time.

limits

Print the local limits enforced by the local version of bc. This is an extension.

quit

When the quit statement is read, the bc processor is terminated, regardless of where the quit statement is found. For example, "if (0 == 1) quit" will cause bc to terminate.

warranty

Print a longer warranty notice. This is an extension.

FUNCTIONS

Functions provide a method of defining a computation that can be executed later. Functions in bc always compute a value and return it to the caller. Function definitions are "dynamic" in the sense that a function is undefined until a definition is encountered in the input. That definition is then used until another definition function for the same name is encountered. The new definition then replaces the older definition. A function is defined as follows:

define name ( parameters ) { newline

auto_list   statement_list }

A function call is just an expression of the form "name(parameters)".

Parameters are numbers or arrays (an extension). In the function definition, zero or more parameters are defined by listing their names separated by commas. Numbers are only call by value parameters. Arrays are only call by variable. Arrays are specified in the parameter definition by the notation "name[]". In the function call, actual parameters are full expressions for number parameters. The same notation is used for passing arrays as for defining array parameters. The named array is passed by variable to the function. Since function definitions are dynamic, parameter numbers and types are checked when a function is called. Any mismatch in number or types of parameters will cause a runtime error. A runtime error will also occur for the call to an undefined function.

The auto_list is an optional list of variables that are for "local" use. The syntax of the auto list (if present) is "auto name, ... ;". (The semicolon is optional.) Each name is the name of an auto variable. Arrays may be specified by using the same notation as used in parameters. These variables have their values pushed onto a stack at the start of the function. The variables are then initialized to zero and used throughout the execution of the function. At function exit, these variables are popped so that the original value (at the time of the function call) of these variables are restored. The parameters are really auto variables that are initialized to a value provided in the function call. Auto variables are different than traditional local variables because if function A calls function B, B may access function A's auto variables by just using the same name, unless function B has called them auto variables. Due to the fact that auto variables and parameters are pushed onto a stack, bc supports recursive functions.

The function body is a list of bc statements. Again, statements are separated by semicolons or newlines. Return statements cause the termination of a function and the return of a value. There are two versions of the return statement. The first form, "return", returns the value 0 to the calling expression. The second form, "return ( expression )", computes the value of the expression and returns that value to the calling expression. There is an implied "return (0)" at the end of every function. This allows a function to terminate and return 0 without an explicit return statement.

Functions also change the usage of the variable ibase. All constants in the function body will be converted using the value of ibase at the time of the function call. Changes of ibase will be ignored during the execution of the function except for the standard function read, which will always use the current value of ibase for conversion of numbers.

As an extension, the format of the definition has been slightly relaxed. The standard requires the opening brace be on the same line as the define keyword and all other parts must be on following lines. This version of bc will allow any number of newlines before and after the opening brace of the function. For example, the following definitions are legal.

define d (n) { return (2*n); }

define d (n)

{ return (2*n); }

MATH LIBRARY

If bc is invoked with the -l option, a math library is preloaded and the default scale is set to 20. The math functions will calculate their results to the scale set at the time of their call. The math library defines the following functions:

s (x)

The sine of x, x is in radians.

c (x)

The cosine of x, x is in radians.

a (x)

The arctangent of x, arctangent returns radians.

l (x)

The natural logarithm of x.

e (x)

The exponential function of raising e to the value x.

j (n,x)

The bessel function of integer order n of x.

EXAMPLES

In /bin/sh, the following will assign the value of "pi" to the shell variable pi.

pi=$(echo "scale=10; 4*a(1)" | bc -l)

The following is the definition of the exponential function used in the math library. This function is written in POSIX bc.

scale = 20

/* Uses the fact that e^x = (e^(x/2))^2

When x is small enough, we use the series:

e^x = 1 + x + x^2/2! + x^3/3! + ...

*/

define e(x) {

auto  a, d, e, f, i, m, v, z

/* Check the sign of x. */

if (x<0) {

m = 1

x = -x

}

/* Precondition x. */

z = scale;

scale = 4 + z + .44*x;

while (x > 1) {

f += 1;

x /= 2;

}

/* Initialize the variables. */

v = 1+x

a = x

d = 1

for (i=2; 1; i++) {

e = (a *= x) / (d *= i)

if (e == 0) {

if (f>0) while (f--)  v = v*v;

scale = z

if (m) return (1/v);

return (v/1);

}

v += e

}

}

The following is code that uses the extended features of bc to implement a simple program for calculating checkbook balances. This program is best kept in a file so that it can be used many times without having to retype it at every use.

scale=2

print "\nCheck book program!\n"

print "  Remember, deposits are negative transactions.\n"

print "  Exit by a 0 transaction.\n\n"

print "Initial balance? "; bal = read()

bal /= 1

print "\n"

while (1) {

"current balance = "; bal

"transaction? "; trans = read()

if (trans == 0) break;

bal -= trans

bal /= 1

}

quit

The following is the definition of the recursive factorial function.

define f (x) {

if (x <= 1) return (1);

return (f(x-1) * x);

}

READLINE AND LIBEDIT OPTIONS

GNU bc can be compiled (via a configure option) to use the GNU readline input editor library or the BSD libedit library. This allows the user to do editing of lines before sending them to bc. It also allows for a history of previous lines typed. When this option is selected, bc has one more special variable. This special variable, history is the number of lines of history retained. For readline, a value of -1 means that an unlimited number of history lines are retained. Setting the value of history to a positive number restricts the number of history lines to the number given. The value of 0 disables the history feature. The default value is 100. For more information, read the user manuals for the GNU readline, history and BSD libedit libraries. One can not enable both readline and libedit at the same time.

DIFFERENCES

This version of bc was implemented from the POSIX P1003.2/D11 draft and contains several differences and extensions relative to the draft and traditional implementations. It is not implemented in the traditional way using dc(1). This version is a single process which parses and runs a byte code translation of the program. There is an "undocumented" option (-c) that causes the program to output the byte code to the standard output instead of running it. It was mainly used for debugging the parser and preparing the math library.

A major source of differences is extensions, where a feature is extended to add more functionality and additions, where new features are added. The following is the list of differences and extensions.

LANG

This version does not conform to the POSIX standard in the processing of the LANG environment variable and all environment variables starting with LC_.

names

Traditional and POSIX bc have single letter names for functions, variables and arrays. They have been extended to be multi-character names that start with a letter and may contain letters, numbers and the underscore character.

Strings

Strings are not allowed to contain NUL characters. POSIX says all characters must be included in strings.

last

POSIX bc does not have a last variable. Some implementations of bc use the period (.) in a similar way.

comparisons

POSIX bc allows comparisons only in the if statement, the while statement, and the second expression of the for statement. Also, only one relational operation is allowed in each of those statements.

if statement, else clause

POSIX bc does not have an else clause.

for statement

POSIX bc requires all expressions to be present in the for statement.

&&, ||, !

POSIX bc does not have the logical operators.

read function

POSIX bc does not have a read function.

print statement

POSIX bc does not have a print statement .

continue statement

POSIX bc does not have a continue statement.

return statement

POSIX bc requires parentheses around the return expression.

array parameters

POSIX bc does not (currently) support array parameters in full. The POSIX grammar allows for arrays in function definitions, but does not provide a method to specify an array as an actual parameter. (This is most likely an oversight in the grammar.) Traditional implementations of bc have only call by value array parameters.

function format

POSIX bc requires the opening brace on the same line as the define key word and the auto statement on the next line.

=+, =-, =*, =/, =%, =^

POSIX bc does not require these "old style" assignment operators to be defined. This version may allow these "old style" assignments. Use the limits statement to see if the installed version supports them. If it does support the "old style" assignment operators, the statement "a =- 1" will decrement a by 1 instead of setting a to the value -1.

spaces in numbers

Other implementations of bc allow spaces in numbers. For example, "x=1 3" would assign the value 13 to the variable x. The same statement would cause a syntax error in this version of bc.

errors and execution

This implementation varies from other implementations in terms of what code will be executed when syntax and other errors are found in the program. If a syntax error is found in a function definition, error recovery tries to find the beginning of a statement and continue to parse the function. Once a syntax error is found in the function, the function will not be callable and becomes undefined. Syntax errors in the interactive execution code will invalidate the current execution block. The execution block is terminated by an end of line that appears after a complete sequence of statements. For example,

a = 1

b = 2

has two execution blocks and

{ a = 1

b = 2 }

has one execution block. Any runtime error will terminate the execution of the current execution block. A runtime warning will not terminate the current execution block.

Interrupts

During an interactive session, the SIGINT signal (usually generated by the control-C character from the terminal) will cause execution of the current execution block to be interrupted. It will display a "runtime" error indicating which function was interrupted. After all runtime structures have been cleaned up, a message will be printed to notify the user that bc is ready for more input. All previously defined functions remain defined and the value of all non-auto variables are the value at the point of interruption. All auto variables and function parameters are removed during the clean up process. During a non-interactive session, the SIGINT signal will terminate the entire run of bc.

LIMITS

The following are the limits currently in place for this bc processor. Some of them may have been changed by an installation. Use the limits statement to see the actual values.

BC_BASE_MAX

The maximum output base is currently set at 999. The maximum input base is 16.

BC_DIM_MAX

This is currently an arbitrary limit of 65535 as distributed. Your installation may be different.

BC_SCALE_MAX

The number of digits after the decimal point is limited to INT_MAX digits. Also, the number of digits before the decimal point is limited to INT_MAX digits.

BC_STRING_MAX

The limit on the number of characters in a string is INT_MAX characters.

exponent

The value of the exponent in the raise operation (^) is limited to LONG_MAX.

variable names

The current limit on the number of unique names is 32767 for each of simple variables, arrays and functions.

ENVIRONMENT VARIABLES

The following environment variables are processed by bc:

POSIXLY_CORRECT

This is the same as the -s option.

BC_ENV_ARGS

This is another mechanism to get arguments to bc. The format is the same as the command line arguments. These arguments are processed first, so any files listed in the environent arguments are processed before any command line argument files. This allows the user to set up "standard" options and files to be processed at every invocation of bc. The files in the environment variables would typically contain function definitions for functions the user wants defined every time bc is run.

BC_LINE_LENGTH

This should be an integer specifing the number of characters in an output line for numbers. This includes the backslash and newline characters for long numbers.

DIAGNOSTICS

If any file on the command line can not be opened, bc will report that the file is unavailable and terminate. Also, there are compile and run time diagnostics that should be self-explanatory.

BUGS

Error recovery is not very good yet.

Email bug reports to bug-bc@gnu.org. Be sure to include the word ``bc'' somewhere in the ``Subject:'' field.

AUTHOR

Philip A. Nelson

philnelson@acm.org

ACKNOWLEDGEMENTS

The author would like to thank Steve Sommars (Steve.Sommars@att.com) for his extensive help in testing the implementation. Many great suggestions were given. This is a much better product due to his involvement.

NAME SYNTAX VERSION DESCRIPTION OPTIONS NUMBERS VARIABLES COMMENTS EXPRESSIONS STATEMENTS PSEUDO STATEMENTS FUNCTIONS MATH LIBRARY EXAMPLES READLINE AND LIBEDIT OPTIONS DIFFERENCES LIMITS ENVIRONMENT VARIABLES DIAGNOSTICS BUGS AUTHOR ACKNOWLEDGEMENTS

This document was created by man2html using the manual pages.

Time: 16:33:29 GMT, September 14, 2024

DC

TOC Index

NAME

dc - an arbitrary precision calculator

SYNOPSIS

dc [-V] [--version] [-h] [--help]

[-e scriptexpression] [--expression=scriptexpression]

[-f scriptfile] [--file=scriptfile]

[file ...]

DESCRIPTION

Dc is a reverse-polish desk calculator which supports unlimited precision arithmetic. It also allows you to define and call macros. Normally dc reads from the standard input; if any command arguments are given to it, they are filenames, and dc reads and executes the contents of the files before reading from standard input. All normal output is to standard output; all error output is to standard error.

A reverse-polish calculator stores numbers on a stack. Entering a number pushes it on the stack. Arithmetic operations pop arguments off the stack and push the results.

To enter a number in dc, type the digits with an optional decimal point. Exponential notation is not supported. To enter a negative number, begin the number with ``_''. ``-'' cannot be used for this, as it is a binary operator for subtraction instead. To enter two numbers in succession, separate them with spaces or newlines. These have no meaning as commands.

OPTIONS

Dc may be invoked with the following command-line options:

-V

--version

Print out the version of dc that is being run and a copyright notice, then exit.

-h

--help

Print a usage message briefly summarizing these command-line options and the bug-reporting address, then exit.

-e script

--expression=script

Add the commands in script to the set of commands to be run while processing the input.

-f script-file

--file=script-file

Add the commands contained in the file script-file to the set of commands to be run while processing the input.

If any command-line parameters remain after processing the above, these parameters are interpreted as the names of input files to be processed. A file name of - refers to the standard input stream. The standard input will processed if no file names are specified.

Printing Commands

p

Prints the value on the top of the stack, without altering the stack. A newline is printed after the value.

n

Prints the value on the top of the stack, popping it off, and does not print a newline after.

P

Pops off the value on top of the stack. If it it a string, it is simply printed without a trailing newline. Otherwise it is a number, and the integer portion of its absolute value is printed out as a "base (UCHAR_MAX+1)" byte stream. Assuming that (UCHAR_MAX+1) is 256 (as it is on most machines with 8-bit bytes), the sequence KSK 0k1/ [_1*]sx d0>x [256~aPd0<x]dsxx sxLKk could also accomplish this function, except for the side-effect of clobbering the x register.

f

Prints the entire contents of the stack without altering anything. This is a good command to use if you are lost or want to figure out what the effect of some command has been.

Arithmetic

+

Pops two values off the stack, adds them, and pushes the result. The precision of the result is determined only by the values of the arguments, and is enough to be exact.

-

Pops two values, subtracts the first one popped from the second one popped, and pushes the result.

*

Pops two values, multiplies them, and pushes the result. The number of fraction digits in the result depends on the current precision value and the number of fraction digits in the two arguments.

/

Pops two values, divides the second one popped from the first one popped, and pushes the result. The number of fraction digits is specified by the precision value.

%

Pops two values, computes the remainder of the division that the / command would do, and pushes that. The value computed is the same as that computed by the sequence Sd dld/ Ld*- .

~

Pops two values, divides the second one popped from the first one popped. The quotient is pushed first, and the remainder is pushed next. The number of fraction digits used in the division is specified by the precision value. (The sequence SdSn lnld/ LnLd% could also accomplish this function, with slightly different error checking.)

^

Pops two values and exponentiates, using the first value popped as the exponent and the second popped as the base. The fraction part of the exponent is ignored. The precision value specifies the number of fraction digits in the result.

|

Pops three values and computes a modular exponentiation. The first value popped is used as the reduction modulus; this value must be a non-zero number, and should be an integer. The second popped is used as the exponent; this value must be a non-negative number, and any fractional part of this exponent will be ignored. The third value popped is the base which gets exponentiated, which should be an integer. For small integers this is like the sequence Sm^Lm%, but, unlike ^, this command will work with arbitrarily large exponents.

v

Pops one value, computes its square root, and pushes that. The precision value specifies the number of fraction digits in the result.

Most arithmetic operations are affected by the ``precision value'', which you can set with the k command. The default precision value is zero, which means that all arithmetic except for addition and subtraction produces integer results.

Stack Control

c

Clears the stack, rendering it empty.

d

Duplicates the value on the top of the stack, pushing another copy of it. Thus, ``4d*p'' computes 4 squared and prints it.

r

Reverses the order of (swaps) the top two values on the stack.

Registers

Dc provides at least 256 memory registers, each named by a single character. You can store a number or a string in a register and retrieve it later.

sr

Pop the value off the top of the stack and store it into register r.

lr

Copy the value in register r and push it onto the stack. This does not alter the contents of r.

Each register also contains its own stack. The current register value is the top of the register's stack.

Sr

Pop the value off the top of the (main) stack and push it onto the stack of register r. The previous value of the register becomes inaccessible.

Lr

Pop the value off the top of register r's stack and push it onto the main stack. The previous value in register r's stack, if any, is now accessible via the lr command.

Parameters

Dc has three parameters that control its operation: the precision, the input radix, and the output radix. The precision specifies the number of fraction digits to keep in the result of most arithmetic operations. The input radix controls the interpretation of numbers typed in; all numbers typed in use this radix. The output radix is used for printing numbers.

The input and output radices are separate parameters; you can make them unequal, which can be useful or confusing. The input radix must be between 2 and 16 inclusive. The output radix must be at least 2. The precision must be zero or greater. The precision is always measured in decimal digits, regardless of the current input or output radix.

i

Pops the value off the top of the stack and uses it to set the input radix.

o

Pops the value off the top of the stack and uses it to set the output radix.

k

Pops the value off the top of the stack and uses it to set the precision.

I

Pushes the current input radix on the stack.

O

Pushes the current output radix on the stack.

K

Pushes the current precision on the stack.

Strings

Dc can operate on strings as well as on numbers. The only things you can do with strings are print them and execute them as macros (which means that the contents of the string are processed as dc commands). All registers and the stack can hold strings, and dc always knows whether any given object is a string or a number. Some commands such as arithmetic operations demand numbers as arguments and print errors if given strings. Other commands can accept either a number or a string; for example, the p command can accept either and prints the object according to its type.

[characters]

Makes a string containing characters (contained between balanced [ and ] characters), and pushes it on the stack. For example, [foo]P prints the characters foo (with no newline).

a

The top-of-stack is popped. If it was a number, then the low-order byte of this number is converted into a string and pushed onto the stack. Otherwise the top-of-stack was a string, and the first character of that string is pushed back.

x

Pops a value off the stack and executes it as a macro. Normally it should be a string; if it is a number, it is simply pushed back onto the stack. For example, [1p]x executes the macro 1p which pushes 1 on the stack and prints 1 on a separate line.

Macros are most often stored in registers; [1p]sa stores a macro to print 1 into register a, and lax invokes this macro.

>r

Pops two values off the stack and compares them assuming they are numbers, executing the contents of register r as a macro if the original top-of-stack is greater. Thus, 1 2>a will invoke register a's contents and 2 1>a will not.

!>r

Similar but invokes the macro if the original top-of-stack is not greater than (less than or equal to) what was the second-to-top.

<r

Similar but invokes the macro if the original top-of-stack is less.

!<r

Similar but invokes the macro if the original top-of-stack is not less than (greater than or equal to) what was the second-to-top.

=r

Similar but invokes the macro if the two numbers popped are equal.

!=r

Similar but invokes the macro if the two numbers popped are not equal.

?

Reads a line from the terminal and executes it. This command allows a macro to request input from the user.

q

exits from a macro and also from the macro which invoked it. If called from the top level, or from a macro which was called directly from the top level, the q command will cause dc to exit.

Q

Pops a value off the stack and uses it as a count of levels of macro execution to be exited. Thus, 3Q exits three levels. The Q command will never cause dc to exit.

Status Inquiry

Z

Pops a value off the stack, calculates the number of digits it has (or number of characters, if it is a string) and pushes that number.

X

Pops a value off the stack, calculates the number of fraction digits it has, and pushes that number. For a string, the value pushed is 0.

z

Pushes the current stack depth: the number of objects on the stack before the execution of the z command.

Miscellaneous

!

Will run the rest of the line as a system command. Note that parsing of the !<, !=, and !> commands take precedence, so if you want to run a command starting with <, =, or > you will need to add a space after the !.

#

Will interpret the rest of the line as a comment.

:r

Will pop the top two values off of the stack. The old second-to-top value will be stored in the array r, indexed by the old top-of-stack value.

;r

Pops the top-of-stack and uses it as an index into the array r. The selected value is then pushed onto the stack. Note that each stacked instance of a register has its own array associated with it. Thus 1 0:a 0Sa 2 0:a La 0;ap will print 1, because the 2 was stored in an instance of 0:a that was later popped.

BUGS

Email bug reports to bug-dc@gnu.org.

NAME SYNOPSIS DESCRIPTION OPTIONS Printing Commands Arithmetic Stack Control Registers Parameters Strings Status Inquiry Miscellaneous BUGS

This document was created by man2html using the manual pages.

Time: 16:33:32 GMT, September 14, 2024

cat

TOC Index

NAME

cat - concatenate files and print on the standard output

SYNOPSIS

cat [,OPTION/]... [,FILE/]...

DESCRIPTION

Concatenate FILE(s) to standard output.

With no FILE, or when FILE is -, read standard input.

-A, --show-all

equivalent to -vET

-b, --number-nonblank

number nonempty output lines, overrides -n

-e

equivalent to -vE

-E, --show-ends

display $ at end of each line

-n, --number

number all output lines

-s, --squeeze-blank

suppress repeated empty output lines

-t

equivalent to -vT

-T, --show-tabs

display TAB characters as ^I

-u

(ignored)

-v, --show-nonprinting

use ^ and M- notation, except for LFD and TAB

--help

display this help and exit

--version

output version information and exit

EXAMPLES

cat f - g

Output f's contents, then standard input, then g's contents.

cat

Copy standard input to standard output.

AUTHOR

Written by Torbjorn Granlund and Richard M. Stallman.

REPORTING BUGS

GNU coreutils online help: <http://www.gnu.org/software/coreutils/>

Report cat translation bugs to <http://translationproject.org/team/>

COPYRIGHT

Copyright © 2016 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.

This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

tac(1)

Full documentation at: <http://www.gnu.org/software/coreutils/cat>

or available locally via: info aq(coreutils) cat invocationaq

NAME SYNOPSIS DESCRIPTION EXAMPLES AUTHOR REPORTING BUGS COPYRIGHT SEE ALSO

This document was created by man2html using the manual pages.

Time: 16:33:30 GMT, September 14, 2024

tac

TOC Index

NAME

tac - concatenate and print files in reverse

SYNOPSIS

tac [,OPTION/]... [,FILE/]...

DESCRIPTION

Write each FILE to standard output, last line first.

With no FILE, or when FILE is -, read standard input.

Mandatory arguments to long options are mandatory for short options too.

-b, --before

attach the separator before instead of after

-r, --regex

interpret the separator as a regular expression

-s, --separator=,STRING/

use STRING as the separator instead of newline

--help

display this help and exit

--version

output version information and exit

AUTHOR

Written by Jay Lepreau and David MacKenzie.

REPORTING BUGS

GNU coreutils online help: <http://www.gnu.org/software/coreutils/>

Report tac translation bugs to <http://translationproject.org/team/>

COPYRIGHT

Copyright © 2016 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.

This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

rev(1)

Full documentation at: <http://www.gnu.org/software/coreutils/tac>

or available locally via: info aq(coreutils) tac invocationaq

NAME SYNOPSIS DESCRIPTION AUTHOR REPORTING BUGS COPYRIGHT SEE ALSO

This document was created by man2html using the manual pages.

Time: 16:33:45 GMT, September 14, 2024

comm

TOC Index

NAME

comm - compare two sorted files line by line

SYNOPSIS

comm [,OPTION/]... ,FILE1 FILE2/

DESCRIPTION

Compare sorted files FILE1 and FILE2 line by line.

When FILE1 or FILE2 (not both) is -, read standard input.

With no options, produce three-column output. Column one contains lines unique to FILE1, column two contains lines unique to FILE2, and column three contains lines common to both files.

-1

suppress column 1 (lines unique to FILE1)

-2

suppress column 2 (lines unique to FILE2)

-3

suppress column 3 (lines that appear in both files)

--check-order

check that the input is correctly sorted, even if all input lines are pairable

--nocheck-order

do not check that the input is correctly sorted

--output-delimiter=,STR/

separate columns with STR

-z, --zero-terminated

line delimiter is NUL, not newline

--help

display this help and exit

--version

output version information and exit

Note, comparisons honor the rules specified by 'LC_COLLATE'.

EXAMPLES

comm -12 file1 file2

Print only lines present in both file1 and file2.

comm -3 file1 file2

Print lines in file1 not in file2, and vice versa.

AUTHOR

Written by Richard M. Stallman and David MacKenzie.

REPORTING BUGS

GNU coreutils online help: <http://www.gnu.org/software/coreutils/>

Report comm translation bugs to <http://translationproject.org/team/>

COPYRIGHT

Copyright © 2016 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.

This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

join(1), uniq(1)

Full documentation at: <http://www.gnu.org/software/coreutils/comm>

or available locally via: info aq(coreutils) comm invocationaq

NAME SYNOPSIS DESCRIPTION EXAMPLES AUTHOR REPORTING BUGS COPYRIGHT SEE ALSO

This document was created by man2html using the manual pages.

Time: 16:33:30 GMT, September 14, 2024

join

TOC Index

NAME

join - join lines of two files on a common field

SYNOPSIS

join [,OPTION/]... ,FILE1 FILE2/

DESCRIPTION

For each pair of input lines with identical join fields, write a line to standard output. The default join field is the first, delimited by blanks.

When FILE1 or FILE2 (not both) is -, read standard input.

-a FILENUM

also print unpairable lines from file FILENUM, where FILENUM is 1 or 2, corresponding to FILE1 or FILE2

-e EMPTY

replace missing input fields with EMPTY

-i, --ignore-case

ignore differences in case when comparing fields

-j FIELD

equivalent to '-1 FIELD -2 FIELD'

-o FORMAT

obey FORMAT while constructing output line

-t CHAR

use CHAR as input and output field separator

-v FILENUM

like -a FILENUM, but suppress joined output lines

-1 FIELD

join on this FIELD of file 1

-2 FIELD

join on this FIELD of file 2

--check-order

check that the input is correctly sorted, even if all input lines are pairable

--nocheck-order

do not check that the input is correctly sorted

--header

treat the first line in each file as field headers, print them without trying to pair them

-z, --zero-terminated

line delimiter is NUL, not newline

--help

display this help and exit

--version

output version information and exit

Unless -t CHAR is given, leading blanks separate fields and are ignored, else fields are separated by CHAR. Any FIELD is a field number counted from 1. FORMAT is one or more comma or blank separated specifications, each being 'FILENUM.FIELD' or '0'. Default FORMAT outputs the join field, the remaining fields from FILE1, the remaining fields from FILE2, all separated by CHAR. If FORMAT is the keyword 'auto', then the first line of each file determines the number of fields output for each line.

Important: FILE1 and FILE2 must be sorted on the join fields. E.g., use "sort -k 1b,1" if 'join' has no options, or use "join -t ''" if 'sort' has no options. Note, comparisons honor the rules specified by 'LC_COLLATE'. If the input is not sorted and some lines cannot be joined, a warning message will be given.

AUTHOR

Written by Mike Haertel.

REPORTING BUGS

GNU coreutils online help: <http://www.gnu.org/software/coreutils/>

Report join translation bugs to <http://translationproject.org/team/>

COPYRIGHT

Copyright © 2016 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.

This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

comm(1), uniq(1)

Full documentation at: <http://www.gnu.org/software/coreutils/join>

or available locally via: info aq(coreutils) join invocationaq

NAME SYNOPSIS DESCRIPTION AUTHOR REPORTING BUGS COPYRIGHT SEE ALSO

This document was created by man2html using the manual pages.

Time: 16:33:36 GMT, September 14, 2024

UNIQ

TOC Index

NAME

uniq - report or omit repeated lines

SYNOPSIS

uniq [,OPTION/]... [,INPUT /[,OUTPUT/]]

DESCRIPTION

Filter adjacent matching lines from INPUT (or standard input), writing to OUTPUT (or standard output).

With no options, matching lines are merged to the first occurrence.

Mandatory arguments to long options are mandatory for short options too.

-c, --count

prefix lines by the number of occurrences

-d, --repeated

only print duplicate lines, one for each group

-D

print all duplicate lines

--all-repeated[=,METHOD/]

like -D, but allow separating groups with an empty line; METHOD={none(default),prepend,separate}

-f, --skip-fields=,N/

avoid comparing the first N fields

--group[=,METHOD/]

show all items, separating groups with an empty line; METHOD={separate(default),prepend,append,both}

-i, --ignore-case

ignore differences in case when comparing

-s, --skip-chars=,N/

avoid comparing the first N characters

-u, --unique

only print unique lines

-z, --zero-terminated

line delimiter is NUL, not newline

-w, --check-chars=,N/

compare no more than N characters in lines

--help

display this help and exit

--version

output version information and exit

A field is a run of blanks (usually spaces and/or TABs), then non-blank characters. Fields are skipped before chars.

Note: 'uniq' does not detect repeated lines unless they are adjacent. You may want to sort the input first, or use 'uxsort -u' without 'uniq'.

AUTHOR

Written by Richard M. Stallman and David MacKenzie.

REPORTING BUGS

GNU coreutils online help: <https://www.gnu.org/software/coreutils/>

Report any translation bugs to <https://translationproject.org/team/>

COPYRIGHT

Copyright © 2020 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.

This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

comm(1), join(1), uxsort(1)

Full documentation <https://www.gnu.org/software/coreutils/uniq>

or available locally via: info aq(coreutils) uniq invocationaq

NAME SYNOPSIS DESCRIPTION AUTHOR REPORTING BUGS COPYRIGHT SEE ALSO

This document was created by man2html using the manual pages.

Time: 16:33:48 GMT, September 14, 2024

uxsort

TOC Index

NAME

uxsort - sort lines of text files

SYNOPSIS

uxsort [,OPTION/]... [,FILE/]...

DESCRIPTION

Write sorted concatenation of all FILE(s) to standard output.

With no FILE, or when FILE is -, read standard input.

Mandatory arguments to long options are mandatory for short options too. Ordering options:

-b

ignore leading blanks

-d

consider only blanks and alphanumeric characters

-f

fold lower case to upper case characters

-g

compare according to general numerical value

-i

consider only printable characters

-M

compare (unknown) < 'JAN' < ... < 'DEC'

-n

compare according to string numerical value

-r

reverse the result of comparisons

Other options:

-c

check for sorted input; do not sort

-k

sort via a key; KEYDEF gives location and type

-m

merge already sorted files; do not sort

-o

write result to FILE instead of standard output

-s

stabilize sort by disabling last-resort comparison

-t

use SEP instead of non-blank to blank transition

-T

use DIR for temporaries, not $TMPDIR or ,/tmp/; multiple options specify multiple directories

-u

with -c, check for strict ordering; without -c, output only the first of an equal run

-z

line delimiter is NUL, not newline

--help

display this help and exit

--version

output version information and exit

KEYDEF is F[.C][OPTS][,F[.C][OPTS]] for start and stop position, where F is a field number and C a character position in the field; both are origin 1, and the stop position defaults to the line's end. If neither -t nor -b is in effect, characters in a field are counted from the beginning of the preceding whitespace. OPTS is one or more single-letter ordering options [bdfgiMhnRrV], which override global ordering options for that key. If no key is given, use the entire line as the key.

SIZE may be followed by the following multiplicative suffixes: % 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, Y.

*** WARNING *** The locale specified by the environment affects sort order. Set LC_ALL=C to get the traditional sort order that uses native byte values.

AUTHOR

Written by Mike Haertel and Paul Eggert.

REPORTING BUGS

GNU coreutils online help: <http://www.gnu.org/software/coreutils/>

Report sort translation bugs to <http://translationproject.org/team/>

COPYRIGHT

Copyright © 2016 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.

This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

uniq(1)

Full documentation at: <http://www.gnu.org/software/coreutils/sort>

or available locally via: info aq(coreutils) sort invocationaq

NAME SYNOPSIS DESCRIPTION AUTHOR REPORTING BUGS COPYRIGHT SEE ALSO

This document was created by man2html using the manual pages.

Time: 16:33:50 GMT, September 14, 2024

EXPAND

TOC Index

NAME

expand - convert tabs to spaces

SYNOPSIS

expand [,OPTION/]... [,FILE/]...

DESCRIPTION

Convert tabs in each FILE to spaces, writing to standard output.

With no FILE, or when FILE is -, read standard input.

Mandatory arguments to long options are mandatory for short options too.

-i, --initial

do not convert tabs after non blanks

-t, --tabs=,NUMBER/

have tabs NUMBER characters apart, not 8

-t, --tabs=,LIST/

use comma separated list of explicit tab positions

--help

display this help and exit

--version

output version information and exit

AUTHOR

Written by David MacKenzie.

REPORTING BUGS

GNU coreutils online help: <http://www.gnu.org/software/coreutils/>

Report expand translation bugs to <http://translationproject.org/team/>

COPYRIGHT

Copyright © 2016 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.

This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

unexpand(1)

Full documentation at: <http://www.gnu.org/software/coreutils/expand>

or available locally via: info aq(coreutils) expand invocationaq

NAME SYNOPSIS DESCRIPTION AUTHOR REPORTING BUGS COPYRIGHT SEE ALSO

This document was created by man2html using the manual pages.

Time: 16:33:34 GMT, September 14, 2024

UNEXPAND

TOC Index

NAME

unexpand - convert spaces to tabs

SYNOPSIS

unexpand [,OPTION/]... [,FILE/]...

DESCRIPTION

Convert blanks in each FILE to tabs, writing to standard output.

With no FILE, or when FILE is -, read standard input.

Mandatory arguments to long options are mandatory for short options too.

-a, --all

convert all blanks, instead of just initial blanks

--first-only

convert only leading sequences of blanks (overrides -a)

-t, --tabs=,N/

have tabs N characters apart instead of 8 (enables -a)

-t, --tabs=,LIST/

use comma separated LIST of tab positions (enables -a)

--help

display this help and exit

--version

output version information and exit

AUTHOR

Written by David MacKenzie.

REPORTING BUGS

GNU coreutils online help: <http://www.gnu.org/software/coreutils/>

Report unexpand translation bugs to <http://translationproject.org/team/>

COPYRIGHT

Copyright © 2016 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.

This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

expand(1)

Full documentation at: <http://www.gnu.org/software/coreutils/unexpand>

or available locally via: info aq(coreutils) unexpand invocationaq

NAME SYNOPSIS DESCRIPTION AUTHOR REPORTING BUGS COPYRIGHT SEE ALSO

This document was created by man2html using the manual pages.

Time: 16:33:48 GMT, September 14, 2024

grep

TOC Index

NAME

grep, egrep, fgrep, rgrep - print lines matching a pattern

SYNOPSIS

grep [OPTIONS] PATTERN [FILE...]

grep [OPTIONS] [-e PATTERN]... [-f FILE]... [FILE...]

DESCRIPTION

grep searches the named input FILEs for lines containing a match to the given PATTERN. If no files are specified, or if the file ``-'' is given, grep searches standard input. By default, grep prints the matching lines.

In addition, the variant programs egrep, fgrep and rgrep are the same as grep -E, grep -F, and grep -r, respectively. These variants are deprecated, but are provided for backward compatibility.

OPTIONS

Generic Program Information

--help

Output a usage message and exit.

-V, --version

Output the version number of grep and exit.

Matcher Selection

-E, --extended-regexp

Interpret PATTERN as an extended regular expression (ERE, see below).

-F, --fixed-strings

Interpret PATTERN as a list of fixed strings (instead of regular expressions), separated by newlines, any of which is to be matched.

-G, --basic-regexp

Interpret PATTERN as a basic regular expression (BRE, see below). This is the default.

-P, --perl-regexp

Interpret the pattern as a Perl-compatible regular expression (PCRE). This is highly experimental and grep -P may warn of unimplemented features.

Matching Control

-e PATTERN, --regexp=PATTERN

Use PATTERN as the pattern. If this option is used multiple times or is combined with the -f (--file) option, search for all patterns given. This option can be used to protect a pattern beginning with ``-''.

-f FILE, --file=FILE

Obtain patterns from FILE, one per line. If this option is used multiple times or is combined with the -e (--regexp) option, search for all patterns given. The empty file contains zero patterns, and therefore matches nothing.

-i, --ignore-case

Ignore case distinctions in both the PATTERN and the input files.

-v, --invert-match

Invert the sense of matching, to select non-matching lines.

-w, --word-regexp

Select only those lines containing matches that form whole words. The test is that the matching substring must either be at the beginning of the line, or preceded by a non-word constituent character. Similarly, it must be either at the end of the line or followed by a non-word constituent character. Word-constituent characters are letters, digits, and the underscore.

-x, --line-regexp

Select only those matches that exactly match the whole line. For a regular expression pattern, this is like parenthesizing the pattern and then surrounding it with ^ and $.

-y

Obsolete synonym for -i.

General Output Control

-c, --count

Suppress normal output; instead print a count of matching lines for each input file. With the -v, --invert-match option (see below), count non-matching lines.

--color[=WHEN], --colour[=WHEN]

Surround the matched (non-empty) strings, matching lines, context lines, file names, line numbers, byte offsets, and separators (for fields and groups of context lines) with escape sequences to display them in color on the terminal. The colors are defined by the environment variable GREP_COLORS. The deprecated environment variable GREP_COLOR is still supported, but its setting does not have priority. WHEN is never, always, or auto.

-L, --files-without-match

Suppress normal output; instead print the name of each input file from which no output would normally have been printed. The scanning will stop on the first match.

-l, --files-with-matches

Suppress normal output; instead print the name of each input file from which output would normally have been printed. The scanning will stop on the first match.

-m NUM, --max-count=NUM

Stop reading a file after NUM matching lines. If the input is standard input from a regular file, and NUM matching lines are output, grep ensures that the standard input is positioned to just after the last matching line before exiting, regardless of the presence of trailing context lines. This enables a calling process to resume a search. When grep stops after NUM matching lines, it outputs any trailing context lines. When the -c or --count option is also used, grep does not output a count greater than NUM. When the -v or --invert-match option is also used, grep stops after outputting NUM non-matching lines.

-o, --only-matching

Print only the matched (non-empty) parts of a matching line, with each such part on a separate output line.

-q, --quiet, --silent

Quiet; do not write anything to standard output. Exit immediately with zero status if any match is found, even if an error was detected. Also see the -s or --no-messages option.

-s, --no-messages

Suppress error messages about nonexistent or unreadable files.

Output Line Prefix Control

-b, --byte-offset

Print the 0-based byte offset within the input file before each line of output. If -o (--only-matching) is specified, print the offset of the matching part itself.

-H, --with-filename

Print the file name for each match. This is the default when there is more than one file to search.

-h, --no-filename

Suppress the prefixing of file names on output. This is the default when there is only one file (or only standard input) to search.

--label=LABEL

Display input actually coming from standard input as input coming from file LABEL. This is especially useful when implementing tools like zgrep, e.g., gzip -cd foo.gz | grep --label=foo -H something. See also the -H option.

-n, --line-number

Prefix each line of output with the 1-based line number within its input file.

-T, --initial-tab

Make sure that the first character of actual line content lies on a tab stop, so that the alignment of tabs looks normal. This is useful with options that prefix their output to the actual content: -H,-n, and -b. In order to improve the probability that lines from a single file will all start at the same column, this also causes the line number and byte offset (if present) to be printed in a minimum size field width.

-u, --unix-byte-offsets

Report Unix-style byte offsets. This switch causes grep to report byte offsets as if the file were a Unix-style text file, i.e., with CR characters stripped off. This will produce results identical to running grep on a Unix machine. This option has no effect unless -b option is also used; it has no effect on platforms other than MS-DOS and MS-Windows.

-Z, --null

Output a zero byte (the ASCII NUL character) instead of the character that normally follows a file name. For example, grep -lZ outputs a zero byte after each file name instead of the usual newline. This option makes the output unambiguous, even in the presence of file names containing unusual characters like newlines. This option can be used with commands like find -print0, perl -0, sort -z, and xargs -0 to process arbitrary file names, even those that contain newline characters.

Context Line Control

-A NUM, --after-context=NUM

Print NUM lines of trailing context after matching lines. Places a line containing a group separator (--) between contiguous groups of matches. With the -o or --only-matching option, this has no effect and a warning is given.

-B NUM, --before-context=NUM

Print NUM lines of leading context before matching lines. Places a line containing a group separator (--) between contiguous groups of matches. With the -o or --only-matching option, this has no effect and a warning is given.

-C NUM, -NUM, --context=NUM

Print NUM lines of output context. Places a line containing a group separator (--) between contiguous groups of matches. With the -o or --only-matching option, this has no effect and a warning is given.

File and Directory Selection

-a, --text

Process a binary file as if it were text; this is equivalent to the --binary-files=text option.

--binary-files=TYPE

If the first few bytes of a file indicate that the file contains binary data, assume that the file is of type TYPE. By default, TYPE is binary, and grep normally outputs either a one-line message saying that a binary file matches, or no message if there is no match. If TYPE is without-match, grep assumes that a binary file does not match; this is equivalent to the -I option. If TYPE is text, grep processes a binary file as if it were text; this is equivalent to the -a option. When processing binary data, grep may treat non-text bytes as line terminators; for example, the pattern '.' (period) might not match a null byte, as the null byte might be treated as a line terminator. Warning: grep --binary-files=text might output binary garbage, which can have nasty side effects if the output is a terminal and if the terminal driver interprets some of it as commands.

-D ACTION, --devices=ACTION

If an input file is a device, FIFO or socket, use ACTION to process it. By default, ACTION is read, which means that devices are read just as if they were ordinary files. If ACTION is skip, devices are silently skipped.

-d ACTION, --directories=ACTION

If an input file is a directory, use ACTION to process it. By default, ACTION is read, i.e., read directories just as if they were ordinary files. If ACTION is skip, silently skip directories. If ACTION is recurse, read all files under each directory, recursively, following symbolic links only if they are on the command line. This is equivalent to the -r option.

--exclude=GLOB

Skip files whose base name matches GLOB (using wildcard matching). A file-name glob can use *, ?, and [...] as wildcards, and \ to quote a wildcard or backslash character literally.

--exclude-from=FILE

Skip files whose base name matches any of the file-name globs read from FILE (using wildcard matching as described under --exclude).

--exclude-dir=DIR

Exclude directories matching the pattern DIR from recursive searches.

-I

Process a binary file as if it did not contain matching data; this is equivalent to the --binary-files=without-match option.

--include=GLOB

Search only files whose base name matches GLOB (using wildcard matching as described under --exclude).

-r, --recursive

Read all files under each directory, recursively, following symbolic links only if they are on the command line. Note that if no file operand is given, grep searches the working directory. This is equivalent to the -d recurse option.

-R, --dereference-recursive

Read all files under each directory, recursively. Follow all symbolic links, unlike -r.

Other Options

--line-buffered

Use line buffering on output. This can cause a performance penalty.

-U, --binary

Treat the file(s) as binary. By default, under MS-DOS and MS-Windows, grep guesses the file type by looking at the contents of the first 32KB read from the file. If grep decides the file is a text file, it strips the CR characters from the original file contents (to make regular expressions with ^ and $ work correctly). Specifying -U overrules this guesswork, causing all files to be read and passed to the matching mechanism verbatim; if the file is a text file with CR/LF pairs at the end of each line, this will cause some regular expressions to fail. This option has no effect on platforms other than MS-DOS and MS-Windows.

-z, --null-data

Treat the input as a set of lines, each terminated by a zero byte (the ASCII NUL character) instead of a newline. Like the -Z or --null option, this option can be used with commands like sort -z to process arbitrary file names.

REGULAR EXPRESSIONS

A regular expression is a pattern that describes a set of strings. Regular expressions are constructed analogously to arithmetic expressions, by using various operators to combine smaller expressions.

grep understands three different versions of regular expression syntax: ``basic'' (BRE), ``extended'' (ERE) and ``perl'' (PCRE). In GNU grep, there is no difference in available functionality between basic and extended syntaxes. In other implementations, basic regular expressions are less powerful. The following description applies to extended regular expressions; differences for basic regular expressions are summarized afterwards. Perl-compatible regular expressions give additional functionality, and are documented in pcresyntax(3) and pcrepattern(3), but work only if PCRE is available in the system.

The fundamental building blocks are the regular expressions that match a single character. Most characters, including all letters and digits, are regular expressions that match themselves. Any meta-character with special meaning may be quoted by preceding it with a backslash.

The period . matches any single character.

Character Classes and Bracket Expressions

A bracket expression is a list of characters enclosed by [ and ]. It matches any single character in that list; if the first character of the list is the caret ^ then it matches any character not in the list. For example, the regular expression [0123456789] matches any single digit.

Within a bracket expression, a range expression consists of two characters separated by a hyphen. It matches any single character that sorts between the two characters, inclusive, using the locale's collating sequence and character set. For example, in the default C locale, [a-d] is equivalent to [abcd]. Many locales sort characters in dictionary order, and in these locales [a-d] is typically not equivalent to [abcd]; it might be equivalent to [aBbCcDd], for example. To obtain the traditional interpretation of bracket expressions, you can use the C locale by setting the LC_ALL environment variable to the value C.

Finally, certain named classes of characters are predefined within bracket expressions, as follows. Their names are self explanatory, and they are [:alnum:], [:alpha:], [:cntrl:], [:digit:], [:graph:], [:lower:], [:print:], [:punct:], [:space:], [:upper:], and [:xdigit:]. For example, [[:alnum:]] means the character class of numbers and letters in the current locale. In the C locale and ASCII character set encoding, this is the same as [0-9A-Za-z]. (Note that the brackets in these class names are part of the symbolic names, and must be included in addition to the brackets delimiting the bracket expression.) Most meta-characters lose their special meaning inside bracket expressions. To include a literal ] place it first in the list. Similarly, to include a literal ^ place it anywhere but first. Finally, to include a literal - place it last.

Anchoring

The caret ^ and the dollar sign $ are meta-characters that respectively match the empty string at the beginning and end of a line.

The Backslash Character and Special Expressions

The symbols \< and \> respectively match the empty string at the beginning and end of a word. The symbol \b matches the empty string at the edge of a word, and \B matches the empty string provided it's not at the edge of a word. The symbol \w is a synonym for [_[:alnum:]] and \W is a synonym for [^_[:alnum:]].

Repetition

A regular expression may be followed by one of several repetition operators:

?

The preceding item is optional and matched at most once.

*

The preceding item will be matched zero or more times.

+

The preceding item will be matched one or more times.

{n}

The preceding item is matched exactly n times.

{n,}

The preceding item is matched n or more times.

{,m}

The preceding item is matched at most m times. This is a GNU extension.

{n,m}

The preceding item is matched at least n times, but not more than m times.

Concatenation

Two regular expressions may be concatenated; the resulting regular expression matches any string formed by concatenating two substrings that respectively match the concatenated expressions.

Alternation

Two regular expressions may be joined by the infix operator |; the resulting regular expression matches any string matching either alternate expression.

Precedence

Repetition takes precedence over concatenation, which in turn takes precedence over alternation. A whole expression may be enclosed in parentheses to override these precedence rules and form a subexpression.

Back References and Subexpressions

The back-reference \n, where n is a single digit, matches the substring previously matched by the nth parenthesized subexpression of the regular expression.

Basic vs Extended Regular Expressions

In basic regular expressions the meta-characters ?, +, {, |, (, and ) lose their special meaning; instead use the backslashed versions \?, \+, \{, \|, \(, and \).

ENVIRONMENT VARIABLES

The behavior of grep is affected by the following environment variables.

The locale for category LC_foo is specified by examining the three environment variables LC_ALL, LC_foo, LANG, in that order. The first of these variables that is set specifies the locale. For example, if LC_ALL is not set, but LC_MESSAGES is set to pt_BR, then the Brazilian Portuguese locale is used for the LC_MESSAGES category. The C locale is used if none of these environment variables are set, if the locale catalog is not installed, or if grep was not compiled with national language support (NLS).

GREP_OPTIONS

This variable specifies default options to be placed in front of any explicit options. As this causes problems when writing portable scripts, this feature will be removed in a future release of grep, and grep warns if it is used. Please use an alias or script instead.

GREP_COLOR

This variable specifies the color used to highlight matched (non-empty) text. It is deprecated in favor of GREP_COLORS, but still supported. The mt, ms, and mc capabilities of GREP_COLORS have priority over it. It can only specify the color used to highlight the matching non-empty text in any matching line (a selected line when the -v command-line option is omitted, or a context line when -v is specified). The default is 01;31, which means a bold red foreground text on the terminal's default background.

GREP_COLORS

Specifies the colors and other attributes used to highlight various parts of the output. Its value is a colon-separated list of capabilities that defaults to ms=01;31:mc=01;31:sl=:cx=:fn=35:ln=32:bn=32:se=36 with the rv and ne boolean capabilities omitted (i.e., false). Supported capabilities are as follows.

sl=

SGR substring for whole selected lines (i.e., matching lines when the -v command-line option is omitted, or non-matching lines when -v is specified). If however the boolean rv capability and the -v command-line option are both specified, it applies to context matching lines instead. The default is empty (i.e., the terminal's default color pair).

cx=

SGR substring for whole context lines (i.e., non-matching lines when the -v command-line option is omitted, or matching lines when -v is specified). If however the boolean rv capability and the -v command-line option are both specified, it applies to selected non-matching lines instead. The default is empty (i.e., the terminal's default color pair).

rv

Boolean value that reverses (swaps) the meanings of the sl= and cx= capabilities when the -v command-line option is specified. The default is false (i.e., the capability is omitted).

mt=01;31

SGR substring for matching non-empty text in any matching line (i.e., a selected line when the -v command-line option is omitted, or a context line when -v is specified). Setting this is equivalent to setting both ms= and mc= at once to the same value. The default is a bold red text foreground over the current line background.

ms=01;31

SGR substring for matching non-empty text in a selected line. (This is only used when the -v command-line option is omitted.) The effect of the sl= (or cx= if rv) capability remains active when this kicks in. The default is a bold red text foreground over the current line background.

mc=01;31

SGR substring for matching non-empty text in a context line. (This is only used when the -v command-line option is specified.) The effect of the cx= (or sl= if rv) capability remains active when this kicks in. The default is a bold red text foreground over the current line background.

fn=35

SGR substring for file names prefixing any content line. The default is a magenta text foreground over the terminal's default background.

ln=32

SGR substring for line numbers prefixing any content line. The default is a green text foreground over the terminal's default background.

bn=32

SGR substring for byte offsets prefixing any content line. The default is a green text foreground over the terminal's default background.

se=36

SGR substring for separators that are inserted between selected line fields (:), between context line fields, (-), and between groups of adjacent lines when nonzero context is specified (--). The default is a cyan text foreground over the terminal's default background.

ne

Boolean value that prevents clearing to the end of line using Erase in Line (EL) to Right (\\\33[K) each time a colorized item ends. This is needed on terminals on which EL is not supported. It is otherwise useful on terminals for which the back_color_erase (bce) boolean terminfo capability does not apply, when the chosen highlight colors do not affect the background, or when EL is too slow or causes too much flicker. The default is false (i.e., the capability is omitted).

Note that boolean capabilities have no =... part. They are omitted (i.e., false) by default and become true when specified.

See the Select Graphic Rendition (SGR) section in the documentation of the text terminal that is used for permitted values and their meaning as character attributes. These substring values are integers in decimal representation and can be concatenated with semicolons. grep takes care of assembling the result into a complete SGR sequence (\\\33[...m). Common values to concatenate include 1 for bold, 4 for underline, 5 for blink, 7 for inverse, 39 for default foreground color, 30 to 37 for foreground colors, 90 to 97 for 16-color mode foreground colors, 38;5;0 to 38;5;255 for 88-color and 256-color modes foreground colors, 49 for default background color, 40 to 47 for background colors, 100 to 107 for 16-color mode background colors, and 48;5;0 to 48;5;255 for 88-color and 256-color modes background colors.

LC_ALL, LC_COLLATE, LANG

These variables specify the locale for the LC_COLLATE category, which determines the collating sequence used to interpret range expressions like [a-z].

LC_ALL, LC_CTYPE, LANG

These variables specify the locale for the LC_CTYPE category, which determines the type of characters, e.g., which characters are whitespace.

LC_ALL, LC_MESSAGES, LANG

These variables specify the locale for the LC_MESSAGES category, which determines the language that grep uses for messages. The default C locale uses American English messages.

POSIXLY_CORRECT

If set, grep behaves as POSIX requires; otherwise, grep behaves more like other GNU programs. POSIX requires that options that follow file names must be treated as file names; by default, such options are permuted to the front of the operand list and are treated as options. Also, POSIX requires that unrecognized options be diagnosed as ``illegal'', but since they are not really against the law the default is to diagnose them as ``invalid''. POSIXLY_CORRECT also disables _N_GNU_nonoption_argv_flags_, described below.

_N_GNU_nonoption_argv_flags_

(Here N is grep's numeric process ID.) If the ith character of this environment variable's value is 1, do not consider the ith operand of grep to be an option, even if it appears to be one. A shell can put this variable in the environment for each command it runs, specifying which operands are the results of file name wildcard expansion and therefore should not be treated as options. This behavior is available only with the GNU C library, and only when POSIXLY_CORRECT is not set.

EXIT STATUS

Normally the exit status is 0 if a line is selected, 1 if no lines were selected, and 2 if an error occurred. However, if the -q or --quiet or --silent is used and a line is selected, the exit status is 0 even if an error occurred.

COPYRIGHT

Copyright 1998-2000, 2002, 2005-2016 Free Software Foundation, Inc.

This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

BUGS

Reporting Bugs

Email bug reports to bug-grep@gnu.org laemail: O rathe bug-reporting address An http://lists.gnu.org/mailman/listinfo/bug-grep laURL: L raemail archive and a http://debbugs.gnu.org/cgi/pkgreport.cgi?package=grep laURL: L rabug tracker are available.

Known Bugs

Large repetition counts in the {n,m} construct may cause grep to use lots of memory. In addition, certain other obscure regular expressions require exponential time and space, and may cause grep to run out of memory.

Back-references are very slow, and may require exponential time.

SEE ALSO

Regular Manual Pages

awk(3), cmp(1), diff(1), find(1), gzip(1), perl(1), sed(1), sort(1), xargs(1), zgrep(1), read(2), pcre(3), pcresyntax(3), pcrepattern(3), terminfo(5), glob(7), regex(7).

POSIX Programmer's Manual Page

grep(1p).

Full Documentation

A http://www.gnu.org/software/grep/manual/ laURL: L racomplete manual is available. If the info and grep programs are properly installed at your site, the command

info grep

should give you access to the complete manual.

NOTES

This man page is maintained only fitfully; the full documentation is often more up-to-date.

NAME SYNOPSIS DESCRIPTION OPTIONS Generic Program Information Matcher Selection Matching Control General Output Control Output Line Prefix Control Context Line Control File and Directory Selection Other Options REGULAR EXPRESSIONS Character Classes and Bracket Expressions Anchoring The Backslash Character and Special Expressions Repetition Concatenation Alternation Precedence Back References and Subexpressions Basic vs Extended Regular Expressions ENVIRONMENT VARIABLES EXIT STATUS COPYRIGHT BUGS Reporting Bugs Known Bugs SEE ALSO Regular Manual Pages POSIX Programmer's Manual Page Full Documentation NOTES

This document was created by man2html using the manual pages.

Time: 16:33:34 GMT, September 14, 2024

Handle

TOC Index

NAME

handle - list open files

SYNOPSIS

WA2LWinTools/lib/shell/handle [ -? ]

handle [[ -a ] [ -u ] | [ -c handle [ -l ] [ -y ]] | [ -s ]] [ -p processname | pid [ name ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

Handle is targeted at searching for open file references, so if you do not specify any command-line parameters it will list the values of all the handles in the system that refer to open files and the names of the files. It also takes several parameters that modify this behavior.

Handle output:

When not in search mode (enabled by specifying a name fragment as a parameter), Handle divides its output into sections for each process it is printing handle information for. Dashed lines are used as a separator, immediately below which you will see the process name and its process id (PID). Beneath the process name are listed handle values (in hexadecimal), the type of object the handle is associated with, and the name of the object if it has one.

When in search mode, Handle prints the process names and id's are listed on the left side and the names of the objects that had a match are on the right.

More information:

You can find more information on the Object Manager in Windows Internals, 4th Edition or by browsing the Object Manager name-space with WinObj (https://www.sysinternals.com/downloads/winobj).

OPTIONS

-?

print usage information.

-a

Dump information about all types of handles, not just those that refer to files. Other types include ports, Registry keys, synchronization primitives, threads, and processes.

-c

Closes the specified handle (interpreted as a hexadecimal number). You must specify the process by its PID. WARNING: Closing handles can cause application or system instability.

-l

Dump the sizes of pagefile-backed sections.

-y

Don't prompt for close handle confirmation.

-s

Print count of each type of handle open.

-u

Show the owning user name when searching for handles.

-p

Instead of examining all the handles in the system, this parameter narrows Handle's scan to those processes that begin with the name process. Thus: handle -p exp would dump the open files for all processes that start with "exp" which would include Explorer.

name

This parameter is present so that you can direct Handle to search for references to an object with a particular name. For example, if you wanted to now which process (if any) has "c:\windows\system32" open you could type:

handle windows\system

The name match is case-insensitive and the fragment specified can be anywhere in the paths you are interested in.

ENVIRONMENT

-

EXIT STATUS

0

always.

FILES

-

EXAMPLES

-

SEE ALSO

wintoolsintro(1), config(1m), wtshell(1m), https://www.sysinternals.com/downloads/handle, https://www.sysinternals.com/downloads/winobj

NOTES

Parts of this manpage were extracted from the documentation of handle written by Mark Russinovich and modified to fit to the WA2L/WinTools package. See: https://www.sysinternals.com/downloads/handle for more information.

BUGS

-

AUTHOR

handle was developed by Mark Russinovich and integrated into WA2L/WinTools by Christian Walther. Send suggestions and bug reports related to the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:07 GMT, September 14, 2024

HEAD

TOC Index

NAME

head - output the first part of files

SYNOPSIS

head [OPTION]... [FILE]...

DESCRIPTION

Print the first 10 lines of each FILE to standard output. With more than one FILE, precede each with a header giving the file name. With no FILE, or when FILE is -, read standard input.

Mandatory arguments to long options are mandatory for short options too.

-c, --bytes=[-]K

print the first K bytes of each file; with the leading `-', print all but the last K bytes of each file

-n, --lines=[-]K

print the first K lines instead of the first 10; with the leading `-', print all but the last K lines of each file

-q, --quiet, --silent

never print headers giving file names

-v, --verbose

always print headers giving file names

--help

display this help and exit

--version

output version information and exit

K may have a multiplier suffix: b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.

AUTHOR

Written by David MacKenzie and Jim Meyering.

REPORTING BUGS

Report head bugs to bug-coreutils@gnu.org

GNU coreutils home page: <http://www.gnu.org/software/coreutils/>

General help using GNU software: <http://www.gnu.org/gethelp/>

Report head translation bugs to <http://translationproject.org/team/>

COPYRIGHT

Copyright © 2009 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.

This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

The full documentation for head is maintained as a Texinfo manual. If the info and head programs are properly installed at your site, the command

info coreutils aqhead invocationaq

should give you access to the complete manual.

NAME SYNOPSIS DESCRIPTION AUTHOR REPORTING BUGS COPYRIGHT SEE ALSO

This document was created by man2html using the manual pages.

Time: 16:33:36 GMT, September 14, 2024

kill

TOC Index

NAME

kill - kill/stop processes

SYNOPSIS

WA2LWinTools/lib/shell/kill [ -? ]

kill [ -t ] [ \\computer [ -u username ] [ -p password ]] process_name | process_id

AVAILABILITY

WA2L/WinTools

DESCRIPTION

Running kill with a process ID directs it to kill the process of that ID on the local computer. If you specify a process name kill will kill all processes that have that name.

OPTIONS

-?

Displays the supported options.

-t

Kill the process and its descendants.

\\computer

Specifies the computer on which the process you want to terminate is executing. The remote computer must be accessible via the NT network neighborhood.

-u username

If you want to kill a process on a remote system and the account you are executing in does not have administrative privileges on the remote system then you must login as an administrator using this command-line option. If you do not include the password with the -p option then kill will prompt you for the password without echoing your input to the display.

-p password

This option lets you specify the login password on the command line so that you can use kill from batch files. If you specify an account name and omit the -p option kill prompts you interactively for a password.

process_id

Specifies the process ID of the process you want to kill.

process_name

Specifies the process name of the process or processes you want to kill.

ENVIRONMENT

-

EXIT STATUS

0

operation succeeded.

1

operation failed.

FILES

-

EXAMPLES

-

SEE ALSO

wintoolsintro(1), config(1m), wtshell(1m), https://www.sysinternals.com/downloads/pskill

NOTES

Parts of this manpage were extracted from the documentation of pskill written by Mark Russinovich and modified to fit to the WA2L/WinTools package. See: https://www.sysinternals.com/downloads/pskill for more information.

BUGS

-

AUTHOR

pskill was developed by Mark Russinovich and integrated as kill into WA2L/WinTools by Christian Walther. Send suggestions and bug reports related to the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:14 GMT, September 14, 2024

ll

TOC Index

NAME

ll - list files (ls -la)

SYNOPSIS

WA2LWinTools/lib/shell/ll [ ls_options ]... [ file ]...

AVAILABILITY

WA2L/WinTools

DESCRIPTION

long listing of files.

Internally ll calls ls -la to perform a long listing of the files.

OPTIONS

ls_options

additional options to the native ls(1) command that is called with the -la option.

file

file(s) to be listed.

ENVIRONMENT

-

EXIT STATUS

x

exist status of the native ls(1) command.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), ls(1)

FILES

-

NOTES

-

BUGS

-

AUTHOR

ll was developed by by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS EXAMPLES SEE ALSO FILES NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:15 GMT, September 14, 2024

MAKE

TOC Index

NAME

make - GNU make utility to maintain groups of programs

SYNOPSIS

make [OPTION]... [TARGET]...

DESCRIPTION

The make utility will determine automatically which pieces of a large program need to be recompiled, and issue the commands to recompile them. The manual describes the GNU implementation of make, which was written by Richard Stallman and Roland McGrath, and is currently maintained by Paul Smith. Our examples show C programs, since they are very common, but you can use make with any programming language whose compiler can be run with a shell command. In fact, make is not limited to programs. You can use it to describe any task where some files must be updated automatically from others whenever the others change.

To prepare to use make, you must write a file called the makefile that describes the relationships among files in your program, and the states the commands for updating each file. In a program, typically the executable file is updated from object files, which are in turn made by compiling source files.

Once a suitable makefile exists, each time you change some source files, this simple shell command:

make

suffices to perform all necessary recompilations. The make program uses the makefile description and the last-modification times of the files to decide which of the files need to be updated. For each of those files, it issues the commands recorded in the makefile.

make executes commands in the makefile to update one or more target names, where name is typically a program. If no -f option is present, make will look for the makefiles GNUmakefile, makefile, and Makefile, in that order.

Normally you should call your makefile either makefile or Makefile. (We recommend Makefile because it appears prominently near the beginning of a directory listing, right near other important files such as README.) The first name checked, GNUmakefile, is not recommended for most makefiles. You should use this name if you have a makefile that is specific to GNU make, and will not be understood by other versions of make. If makefile is '-', the standard input is read.

make updates a target if it depends on prerequisite files that have been modified since the target was last modified, or if the target does not exist.

OPTIONS

-b, -m

These options are ignored for compatibility with other versions of make.

-B, --always-make

Unconditionally make all targets.

-C dir, --directory=dir

Change to directory dir before reading the makefiles or doing anything else. If multiple -C options are specified, each is interpreted relative to the previous one: -C / -C etc is equivalent to -C /etc. This is typically used with recursive invocations of make.

-d

Print debugging information in addition to normal processing. The debugging information says which files are being considered for remaking, which file-times are being compared and with what results, which files actually need to be remade, which implicit rules are considered and which are applied---everything interesting about how make decides what to do.

--debug[=FLAGS]

Print debugging information in addition to normal processing. If the FLAGS are omitted, then the behavior is the same as if -d was specified. FLAGS may be a for all debugging output (same as using -d), b for basic debugging, v for more verbose basic debugging, i for showing implicit rules, j for details on invocation of commands, and m for debugging while remaking makefiles. Use n to disable all previous debugging flags.

-e, --environment-overrides

Give variables taken from the environment precedence over variables from makefiles.

-f file, --file=file, --makefile=FILE

Use file as a makefile.

-i, --ignore-errors

Ignore all errors in commands executed to remake files.

-I dir, --include-dir=dir

Specifies a directory dir to search for included makefiles. If several -I options are used to specify several directories, the directories are searched in the order specified. Unlike the arguments to other flags of make, directories given with -I flags may come directly after the flag: -Idir is allowed, as well as -I dir. This syntax is allowed for compatibility with the C preprocessor's -I flag.

-j [jobs], --jobs[=jobs]

Specifies the number of jobs (commands) to run simultaneously. If there is more than one -j option, the last one is effective. If the -j option is given without an argument, make will not limit the number of jobs that can run simultaneously. When make invokes a sub-make, all instances of make will coordinate to run the specified number of jobs at a time; see the section PARALLEL MAKE AND THE JOBSERVER for details.

--jobserver-fds [R,W]

Internal option make uses to pass the jobserver pipe read and write file descriptor numbers to sub-makes; see the section PARALLEL MAKE AND THE JOBSERVER for details

-k, --keep-going

Continue as much as possible after an error. While the target that failed, and those that depend on it, cannot be remade, the other dependencies of these targets can be processed all the same.

-l [load], --load-average[=load]

Specifies that no new jobs (commands) should be started if there are others jobs running and the load average is at least load (a floating-point number). With no argument, removes a previous load limit.

-L, --check-symlink-times

Use the latest mtime between symlinks and target.

-n, --just-print, --dry-run, --recon

Print the commands that would be executed, but do not execute them (except in certain circumstances).

-o file, --old-file=file, --assume-old=file

Do not remake the file file even if it is older than its dependencies, and do not remake anything on account of changes in file. Essentially the file is treated as very old and its rules are ignored.

-O[type], --output-sync[=type]

When running multiple jobs in parallel with -j, ensure the output of each job is collected together rather than interspersed with output from other jobs. If type is not specified or is target the output from the entire recipe for each target is grouped together. If type is line the output from each command line within a recipe is grouped together. If type is recurse output from an entire recursive make is grouped together. If type is none output synchronization is disabled.

-p, --print-data-base

Print the data base (rules and variable values) that results from reading the makefiles; then execute as usual or as otherwise specified. This also prints the version information given by the -v switch (see below). To print the data base without trying to remake any files, use make -p -f/dev/null.

-q, --question

``Question mode''. Do not run any commands, or print anything; just return an exit status that is zero if the specified targets are already up to date, nonzero otherwise.

-r, --no-builtin-rules

Eliminate use of the built-in implicit rules. Also clear out the default list of suffixes for suffix rules.

-R, --no-builtin-variables

Don't define any built-in variables.

-s, --silent, --quiet

Silent operation; do not print the commands as they are executed.

-S, --no-keep-going, --stop

Cancel the effect of the -k option. This is never necessary except in a recursive make where -k might be inherited from the top-level make via MAKEFLAGS or if you set -k in MAKEFLAGS in your environment.

-t, --touch

Touch files (mark them up to date without really changing them) instead of running their commands. This is used to pretend that the commands were done, in order to fool future invocations of make.

--trace

Information about the disposition of each target is printed (why the target is being rebuilt and what commands are run to rebuild it).

-v, --version

Print the version of the make program plus a copyright, a list of authors and a notice that there is no warranty.

-w, --print-directory

Print a message containing the working directory before and after other processing. This may be useful for tracking down errors from complicated nests of recursive make commands.

--no-print-directory

Turn off -w, even if it was turned on implicitly.

-W file, --what-if=file, --new-file=file, --assume-new=file

Pretend that the target file has just been modified. When used with the -n flag, this shows you what would happen if you were to modify that file. Without -n, it is almost the same as running a touch command on the given file before running make, except that the modification time is changed only in the imagination of make.

--warn-undefined-variables

Warn when an undefined variable is referenced.

EXIT STATUS

GNU make exits with a status of zero if all makefiles were successfully parsed and no targets that were built failed. A status of one will be returned if the -q flag was used and make determines that a target needs to be rebuilt. A status of two will be returned if any errors were encountered.

SEE ALSO

The full documentation for make is maintained as a Texinfo manual. If the info and make programs are properly installed at your site, the command

info make

should give you access to the complete manual.

PARALLEL MAKE AND THE JOBSERVER

Using the -j option, the user can instruct make to execute tasks in parallel. By specifying a numeric argument to -j the user may specify an upper limit of the number of parallel tasks to be run.

When the build environment is such that a top level make invokes sub-makes (for instance, a style in which each sub-directory contains its own Makefile ), no individual instance of make knows how many tasks are running in parallel, so keeping the number of tasks under the upper limit would be impossible without communication between all the make instances running. While solutions like having the top level make serve as a central controller are feasible, or using other synchronization mechanisms like shared memory or sockets can be created, the current implementation uses a simple shared pipe.

This pipe is created by the top-level make process, and passed on to all the sub-makes. The top level makeprocesswrites N-1 one-byte tokens into the pipe (The top level make is assumed to reserve one token for itself). Whenever any of the make processes (including the top-level make ) needs to run a new task, it reads a byte from the shared pipe. If there are no tokens left, it must wait for a token to be written back to the pipe. Once the task is completed, the make process writes a token back to the pipe (and thus, if the tokens had been exhausted, unblocking the first make process that was waiting to read a token). Since only N-1 tokens were written into the pipe, no more than N tasks can be running at any given time.

If the job to be run is not a sub-make then make will close the jobserver pipe file descriptors before invoking the commands, so that the command can not interfere with the jobserver, and the command does not find any unusual file descriptors.

BUGS

See the chapter ``Problems and Bugs'' in The GNU Make Manual.

AUTHOR

This manual page contributed by Dennis Morse of Stanford University. Further updates contributed by Mike Frysinger. It has been reworked by Roland McGrath. Maintained by Paul Smith.

COPYRIGHT

Copyright © 1992-1993, 1996-2014 Free Software Foundation, Inc. This file is part of GNU make.

GNU Make is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.

GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.

NAME SYNOPSIS DESCRIPTION OPTIONS EXIT STATUS SEE ALSO PARALLEL MAKE AND THE JOBSERVER BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:33:38 GMT, September 14, 2024

NCAT

TOC Index

NAME

ncat - Concatenate and redirect sockets

SYNOPSIS

ncat [OPTIONS...] [hostname] [port]

DESCRIPTION

Ncat is a feature-packed networking utility which reads and writes data across networks from the command line. Ncat was written for the Nmap Project and is the culmination of the currently splintered family of Netcat incarnations. It is designed to be a reliable back-end tool to instantly provide network connectivity to other applications and users. Ncat will not only work with IPv4 and IPv6 but provides the user with a virtually limitless number of potential uses.

Among Ncat's vast number of features there is the ability to chain Ncats together; redirection of TCP, UDP, and SCTP ports to other sites; SSL support; and proxy connections via SOCKS4, SOCKS5 or HTTP proxies (with optional proxy authentication as well). Some general principles apply to most applications and thus give you the capability of instantly adding networking support to software that would normally never support it.

OPTIONS SUMMARY

Ncat 7.70 ( https://nmap.org/ncat )

Usage: ncat [options] [hostname] [port]

Options taking a time assume seconds. Append 'ms' for milliseconds,

's' for seconds, 'm' for minutes, or 'h' for hours (e.g. 500ms).

-4                         Use IPv4 only

-6                         Use IPv6 only

-U, --unixsock             Use Unix domain sockets only

-C, --crlf                 Use CRLF for EOL sequence

-c, --sh-exec <command>    Executes the given command via /bin/sh

-e, --exec <command>       Executes the given command

--lua-exec <filename>  Executes the given Lua script

-g hop1[,hop2,...]         Loose source routing hop points (8 max)

-G <n>                     Loose source routing hop pointer (4, 8, 12, ...)

-m, --max-conns <n>        Maximum <n> simultaneous connections

-h, --help                 Display this help screen

-d, --delay <time>         Wait between read/writes

-o, --output <filename>    Dump session data to a file

-x, --hex-dump <filename>  Dump session data as hex to a file

-i, --idle-timeout <time>  Idle read/write timeout

-p, --source-port port     Specify source port to use

-s, --source addr          Specify source address to use (doesn't affect -l)

-l, --listen               Bind and listen for incoming connections

-k, --keep-open            Accept multiple connections in listen mode

-n, --nodns                Do not resolve hostnames via DNS

-t, --telnet               Answer Telnet negotiations

-u, --udp                  Use UDP instead of default TCP

--sctp                 Use SCTP instead of default TCP

-v, --verbose              Set verbosity level (can be used several times)

-w, --wait <time>          Connect timeout

-z                         Zero-I/O mode, report connection status only

--append-output        Append rather than clobber specified output files

--send-only            Only send data, ignoring received; quit on EOF

--recv-only            Only receive data, never send anything

--allow                Allow only given hosts to connect to Ncat

--allowfile            A file of hosts allowed to connect to Ncat

--deny                 Deny given hosts from connecting to Ncat

--denyfile             A file of hosts denied from connecting to Ncat

--broker               Enable Ncat's connection brokering mode

--chat                 Start a simple Ncat chat server

--proxy <addr[:port]>  Specify address of host to proxy through

--proxy-type <type>    Specify proxy type ("http" or "socks4" or "socks5")

--proxy-auth <auth>    Authenticate with HTTP or SOCKS proxy server

--ssl                  Connect or listen with SSL

--ssl-cert             Specify SSL certificate file (PEM) for listening

--ssl-key              Specify SSL private key (PEM) for listening

--ssl-verify           Verify trust and domain name of certificates

--ssl-trustfile        PEM file containing trusted SSL certificates

--ssl-ciphers          Cipherlist containing SSL ciphers to use

--ssl-alpn             ALPN protocol list to use.

--version              Display Ncat's version information and exit

See the ncat(1) manpage for full options, descriptions and usage examples

CONNECT MODE AND LISTEN MODE

Ncat operates in one of two primary modes: connect mode and listen mode. Other modes, such as the HTTP proxy server, act as special cases of these two. In connect mode, Ncat works as a client. In listen mode it is a server.

In connect mode, the hostname and port arguments tell what to connect to. hostname is required, and may be a hostname or IP address. If port is supplied, it must be a decimal port number. If omitted, it defaults to 31337.

In listen mode, hostname and port control the address the server will bind to. Both arguments are optional in listen mode. If hostname is omitted, it defaults to listening on all available addresses over IPv4 and IPv6. If port is omitted, it defaults to 31337.

PROTOCOL OPTIONS

-4 (IPv4 only)

Force the use of IPv4 only.

-6 (IPv6 only)

Force the use of IPv6 only.

-U, --unixsock (Use Unix domain sockets)

Use Unix domain sockets rather than network sockets. This option may be used on its own for stream sockets, or combined with --udp for datagram sockets. A description of -U mode is in the section called lqUNIX DOMAIN SOCKETSrq.

-u, --udp (Use UDP)

Use UDP for the connection (the default is TCP).

--sctp (Use SCTP)

Use SCTP for the connection (the default is TCP). SCTP support is implemented in TCP-compatible mode.

CONNECT MODE OPTIONS

-g hop1[,hop2,...] (Loose source routing)

Sets hops for IPv4 loose source routing. You can use -g once with a comma-separated list of hops, use -g multiple times with single hops to build the list, or combine the two. Hops can be given as IP addresses or hostnames.

-G ptr (Set source routing pointer)

Sets the IPv4 source route lqpointerrq for use with -g. The argument must be a multiple of 4 and no more than 28. Not all operating systems support setting this pointer to anything other than four.

-p port, --source-port port (Specify source port)

Set the port number for Ncat to bind to.

-s host, --source host (Specify source address)

Set the address for Ncat to bind to.

LISTEN MODE OPTIONS

See the section called lqACCESS CONTROL OPTIONSrq for information on limiting the hosts that may connect to the listening Ncat process.

-l, --listen (Listen for connections)

Listen for connections rather than connecting to a remote machine

-m numconns, --max-conns numconns (Specify maximum number of connections)

The maximum number of simultaneous connections accepted by an Ncat instance. 100 is the default (60 on Windows).

-k, --keep-open (Accept multiple connections)

Normally a listening server accepts only one connection and then quits when the connection is closed. This option makes it accept multiple simultaneous connections and wait for more connections after they have all been closed. It must be combined with --listen. In this mode there is no way for Ncat to know when its network input is finished, so it will keep running until interrupted. This also means that it will never close its output stream, so any program reading from Ncat and looking for end-of-file will also hang.

--broker (Connection brokering)

Allow multiple parties to connect to a centralised Ncat server and communicate with each other. Ncat can broker communication between systems that are behind a NAT or otherwise unable to directly connect. This option is used in conjunction with --listen, which causes the --listen port to have broker mode enabled.

--chat (Ad-hoc lqchat serverrq)

The --chat option enables chat mode, intended for the exchange of text between several users. In chat mode, connection brokering is turned on. Ncat prefixes each message received with an ID before relaying it to the other connections. The ID is unique for each connected client. This helps distinguish who sent what. Additionally, non-printing characters such as control characters are escaped to keep them from doing damage to a terminal.

SSL OPTIONS

--ssl (Use SSL)

In connect mode, this option transparently negotiates an SSL session with an SSL server to securely encrypt the connection. This is particularly handy for talking to SSL enabled HTTP servers, etc.

In server mode, this option listens for incoming SSL connections, rather than plain untunneled traffic.

In UDP connect mode, this option enables Datagram TLS (DTLS). This is not supported in server mode.

--ssl-verify (Verify server certificates)

In client mode, --ssl-verify is like --ssl except that it also requires verification of the server certificate. Ncat comes with a default set of trusted certificates in the file ca-bundle.crt. Some operating systems provide a default list of trusted certificates; these will also be used if available. Use --ssl-trustfile to give a custom list. Use -v one or more times to get details about verification failures. Ncat does not check for revoked certificates.

This option has no effect in server mode.

--ssl-cert certfile.pem (Specify SSL certificate)

This option gives the location of a PEM-encoded certificate files used to authenticate the server (in listen mode) or the client (in connect mode). Use it in combination with --ssl-key.

--ssl-key keyfile.pem (Specify SSL private key)

This option gives the location of the PEM-encoded private key file that goes with the certificate named with --ssl-cert.

--ssl-trustfile cert.pem (List trusted certificates)

This option sets a list of certificates that are trusted for purposes of certificate verification. It has no effect unless combined with --ssl-verify. The argument to this option is the name of a PEM file containing trusted certificates. Typically, the file will contain certificates of certification authorities, though it may also contain server certificates directly. When this option is used, Ncat does not use its default certificates.

--ssl-ciphers cipherlist (Specify SSL ciphersuites)

This option sets the list of ciphersuites that Ncat will use when connecting to servers or when accepting SSL connections from clients. The syntax is described in the OpenSSL ciphers(1) man page, and defaults to ALL:!aNULL:!eNULL:!LOW:!EXP:!RC4:!MD5:@STRENGTH

--ssl-alpn ALPN list (Specify ALPN protocol list)

This option allows you to specify a comma-separated list of protocols to send via the Application-Layer Protocol Negotiation (ALPN) TLS extension. Not supported by all versions of OpenSSL.

PROXY OPTIONS

--proxy host[:port] (Specify proxy address)

Requests proxying through host:port, using the protocol specified by --proxy-type.

If no port is specified, the proxy protocol's well-known port is used (1080 for SOCKS and 3128 for HTTP). However, when specifying an IPv6 HTTP proxy server using the IP address rather than the hostname, the port number MUST be specified as well. If the proxy requires authentication, use --proxy-auth.

--proxy-type proto (Specify proxy protocol)

In connect mode, this option requests the protocol proto to connect through the proxy host specified by --proxy. In listen mode, this option has Ncat act as a proxy server using the specified protocol.

The currently available protocols in connect mode are http (CONNECT), socks4 (SOCKSv4), and socks5 (SOCKSv5). The only server currently supported is http. If this option is not used, the default protocol is http.

--proxy-auth user[:pass] (Specify proxy credentials)

In connect mode, gives the credentials that will be used to connect to the proxy server. In listen mode, gives the credentials that will be required of connecting clients. For use with --proxy-type http or --proxy-type socks5, the form should be username:password. For --proxy-type socks4, it should be a username only.

COMMAND EXECUTION OPTIONS

-e command, --exec command (Execute command)

Execute the specified command after a connection has been established. The command must be specified as a full pathname. All input from the remote client will be sent to the application and responses sent back to the remote client over the socket, thus making your command-line application interactive over a socket. Combined with --keep-open, Ncat will handle multiple simultaneous connections to your specified port/application like inetd. Ncat will only accept a maximum, definable, number of simultaneous connections controlled by the -m option. By default this is set to 100 (60 on Windows).

-c command, --sh-exec command (Execute command via sh)

Same as -e, except it tries to execute the command via /bin/sh. This means you don't have to specify the full path for the command, and shell facilities like environment variables are available.

--lua-exec file (Execute a .lua script)

Runs the specified file as a Lua script after a connection has been established, using a built-in interpreter. Both the script's standard input and the standard output are redirected to the connection data streams.

All exec options add the following variables to the child's environment:

NCAT_REMOTE_ADDR, NCAT_REMOTE_PORT

The IP address and port number of the remote host. In connect mode, it's the target's address; in listen mode, it's the client's address.

NCAT_LOCAL_ADDR, NCAT_LOCAL_PORT

The IP address and port number of the local end of the connection.

NCAT_PROTO

The protocol in use: one of TCP, UDP, and SCTP.

ACCESS CONTROL OPTIONS

--allow host[,host,...] (Allow connections)

The list of hosts specified will be the only hosts allowed to connect to the Ncat process. All other connection attempts will be disconnected. In case of a conflict between --allow and --deny, --allow takes precedence. Host specifications follow the same syntax used by Nmap.

--allowfile file (Allow connections from file)

This has the same functionality as --allow, except that the allowed hosts are provided in a new-line delimited allow file, rather than directly on the command line.

--deny host[,host,...] (Deny connections)

Issue Ncat with a list of hosts that will not be allowed to connect to the listening Ncat process. Specified hosts will have their session silently terminated if they try to connect. In case of a conflict between --allow and --deny, --allow takes precedence. Host specifications follow the same syntax used by Nmap.

--denyfile file (Deny connections from file)

This is the same functionality as --deny, except that excluded hosts are provided in a new-line delimited deny file, rather than directly on the command line.

TIMING OPTIONS

These options accept a time parameter. This is specified in seconds by default, though you can append ms, s, m, or h to the value to specify milliseconds, seconds, minutes, or hours.

-d time, --delay time (Specify line delay)

Set the delay interval for lines sent. This effectively limits the number of lines that Ncat will send in the specified period. This may be useful for low-bandwidth sites, or have other uses such as coping with annoying iptables --limit options.

-i time, --idle-timeout time (Specify idle timeout)

Set a fixed timeout for idle connections. If the idle timeout is reached, the connection is terminated.

-w time, --wait time (Specify connect timeout)

Set a fixed timeout for connection attempts.

OUTPUT OPTIONS

-o file, --output file (Save session data)

Dump session data to a file

-x file, --hex-dump file (Save session data in hex)

Dump session data in hex to a file.

--append-output (Append output)

Issue Ncat with --append-ouput along with -o and/or -x and it will append the resulted output rather than truncating the specified output files.

-v, --verbose (Be verbose)

Issue Ncat with -v and it will be verbose and display all kinds of useful connection based information. Use more than once (-vv, -vvv...) for greater verbosity.

MISC OPTIONS

-C, --crlf (Use CRLF as EOL)

This option tells Ncat to convert LF line endings to CRLF when taking input from standard input. This is useful for talking to some stringent servers directly from a terminal in one of the many common plain-text protocols that use CRLF for end-of-line.

-h, --help (Help screen)

Displays a short help screen with common options and parameters, and then exits.

--recv-only (Only receive data)

If this option is passed, Ncat will only receive data and will not try to send anything.

--send-only (Only send data)

If this option is passed, then Ncat will only send data and will ignore anything received. This option also causes Ncat to close the network connection and terminate after EOF is received on standard input.

--no-shutdown (Do not shutdown into half-duplex mode)

If this option is passed, Ncat will not invoke shutdown on a socket aftering seeing EOF on stdin. This is provided for backward-compatibility with OpenBSD netcat, which exhibits this behavior when executed with its '-d' option.

-t, --telnet (Answer Telnet negotiations)

Handle DO/DONT WILL/WONT Telnet negotiations. This makes it possible to script Telnet sessions with Ncat.

--version (Display version)

Displays the Ncat version number and exits.

UNIX DOMAIN SOCKETS

The -U option (same as --unixsock) causes Ncat to use Unix domain sockets rather than network sockets. Unix domain sockets exist as an entry in the filesystem. You must give the name of a socket to connect to or to listen on. For example, to make a connection,

ncat -U ~/unixsock

To listen on a socket:

ncat -l -U ~/unixsock

Listen mode will create the socket if it doesn't exist. The socket will continue to exist after the program ends.

Both stream and datagram domain sockets are supported. Use -U on its own for stream sockets, or combine it with --udp for datagram sockets. Datagram sockets require a source socket to connect from. By default, a source socket with a random filename will be created as needed, and deleted when the program ends. Use the --source with a path to use a source socket with a specific name.

EXAMPLES

Connect to example.org on TCP port 8080.

ncat example.org 8080

Listen for connections on TCP port 8080.

ncat -l 8080

Redirect TCP port 8080 on the local machine to host on port 80.

ncat --sh-exec "ncat example.org 80" -l 8080 --keep-open

Bind to TCP port 8081 and attach /bin/bash for the world to access freely.

ncat --exec "/bin/bash" -l 8081 --keep-open

Bind a shell to TCP port 8081, limit access to hosts on a local network, and limit the maximum number of simultaneous connections to 3.

ncat --exec "/bin/bash" --max-conns 3 --allow 192.168.0.0/24 -l 8081 --keep-open

Connect to smtphost:25 through a SOCKS4 server on port 1080.

ncat --proxy socks4host --proxy-type socks4 --proxy-auth joe smtphost 25

Connect to smtphost:25 through a SOCKS5 server on port 1080.

ncat --proxy socks5host --proxy-type socks5 --proxy-auth joe:secret smtphost 25

Create an HTTP proxy server on localhost port 8888.

ncat -l --proxy-type http localhost 8888

Send a file over TCP port 9899 from host2 (client) to host1 (server).

HOST1$ ncat -l 9899 > outputfile

HOST2$ ncat HOST1 9899 < inputfile

Transfer in the other direction, turning Ncat into a lqone filerq server.

HOST1$ ncat -l 9899 < inputfile

HOST2$ ncat HOST1 9899 > outputfile

EXIT CODE

The exit code reflects whether a connection was made and completed successfully. 0 means there was no error. 1 means there was a network error of some kind, for example lqConnection refusedrq or lqConnection resetrq. 2 is reserved for all other errors, like an invalid option or a nonexistent file.

BUGS

Like its authors, Ncat isn't perfect. But you can help make it better by sending bug reports or even writing patches. If Ncat doesn't behave the way you expect, first upgrade to the latest version available from m[blue]https://nmap.orgm[]. If the problem persists, do some research to determine whether it has already been discovered and addressed. Try Googling the error message or browsing the nmap-dev archives at m[blue]http://seclists.org/m[].

Read this full manual page as well. If nothing comes of this, mail a bug report to <dev@nmap.org>. Please include everything you have learned about the problem, as well as what version of Ncat you are running and what operating system version it is running on. Problem reports and Ncat usage questions sent to dev@nmap.org are far more likely to be answered than those sent to Fyodor directly.

Code patches to fix bugs are even better than bug reports. Basic instructions for creating patch files with your changes are available at m[blue]https://svn.nmap.org/nmap/HACKINGm[]. Patches may be sent to nmap-dev (recommended) or to Fyodor directly.

AUTHORS

* Chris Gibson <chris@linuxops.net>

* Kris Katterjohn <katterjohn@gmail.com>

* Mixter <mixter@gmail.com>

* Fyodor <fyodor@nmap.org> (m[blue]http://insecure.orgm[])

The original Netcat was written by *Hobbit* <hobbit@avian.org>. While Ncat isn't built on any code from the lqtraditionalrq Netcat (or any other implementation), Ncat is most definitely based on Netcat in spirit and functionality.

LEGAL NOTICES

Ncat Copyright and Licensing

Ncat is (C) 2005-2012 Insecure.Com LLC. It is distributed as free and open source software under the same license terms as our Nmap software. Precise terms and further details are available from m[blue]https://nmap.org/man/man-legal.htmlm[].

Creative Commons License for this Ncat Guide

This Ncat Reference Guide is (C) 2005-2012 Insecure.Com LLC. It is hereby placed under version 3.0 of the m[blue]Creative Commons Attribution Licensem[][1]. This allows you redistribute and modify the work as you desire, as long as you credit the original source. Alternatively, you may choose to treat this document as falling under the same license as Ncap itself (discussed previously).

Source Code Availability and Community Contributions

Source is provided to this software because we believe users have a right to know exactly what a program is going to do before they run it. This also allows you to audit the software for security holes (none have been found so far).

Source code also allows you to port Nmap (which includes Ncat) to new platforms, fix bugs, and add new features. You are highly encouraged to send your changes to <dev@nmap.org> for possible incorporation into the main distribution. By sending these changes to Fyodor or one of the Insecure.Org development mailing lists, it is assumed that you are offering the Nmap Project (Insecure.Com LLC) the unlimited, non-exclusive right to reuse, modify, and relicense the code. Nmap will always be available open source, but this is important because the inability to relicense code has caused devastating problems for other Free Software projects (such as KDE and NASM). We also occasionally relicense the code to third parties as discussed in the Nmap man page. If you wish to specify special license conditions of your contributions, just say so when you send them.

No Warranty

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License v2.0 for more details at m[blue]http://www.gnu.org/licenses/gpl-2.0.htmlm[], or in the COPYING file included with Nmap.

Inappropriate Usage

Ncat should never be installed with special privileges (e.g. suid root). That would open up a major security vulnerability as other users on the system (or attackers) could use it for privilege escalation.

Third-Party Software

This product includes software developed by the m[blue]Apache Software Foundationm[][2]. A modified version of the m[blue]Libpcap portable packet capture librarym[][3] is distributed along with Ncat. The Windows version of Ncat utilized the Libpcap-derived m[blue]Npcap librarym[][4] instead. Certain raw networking functions use the m[blue]Libdnetm[][5] networking library, which was written by Dug Song. A modified version is distributed with Ncat. Ncat can optionally link with the m[blue]OpenSSL cryptography toolkitm[][6] for SSL version detection support. All of the third-party software described in this paragraph is freely redistributable under BSD-style software licenses.

NOTES

1.

Creative Commons Attribution License

http://creativecommons.org/licenses/by/3.0/

2.

Apache Software Foundation

http://www.apache.org

3.

Libpcap portable packet capture library

http://www.tcpdump.org

4.

Npcap library

http://www.npcap.org

5.

Libdnet

http://libdnet.sourceforge.net

6.

OpenSSL cryptography toolkit

http://www.openssl.org

NAME SYNOPSIS DESCRIPTION OPTIONS SUMMARY CONNECT MODE AND LISTEN MODE PROTOCOL OPTIONS CONNECT MODE OPTIONS LISTEN MODE OPTIONS SSL OPTIONS PROXY OPTIONS COMMAND EXECUTION OPTIONS ACCESS CONTROL OPTIONS TIMING OPTIONS OUTPUT OPTIONS MISC OPTIONS UNIX DOMAIN SOCKETS EXAMPLES EXIT CODE BUGS AUTHORS LEGAL NOTICES Ncat Copyright and Licensing Creative Commons License for this Ncat Guide Source Code Availability and Community Contributions No Warranty Inappropriate Usage Third-Party Software NOTES

This document was created by man2html using the manual pages.

Time: 16:33:39 GMT, September 14, 2024

OD

TOC Index

NAME

od - dump files in octal and other formats

SYNOPSIS

od [,OPTION/]... [,FILE/]...

od [,-abcdfilosx/]... [,FILE/] [[,+/],OFFSET/[,./][,b/]]

od ,--traditional /[,OPTION/]... [,FILE/] [[,+/],OFFSET/[,./][,b/] [,+/][,LABEL/][,./][,b/]]

DESCRIPTION

Write an unambiguous representation, octal bytes by default, of FILE to standard output. With more than one FILE argument, concatenate them in the listed order to form the input.

With no FILE, or when FILE is -, read standard input.

If first and second call formats both apply, the second format is assumed if the last operand begins with + or (if there are 2 operands) a digit. An OFFSET operand means -j OFFSET. LABEL is the pseudo-address at first byte printed, incremented when dump is progressing. For OFFSET and LABEL, a 0x or 0X prefix indicates hexadecimal; suffixes may be . for octal and b for multiply by 512.

Mandatory arguments to long options are mandatory for short options too.

-A, --address-radix=,RADIX/

output format for file offsets; RADIX is one of [doxn], for Decimal, Octal, Hex or None

--endian={big|little}

swap input bytes according the specified order

-j, --skip-bytes=,BYTES/

skip BYTES input bytes first

-N, --read-bytes=,BYTES/

limit dump to BYTES input bytes

-S BYTES, --strings[=,BYTES/]

output strings of at least BYTES graphic chars; 3 is implied when BYTES is not specified

-t, --format=,TYPE/

select output format or formats

-v, --output-duplicates

do not use * to mark line suppression

-w[BYTES], --width[=,BYTES/]

output BYTES bytes per output line; 32 is implied when BYTES is not specified

--traditional

accept arguments in third form above

--help

display this help and exit

--version

output version information and exit

Traditional format specifications may be intermixed; they accumulate:

-a

same as -t a, select named characters, ignoring high-order bit

-b

same as -t o1, select octal bytes

-c

same as -t c, select printable characters or backslash escapes

-d

same as -t u2, select unsigned decimal 2-byte units

-f

same as -t fF, select floats

-i

same as -t dI, select decimal ints

-l

same as -t dL, select decimal longs

-o

same as -t o2, select octal 2-byte units

-s

same as -t d2, select decimal 2-byte units

-x

same as -t x2, select hexadecimal 2-byte units

TYPE is made up of one or more of these specifications:

a

named character, ignoring high-order bit

c

printable character or backslash escape

d[SIZE]

signed decimal, SIZE bytes per integer

f[SIZE]

floating point, SIZE bytes per float

o[SIZE]

octal, SIZE bytes per integer

u[SIZE]

unsigned decimal, SIZE bytes per integer

x[SIZE]

hexadecimal, SIZE bytes per integer

SIZE is a number. For TYPE in [doux], SIZE may also be C for sizeof(char), S for sizeof(short), I for sizeof(int) or L for sizeof(long). If TYPE is f, SIZE may also be F for sizeof(float), D for sizeof(double) or L for sizeof(long double).

Adding a z suffix to any type displays printable characters at the end of each output line.

BYTES is hex with 0x or 0X prefix, and may have a multiplier suffix:

b

512

KB

1000

K

1024

MB

1000*1000

M

1024*1024

and so on for G, T, P, E, Z, Y.

EXAMPLES

od -A x -t x1z -v

Display hexdump format output

od -A o -t oS -w16

The default output format used by od

AUTHOR

Written by Jim Meyering.

REPORTING BUGS

GNU coreutils online help: <http://www.gnu.org/software/coreutils/>

Report od translation bugs to <http://translationproject.org/team/>

COPYRIGHT

Copyright © 2017 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.

This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

Full documentation at: <http://www.gnu.org/software/coreutils/od>

or available locally via: info aq(coreutils) od invocationaq

NAME SYNOPSIS DESCRIPTION Traditional format specifications may be intermixed; they accumulate: TYPE is made up of one or more of these specifications: BYTES is hex with 0x or 0X prefix, and may have a multiplier suffix: EXAMPLES AUTHOR REPORTING BUGS COPYRIGHT SEE ALSO

This document was created by man2html using the manual pages.

Time: 16:33:40 GMT, September 14, 2024

Previous | Contents | Index | Next

- Chapter 7: Using the command-line connection tool Plink

- 7.1 Starting Plink

- 7.2 Using Plink

- 7.2.1 Using Plink for interactive logins

- 7.2.2 Using Plink for automated connections

- 7.2.3 Plink command line options

- 7.3 Using Plink in batch files and scripts

- 7.4 Using Plink with CVS

- 7.5 Using Plink with WinCVS

Chapter 7: Using the command-line connection tool Plink

Plink is a command-line connection tool similar to UNIX ssh. It is mostly used for automated operations, such as making CVS access a repository on a remote server.

Plink is probably not what you want if you want to run an interactive session in a console window.

7.1 Starting Plink

Plink is a command line application. This means that you cannot just double-click on its icon to run it and instead you have to bring up a console window. In Windows 95, 98, and ME, this is called an ‘MS-DOS Prompt’, and in Windows NT, 2000, and XP, it is called a ‘Command Prompt’. It should be available from the Programs section of your Start Menu.

In order to use Plink, the file plink.exe will need either to be on your PATH or in your current directory. To add the directory containing Plink to your PATH environment variable, type into the console window:

set PATH=C:\path\to\putty\directory;%PATH%

This will only work for the lifetime of that particular console window. To set your PATH more permanently on Windows NT, 2000, and XP, use the Environment tab of the System Control Panel. On Windows 95, 98, and ME, you will need to edit your AUTOEXEC.BAT to include a set command like the one above.

7.2 Using Plink

This section describes the basics of how to use Plink for interactive logins and for automated processes.

Once you've got a console window to type into, you can just type plink on its own to bring up a usage message. This tells you the version of Plink you're using, and gives you a brief summary of how to use Plink:

Z:\sysosd>plink

Plink: command-line connection utility

Release 0.70

Usage: plink [options] [user@]host [command]

("host" can also be a PuTTY saved session name)

Options:

-V        print version information and exit

-pgpfp    print PGP key fingerprints and exit

-v        show verbose messages

-load sessname  Load settings from saved session

-ssh -telnet -rlogin -raw -serial

force use of a particular protocol

-P port   connect to specified port

-l user   connect with specified username

-batch    disable all interactive prompts

-proxycmd command

use 'command' as local proxy

-sercfg configuration-string (e.g. 19200,8,n,1,X)

Specify the serial configuration (serial only)

The following options only apply to SSH connections:

-pw passw login with specified password

-D [listen-IP:]listen-port

Dynamic SOCKS-based port forwarding

-L [listen-IP:]listen-port:host:port

Forward local port to remote address

-R [listen-IP:]listen-port:host:port

Forward remote port to local address

-X -x     enable / disable X11 forwarding

-A -a     enable / disable agent forwarding

-t -T     enable / disable pty allocation

-1 -2     force use of particular protocol version

-4 -6     force use of IPv4 or IPv6

-C        enable compression

-i key    private key file for user authentication

-noagent  disable use of Pageant

-agent    enable use of Pageant

-noshare  disable use of connection sharing

-share    enable use of connection sharing

-hostkey aa:bb:cc:...

manually specify a host key (may be repeated)

-m file   read remote command(s) from file

-s        remote command is an SSH subsystem (SSH-2 only)

-N        don't start a shell/command (SSH-2 only)

-nc host:port

open tunnel in place of session (SSH-2 only)

-sshlog file

-sshrawlog file

log protocol details to a file

-shareexists

test whether a connection-sharing upstream exists

Once this works, you are ready to use Plink.

7.2.1 Using Plink for interactive logins

To make a simple interactive connection to a remote server, just type plink and then the host name:

Z:\sysosd>plink login.example.com

Debian GNU/Linux 2.2 flunky.example.com

flunky login:

You should then be able to log in as normal and run a session. The output sent by the server will be written straight to your command prompt window, which will most likely not interpret terminal control codes in the way the server expects it to. So if you run any full-screen applications, for example, you can expect to see strange characters appearing in your window. Interactive connections like this are not the main point of Plink.

In order to connect with a different protocol, you can give the command line options -ssh, -telnet, -rlogin or -raw. To make an SSH connection, for example:

Z:\sysosd>plink -ssh login.example.com

login as:

If you have already set up a PuTTY saved session, then instead of supplying a host name, you can give the saved session name. This allows you to use public-key authentication, specify a user name, and use most of the other features of PuTTY:

Z:\sysosd>plink my-ssh-session

Sent username "fred"

Authenticating with public key "fred@winbox"

Last login: Thu Dec  6 19:25:33 2001 from :0.0

fred@flunky:~$

(You can also use the -load command-line option to load a saved session; see section 3.8.3.1. If you use -load, the saved session exists, and it specifies a hostname, you cannot also specify a host or user@host argument - it will be treated as part of the remote command.)

7.2.2 Using Plink for automated connections

More typically Plink is used with the SSH protocol, to enable you to talk directly to a program running on the server. To do this you have to ensure Plink is using the SSH protocol. You can do this in several ways:

- Use the -ssh option as described in section 7.2.1.

- Set up a PuTTY saved session that describes the server you are connecting to, and that also specifies the protocol as SSH.

- Set the Windows environment variable PLINK_PROTOCOL to the word ssh.

Usually Plink is not invoked directly by a user, but run automatically by another process. Therefore you typically do not want Plink to prompt you for a user name or a password.

Next, you are likely to need to avoid the various interactive prompts Plink can produce. You might be prompted to verify the host key of the server you're connecting to, to enter a user name, or to enter a password.

To avoid being prompted for the server host key when using Plink for an automated connection, you should first make a manual connection (using either of PuTTY or Plink) to the same server, verify the host key (see section 2.2 for more information), and select Yes to add the host key to the Registry. After that, Plink commands connecting to that server should not give a host key prompt unless the host key changes.

To avoid being prompted for a user name, you can:

- Use the -l option to specify a user name on the command line. For example, plink login.example.com -l fred.

- Set up a PuTTY saved session that describes the server you are connecting to, and that also specifies the username to log in as (see section 4.14.1).

To avoid being prompted for a password, you should almost certainly set up public-key authentication. (See chapter 8 for a general introduction to public-key authentication.) Again, you can do this in two ways:

- Set up a PuTTY saved session that describes the server you are connecting to, and that also specifies a private key file (see section 4.22.8). For this to work without prompting, your private key will need to have no passphrase.

- Store the private key in Pageant. See chapter 9 for further information.

Once you have done all this, you should be able to run a remote command on the SSH server machine and have it execute automatically with no prompting:

Z:\sysosd>plink login.example.com -l fred echo hello, world

hello, world

Z:\sysosd>

Or, if you have set up a saved session with all the connection details:

Z:\sysosd>plink mysession echo hello, world

hello, world

Z:\sysosd>

Then you can set up other programs to run this Plink command and talk to it as if it were a process on the server machine.

7.2.3 Plink command line options

Plink accepts all the general command line options supported by the PuTTY tools. See section 3.8.3 for a description of these options.

Plink also supports some of its own options. The following sections describe Plink's specific command-line options.

7.2.3.1 -batch: disable all interactive prompts

If you use the -batch option, Plink will never give an interactive prompt while establishing the connection. If the server's host key is invalid, for example (see section 2.2), then the connection will simply be abandoned instead of asking you what to do next.

This may help Plink's behaviour when it is used in automated scripts: using -batch, if something goes wrong at connection time, the batch job will fail rather than hang.

7.2.3.2 -s: remote command is SSH subsystem

If you specify the -s option, Plink passes the specified command as the name of an SSH ‘subsystem’ rather than an ordinary command line.

(This option is only meaningful with the SSH-2 protocol.)

7.2.3.3 -share: Test and try to share an existing connection.

This option tris to detect if an existing connection can be shared (See section 4.18.5 for more information about SSH connection sharing.) and reuses that connection.

A Plink invocation of the form:

plink -share <session>

will test whether there is currently a viable ‘upstream’ for the session in question, which can be specified using any syntax you'd normally use with Plink to make an actual connection (a host/port number, a bare saved session name, -load, etc). If no ‘upstream’ viable session is found and -share is specified, this connection will be become the ‘upstream’ connection for subsequent connection sharing tries.

(This option is only meaningful with the SSH-2 protocol.)

7.2.3.4 -shareexists: test for connection-sharing upstream

This option does not make a new connection; instead it allows testing for the presence of an existing connection that can be shared. (See section 4.18.5 for more information about SSH connection sharing.)

A Plink invocation of the form:

plink -shareexists <session>

will test whether there is currently a viable ‘upstream’ for the session in question, which can be specified using any syntax you'd normally use with Plink to make an actual connection (a host/port number, a bare saved session name, -load, etc). It returns a zero exit status if a usable ‘upstream’ exists, nonzero otherwise.

(This option is only meaningful with the SSH-2 protocol.)

7.3 Using Plink in batch files and scripts

Once you have set up Plink to be able to log in to a remote server without any interactive prompting (see section 7.2.2), you can use it for lots of scripting and batch purposes. For example, to start a backup on a remote machine, you might use a command like:

plink root@myserver /etc/backups/do-backup.sh

Or perhaps you want to fetch all system log lines relating to a particular web area:

plink mysession grep /~fred/ /var/log/httpd/access.log > fredlog

Any non-interactive command you could usefully run on the server command line, you can run in a batch file using Plink in this way.

7.4 Using Plink with CVS

To use Plink with CVS, you need to set the environment variable CVS_RSH to point to Plink:

set CVS_RSH=\path\to\plink.exe

You also need to arrange to be able to connect to a remote host without any interactive prompts, as described in section 7.2.2.

You should then be able to run CVS as follows:

cvs -d :ext:user@sessionname:/path/to/repository co module

If you specified a username in your saved session, you don't even need to specify the ‘user’ part of this, and you can just say:

cvs -d :ext:sessionname:/path/to/repository co module

7.5 Using Plink with WinCVS

Plink can also be used with WinCVS. Firstly, arrange for Plink to be able to connect to a remote host non-interactively, as described in section 7.2.2.

Then, in WinCVS, bring up the ‘Preferences’ dialogue box from the Admin menu, and switch to the ‘Ports’ tab. Tick the box there labelled ‘Check for an alternate rsh name’ and in the text entry field to the right enter the full path to plink.exe. Select ‘OK’ on the ‘Preferences’ dialogue box.

Next, select ‘Command Line’ from the WinCVS ‘Admin’ menu, and type a CVS command as in section 7.4, for example:

cvs -d :ext:user@hostname:/path/to/repository co module

or (if you're using a saved session):

cvs -d :ext:user@sessionname:/path/to/repository co module

Select the folder you want to check out to with the ‘Change Folder’ button, and click ‘OK’ to check out your module. Once you've got modules checked out, WinCVS will happily invoke plink from the GUI for CVS operations.

If you want to provide feedback on this manual or on the PuTTY tools themselves, see the Feedback page.

[PuTTY development snapshot 2017-07-20.0a93b5d]

ps

TOC Index

NAME

ps - list detailed information about processes

SYNOPSIS

WA2LWinTools/lib/shell/ps [ -? ]

ps [ -d ][ -m ][ -x ][ -t ][ -s [ n ] [ -r n ] [ \\computer [ -u username ] [ -p password ]] [[ -e ] name | pid ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

The default behavior of ps is to show CPU-oriented information for all the processes that are currently running on the local system. The information listed for each process includes the time the process has executed, the amount of time the process has executed in kernel and user modes, and the amount of physical memory that the OS has assigned the process. Command-line switches allow you to view memory-oriented process information, thread statistics, or all three types of data.

Memory abbreviation Key:

All memory values are displayed in KB.

Pri

Priority

Thd

Number of Threads

Hnd

Number of Handles

VM

Virtual Memory

WS

Working Set

Priv

Private Virtual Memory

Priv Pk

Private Virtual Memory Peak

Faults

Page Faults

NonP

Non-Paged Pool

Page

Paged Pool

Cswtch

Context Switches

OPTIONS

-?

print usage information.

ps exp

would show statistics for all the processes that start with "exp", which would include Explorer.

-d

Show thread detail.

-m

Show memory detail.

-x

Show processes, memory information and threads.

-t

Show process tree.

-s [ n ]

Run in task-manager mode, for optional seconds specified. Press Escape to abort.

-r n

Task-manager mode refresh rate in seconds (default is 1).

\\computer

Instead of showing process information for the local system, ps will show information for the NT/Win2K system specified. Include the -u switch with a username and password to login to the remote system if your security credentials do not permit you to obtain performance counter information from the remote system.

-u username

If you want to kill a process on a remote system and the account you are executing in does not have administrative privileges on the remote system then you must login as an administrator using this command-line option. If you do not include the password with the -p option then ps will prompt you for the password without echoing your input to the display.

-p password

This option lets you specify the login password on the command line so that you can use ps from batch files. If you specify an account name and omit the -p option ps prompts you interactively for a password.

name

Show information about processes that begin with the name specified.

-e

Exact match the process name.

pid

Instead of listing all the running processes in the system, this parameter narrows ps's scan to the process that has the specified PID. Thus:

ps 53

would dump statistics for the process with the PID 53.

ENVIRONMENT

-

EXIT STATUS

0

operation succeeded.

1

operation failed.

FILES

-

EXAMPLES

-

SEE ALSO

wintoolsintro(1), config(1m), wtshell(1m), https://www.sysinternals.com/downloads/pslist

NOTES

Parts of this manpage were extracted from the documentation of pslist written by Mark Russinovich and modified to fit to the WA2L/WinTools package. See: https://www.sysinternals.com/downloads/pslist for more information.

BUGS

-

AUTHOR

pslist was developed by Mark Russinovich and integrated as ps into WA2L/WinTools by Christian Walther. Send suggestions and bug reports related to the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:45 GMT, September 14, 2024

pscp

TOC Index

NAME

pscp - command-line SCP (secure copy) / SFTP client

SYNOPSIS

pscp [options] [user@]host:source target

pscp [options] source [source...] [user@]host:target

pscp [options] -ls [user@]host:filespec

DESCRIPTION

pscp is a command-line client for the SSH-based SCP (secure copy) and SFTP (secure file transfer protocol) protocols.

OPTIONS

The command-line options supported by pscp are:

-V

Show version information and exit.

-pgpfp

Display the fingerprints of the PuTTY PGP Master Keys and exit, to aid in verifying new files released by the PuTTY team.

-ls

Remote directory listing.

-p

Preserve file attributes.

-q

Quiet, don't show statistics.

-r

Copy directories recursively.

-unsafe

Allow server-side wildcards (DANGEROUS).

-v

Show verbose messages.

-load session

Load settings from saved session.

-P port

Connect to port port.

-proxycmd command

Instead of making a TCP connection, use command as a proxy; network traffic will be redirected to the standard input and output of command. command must be a single word, so is likely to need quoting by the shell.

The special strings %host and %port in command will be replaced by the hostname and port number you want to connect to; to get a literal % sign, enter %%.

Backslash escapes are also supported, such as sequences like \n being replaced by a literal newline; to get a literal backslash, enter \\. (Further escaping may be required by the shell.)

(See the main PuTTY manual for full details of the supported %- and backslash-delimited tokens, although most of them are probably not very useful in this context.)

-l user

Set remote username to user.

-batch

Disable interactive prompts.

-pw password

Set remote password to password. CAUTION: this will likely make the password visible to other users of the local machine (via commands such as `w').

-1

Force use of SSH protocol version 1.

-2

Force use of SSH protocol version 2.

-4, -6

Force use of IPv4 or IPv6 for network connections.

-C

Enable SSH compression.

-i keyfile

Private key file for user authentication. For SSH-2 keys, this key file must be in PuTTY's PPK format, not OpenSSH's format or anyone else's.

If you are using an authentication agent, you can also specify a public key here (in RFC 4716 or OpenSSH format), to identify which of the agent's keys to use.

-noagent

Don't try to use an authentication agent.

-agent

Allow use of an authentication agent. (This option is only necessary to override a setting in a saved session.)

-hostkey key

Specify an acceptable host public key. This option may be specified multiple times; each key can be either a fingerprint (99:aa:bb:...) or a base64-encoded blob in OpenSSH's one-line format.

Specifying this option overrides automated host key management; only the key(s) specified on the command-line will be accepted (unless a saved session also overrides host keys, in which case those will be added to), and the host key cache will not be written.

-scp

Force use of SCP protocol.

-sftp

Force use of SFTP protocol.

-sshlog logfile

-sshrawlog logfile

These options make pscp log protocol details to a file. (Some of these may be sensitive, although by default an effort is made to suppress obvious passwords.)

-sshlog logs decoded SSH packets and other events (those that -v would print). -sshrawlog additionally logs the raw encrypted packet data.

MORE INFORMATION

For more information on pscp it's probably best to go and look at the manual on the PuTTY web page:

https://www.chiark.greenend.org.uk/~sgtatham/putty/

BUGS

This man page isn't terribly complete. See the above web link for better documentation.

NAME SYNOPSIS DESCRIPTION OPTIONS MORE INFORMATION BUGS

This document was created by man2html using the manual pages.

Time: 16:33:41 GMT, September 14, 2024

Previous | Contents | Index | Next

- Chapter 6: Using PSFTP to transfer files securely

- 6.1 Starting PSFTP

- 6.1.1 -b: specify a file containing batch commands

- 6.1.2 -bc: display batch commands as they are run

- 6.1.3 -be: continue batch processing on errors

- 6.1.4 -batch: avoid interactive prompts

- 6.2 Running PSFTP

- 6.2.1 General quoting rules for PSFTP commands

- 6.2.2 Wildcards in PSFTP

- 6.2.3 The open command: start a session

- 6.2.4 The quit command: end your session

- 6.2.5 The close command: close your connection

- 6.2.6 The help command: get quick online help

- 6.2.7 The cd and pwd commands: changing the remote working directory

- 6.2.8 The lcd and lpwd commands: changing the local working directory

- 6.2.9 The get command: fetch a file from the server

- 6.2.10 The put command: send a file to the server

- 6.2.11 The mget and mput commands: fetch or send multiple files

- 6.2.12 The reget and reput commands: resuming file transfers

- 6.2.13 The dir command: list remote files

- 6.2.14 The chmod command: change permissions on remote files

- 6.2.15 The del command: delete remote files

- 6.2.16 The mkdir command: create remote directories

- 6.2.17 The rmdir command: remove remote directories

- 6.2.18 The mv command: move and rename remote files

- 6.2.19 The ! command: run a local Windows command

- 6.3 Using public key authentication with PSFTP

Chapter 6: Using PSFTP to transfer files securely

PSFTP, the PuTTY SFTP client, is a tool for transferring files securely between computers using an SSH connection.

PSFTP differs from PSCP in the following ways:

- PSCP should work on virtually every SSH server. PSFTP uses the new SFTP protocol, which is a feature of SSH-2 only. (PSCP will also use this protocol if it can, but there is an SSH-1 equivalent it can fall back to if it cannot.)

- PSFTP allows you to run an interactive file transfer session, much like the Windows ftp program. You can list the contents of directories, browse around the file system, issue multiple get and put commands, and eventually log out. By contrast, PSCP is designed to do a single file transfer operation and immediately terminate.

6.1 Starting PSFTP

The usual way to start PSFTP is from a command prompt, much like PSCP. To do this, it will need either to be on your PATH or in your current directory. To add the directory containing PSFTP to your PATH environment variable, type into the console window:

set PATH=C:\path\to\putty\directory;%PATH%

Unlike PSCP, however, PSFTP has no complex command-line syntax; you just specify a host name and perhaps a user name:

psftp server.example.com

or perhaps

psftp fred@server.example.com

Alternatively, if you just type psftp on its own (or double-click the PSFTP icon in the Windows GUI), you will see the PSFTP prompt, and a message telling you PSFTP has not connected to any server:

C:\>psftp

psftp: no hostname specified; use "open host.name" to connect

psftp>

At this point you can type open server.example.com or open fred@server.example.com to start a session.

PSFTP accepts all the general command line options supported by the PuTTY tools, except the ones which make no sense in a file transfer utility. See section 3.8.3 for a description of these options. (The ones not supported by PSFTP are clearly marked.)

PSFTP also supports some of its own options. The following sections describe PSFTP's specific command-line options.

6.1.1 -b: specify a file containing batch commands

In normal operation, PSFTP is an interactive program which displays a command line and accepts commands from the keyboard.

If you need to do automated tasks with PSFTP, you would probably prefer to specify a set of commands in advance and have them executed automatically. The -b option allows you to do this. You use it with a file name containing batch commands. For example, you might create a file called myscript.scr containing lines like this:

cd /home/ftp/users/jeff

del jam-old.tar.gz

ren jam.tar.gz jam-old.tar.gz

put jam.tar.gz

chmod a+r jam.tar.gz

and then you could run the script by typing

psftp user@hostname -b myscript.scr

When you run a batch script in this way, PSFTP will abort the script if any command fails to complete successfully. To change this behaviour, you can add the -be option (section 6.1.3).

PSFTP will terminate after it finishes executing the batch script.

6.1.2 -bc: display batch commands as they are run

The -bc option alters what PSFTP displays while processing a batch script specified with -b. With the -bc option, PSFTP will display prompts and commands just as if the commands had been typed at the keyboard. So instead of seeing this:

C:\>psftp fred@hostname -b batchfile

Sent username "fred"

Remote working directory is /home/fred

Listing directory /home/fred/lib

drwxrwsr-x    4 fred     fred         1024 Sep  6 10:42 .

drwxr-sr-x   25 fred     fred         2048 Dec 14 09:36 ..

drwxrwsr-x    3 fred     fred         1024 Apr 17  2000 jed

lrwxrwxrwx    1 fred     fred           24 Apr 17  2000 timber

drwxrwsr-x    2 fred     fred         1024 Mar 13  2000 trn

you might see this:

C:\>psftp fred@hostname -bc -b batchfile

Sent username "fred"

Remote working directory is /home/fred

psftp> dir lib

Listing directory /home/fred/lib

drwxrwsr-x    4 fred     fred         1024 Sep  6 10:42 .

drwxr-sr-x   25 fred     fred         2048 Dec 14 09:36 ..

drwxrwsr-x    3 fred     fred         1024 Apr 17  2000 jed

lrwxrwxrwx    1 fred     fred           24 Apr 17  2000 timber

drwxrwsr-x    2 fred     fred         1024 Mar 13  2000 trn

psftp> quit

6.1.3 -be: continue batch processing on errors

When running a batch file, this additional option causes PSFTP to continue processing even if a command fails to complete successfully.

You might want this to happen if you wanted to delete a file and didn't care if it was already not present, for example.

6.1.4 -batch: avoid interactive prompts

If you use the -batch option, PSFTP will never give an interactive prompt while establishing the connection. If the server's host key is invalid, for example (see section 2.2), then the connection will simply be abandoned instead of asking you what to do next.

This may help PSFTP's behaviour when it is used in automated scripts: using -batch, if something goes wrong at connection time, the batch job will fail rather than hang.

6.2 Running PSFTP

Once you have started your PSFTP session, you will see a psftp> prompt. You can now type commands to perform file-transfer functions. This section lists all the available commands.

Any line starting with a # will be treated as a comment and ignored.

6.2.1 General quoting rules for PSFTP commands

Most PSFTP commands are considered by the PSFTP command interpreter as a sequence of words, separated by spaces. For example, the command ren oldfilename newfilename splits up into three words: ren (the command name), oldfilename (the name of the file to be renamed), and newfilename (the new name to give the file).

Sometimes you will need to specify file names that contain spaces. In order to do this, you can surround the file name with double quotes. This works equally well for local file names and remote file names:

psftp> get "spacey file name.txt" "save it under this name.txt"

The double quotes themselves will not appear as part of the file names; they are removed by PSFTP and their only effect is to stop the spaces inside them from acting as word separators.

If you need to use a double quote (on some types of remote system, such as Unix, you are allowed to use double quotes in file names), you can do this by doubling it. This works both inside and outside double quotes. For example, this command

psftp> ren ""this"" "a file with ""quotes"" in it"

will take a file whose current name is "this" (with a double quote character at the beginning and the end) and rename it to a file whose name is a file with "quotes" in it.

(The one exception to the PSFTP quoting rules is the ! command, which passes its command line straight to Windows without splitting it up into words at all. See section 6.2.19.)

6.2.2 Wildcards in PSFTP

Several commands in PSFTP support ‘wildcards’ to select multiple files.

For local file specifications (such as the first argument to put), wildcard rules for the local operating system are used. For instance, PSFTP running on Windows might require the use of *.* where PSFTP on Unix would need *.

For remote file specifications (such as the first argument to get), PSFTP uses a standard wildcard syntax (similar to POSIX wildcards):

- * matches any sequence of characters (including a zero-length sequence).

- ? matches exactly one character.

- [abc] matches exactly one character which can be a, b, or c.
[a-z] matches any character in the range a to z.

[^abc] matches a single character that is not a, b, or c.

Special cases: [-a] matches a literal hyphen (-) or a; [^-a] matches all other characters. [a^] matches a literal caret (^) or a.

- \ (backslash) before any of the above characters (or itself) removes that character's special meaning.

A leading period (.) on a filename is not treated specially, unlike in some Unix contexts; get * will fetch all files, whether or not they start with a leading period.

6.2.3 The open command: start a session

If you started PSFTP by double-clicking in the GUI, or just by typing psftp at the command line, you will need to open a connection to an SFTP server before you can issue any other commands (except help and quit).

To create a connection, type open host.name, or if you need to specify a user name as well you can type open user@host.name. You can optionally specify a port as well: open user@host.name 22.

Once you have issued this command, you will not be able to issue it again, even if the command fails (for example, if you mistype the host name or the connection times out). So if the connection is not opened successfully, PSFTP will terminate immediately.

6.2.4 The quit command: end your session

When you have finished your session, type the command quit to close the connection, terminate PSFTP and return to the command line (or just close the PSFTP console window if you started it from the GUI).

You can also use the bye and exit commands, which have exactly the same effect.

6.2.5 The close command: close your connection

If you just want to close the network connection but keep PSFTP running, you can use the close command. You can then use the open command to open a new connection.

6.2.6 The help command: get quick online help

If you type help, PSFTP will give a short list of the available commands.

If you type help with a command name - for example, help get - then PSFTP will give a short piece of help on that particular command.

6.2.7 The cd and pwd commands: changing the remote working directory

PSFTP maintains a notion of your ‘working directory’ on the server. This is the default directory that other commands will operate on. For example, if you type get filename.dat then PSFTP will look for filename.dat in your remote working directory on the server.

To change your remote working directory, use the cd command. If you don't provide an argument, cd will return you to your home directory on the server (more precisely, the remote directory you were in at the start of the connection).

To display your current remote working directory, type pwd.

6.2.8 The lcd and lpwd commands: changing the local working directory

As well as having a working directory on the remote server, PSFTP also has a working directory on your local machine (just like any other Windows process). This is the default local directory that other commands will operate on. For example, if you type get filename.dat then PSFTP will save the resulting file as filename.dat in your local working directory.

To change your local working directory, use the lcd command. To display your current local working directory, type lpwd.

6.2.9 The get command: fetch a file from the server

To download a file from the server and store it on your local PC, you use the get command.

In its simplest form, you just use this with a file name:

get myfile.dat

If you want to store the file locally under a different name, specify the local file name after the remote one:

get myfile.dat newname.dat

This will fetch the file on the server called myfile.dat, but will save it to your local machine under the name newname.dat.

To fetch an entire directory recursively, you can use the -r option:

get -r mydir

get -r mydir newname

(If you want to fetch a file whose name starts with a hyphen, you may have to use the -- special argument, which stops get from interpreting anything as a switch after it. For example, ‘get -- -silly-name-’.)

6.2.10 The put command: send a file to the server

To upload a file to the server from your local PC, you use the put command.

In its simplest form, you just use this with a file name:

put myfile.dat

If you want to store the file remotely under a different name, specify the remote file name after the local one:

put myfile.dat newname.dat

This will send the local file called myfile.dat, but will store it on the server under the name newname.dat.

To send an entire directory recursively, you can use the -r option:

put -r mydir

put -r mydir newname

(If you want to send a file whose name starts with a hyphen, you may have to use the -- special argument, which stops put from interpreting anything as a switch after it. For example, ‘put -- -silly-name-’.)

6.2.11 The mget and mput commands: fetch or send multiple files

mget works almost exactly like get, except that it allows you to specify more than one file to fetch at once. You can do this in two ways:

- by giving two or more explicit file names (‘mget file1.txt file2.txt’)

- by using a wildcard (‘mget *.txt’).

Every argument to mget is treated as the name of a file to fetch (unlike get, which will interpret at most one argument like that, and a second argument will be treated as an alternative name under which to store the retrieved file), or a wildcard expression matching more than one file.

The -r and -- options from get are also available with mget.

mput is similar to put, with the same differences.

6.2.12 The reget and reput commands: resuming file transfers

If a file transfer fails half way through, and you end up with half the file stored on your disk, you can resume the file transfer using the reget and reput commands. These work exactly like the get and put commands, but they check for the presence of the half-written destination file and start transferring from where the last attempt left off.

The syntax of reget and reput is exactly the same as the syntax of get and put:

reget myfile.dat

reget myfile.dat newname.dat

reget -r mydir

These commands are intended mainly for resuming interrupted transfers. They assume that the remote file or directory structure has not changed in any way; if there have been changes, you may end up with corrupted files. In particular, the -r option will not pick up changes to files or directories already transferred in full.

6.2.13 The dir command: list remote files

To list the files in your remote working directory, just type dir.

You can also list the contents of a different directory by typing dir followed by the directory name:

dir /home/fred

dir sources

And you can list a subset of the contents of a directory by providing a wildcard:

dir /home/fred/*.txt

dir sources/*.c

The ls command works exactly the same way as dir.

6.2.14 The chmod command: change permissions on remote files

PSFTP allows you to modify the file permissions on files and directories on the server. You do this using the chmod command, which works very much like the Unix chmod command.

The basic syntax is chmod modes file, where modes represents a modification to the file permissions, and file is the filename to modify. You can specify multiple files or wildcards. For example:

chmod go-rwx,u+w privatefile

chmod a+r public*

chmod 640 groupfile1 groupfile2

The modes parameter can be a set of octal digits in the Unix style. (If you don't know what this means, you probably don't want to be using it!) Alternatively, it can be a list of permission modifications, separated by commas. Each modification consists of:

- The people affected by the modification. This can be u (the owning user), g (members of the owning group), or o (everybody else - ‘others’), or some combination of those. It can also be a (‘all’) to affect everybody at once.

- A + or - sign, indicating whether permissions are to be added or removed.

- The actual permissions being added or removed. These can be r (permission to read the file), w (permission to write to the file), and x (permission to execute the file, or in the case of a directory, permission to access files within the directory).

So the above examples would do:

- The first example: go-rwx removes read, write and execute permissions for members of the owning group and everybody else (so the only permissions left are the ones for the file owner). u+w adds write permission for the file owner.

- The second example: a+r adds read permission for everybody to all files and directories starting with ‘public’.

In addition to all this, there are a few extra special cases for Unix systems. On non-Unix systems these are unlikely to be useful:

- You can specify u+s and u-s to add or remove the Unix set-user-ID bit. This is typically only useful for special purposes; refer to your Unix documentation if you're not sure about it.

- You can specify g+s and g-s to add or remove the Unix set-group-ID bit. On a file, this works similarly to the set-user-ID bit (see your Unix documentation again); on a directory it ensures that files created in the directory are accessible by members of the group that owns the directory.

- You can specify +t and -t to add or remove the Unix ‘sticky bit’. When applied to a directory, this means that the owner of a file in that directory can delete the file (whereas normally only the owner of the directory would be allowed to).

6.2.15 The del command: delete remote files

To delete a file on the server, type del and then the filename or filenames:

del oldfile.dat

del file1.txt file2.txt

del *.o

Files will be deleted without further prompting, even if multiple files are specified.

del will only delete files. You cannot use it to delete directories; use rmdir for that.

The rm command works exactly the same way as del.

6.2.16 The mkdir command: create remote directories

To create a directory on the server, type mkdir and then the directory name:

mkdir newstuff

You can specify multiple directories to create at once:

mkdir dir1 dir2 dir3

6.2.17 The rmdir command: remove remote directories

To remove a directory on the server, type rmdir and then the directory name or names:

rmdir oldstuff

rmdir *.old ancient

Directories will be deleted without further prompting, even if multiple directories are specified.

Most SFTP servers will probably refuse to remove a directory if the directory has anything in it, so you will need to delete the contents first.

6.2.18 The mv command: move and rename remote files

To rename a single file on the server, type mv, then the current file name, and then the new file name:

mv oldfile newname

You can also move the file into a different directory and change the name:

mv oldfile dir/newname

To move one or more files into an existing subdirectory, specify the files (using wildcards if desired), and then the destination directory:

mv file dir

mv file1 dir1/file2 dir2

mv *.c *.h ..

The rename and ren commands work exactly the same way as mv.

6.2.19 The ! command: run a local Windows command

You can run local Windows commands using the ! command. This is the only PSFTP command that is not subject to the command quoting rules given in section 6.2.1. If any command line begins with the ! character, then the rest of the line will be passed straight to Windows without further translation.

For example, if you want to move an existing copy of a file out of the way before downloading an updated version, you might type:

psftp> !ren myfile.dat myfile.bak

psftp> get myfile.dat

using the Windows ren command to rename files on your local PC.

6.3 Using public key authentication with PSFTP

Like PuTTY, PSFTP can authenticate using a public key instead of a password. There are three ways you can do this.

Firstly, PSFTP can use PuTTY saved sessions in place of hostnames. So you might do this:

- Run PuTTY, and create a PuTTY saved session (see section 4.1.2) which specifies your private key file (see section 4.22.8). You will probably also want to specify a username to log in as (see section 4.14.1).

- In PSFTP, you can now use the name of the session instead of a hostname: type psftp sessionname, where sessionname is replaced by the name of your saved session.

Secondly, you can supply the name of a private key file on the command line, with the -i option. See section 3.8.3.18 for more information.

Thirdly, PSFTP will attempt to authenticate using Pageant if Pageant is running (see chapter 9). So you would do this:

- Ensure Pageant is running, and has your private key stored in it.

- Specify a user and host name to PSFTP as normal. PSFTP will automatically detect Pageant and try to use the keys within it.

For more general information on public-key authentication, see chapter 8.

If you want to provide feedback on this manual or on the PuTTY tools themselves, see the Feedback page.

[PuTTY development snapshot 2017-07-20.0a93b5d]

RM

TOC Index

NAME

rm - remove files or directories

SYNOPSIS

rm [OPTION]... FILE...

DESCRIPTION

This manual page documents the GNU version of rm. rm removes each specified file. By default, it does not remove directories. If a file is unwritable, the standard input is a tty, and the -f or --force option is not given, rm prompts the user for whether to remove the file. If the response is not affirmative, the file is skipped.

OPTIONS

Remove (unlink) the FILE(s).

-d, --directory

unlink FILE, even if it is a non-empty directory (super-user only; this works only if your system

supports `unlink' for nonempty directories)

-f, --force

ignore nonexistent files, never prompt

-i, --interactive

prompt before any removal

--no-preserve-root do not treat `/' specially (the default)

--preserve-root

fail to operate recursively on `/'

-r, -R, --recursive

remove the contents of directories recursively

-v, --verbose

explain what is being done

--help

display this help and exit

--version

output version information and exit

To remove a file whose name starts with a `-', for example `-foo', use one of these commands:

rm -- -foo

rm ./-foo

Note that if you use rm to remove a file, it is usually possible to recover the contents of that file. If you want more assurance that the contents are truly unrecoverable, consider using shred.

AUTHOR

Written by Paul Rubin, David MacKenzie, Richard Stallman, and Jim Meyering.

REPORTING BUGS

Report bugs to <bug-coreutils@gnu.org>.

COPYRIGHT

Copyright © 2004 Free Software Foundation, Inc.

This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

SEE ALSO

chattr(1), shred(1)

The full documentation for rm is maintained as a Texinfo manual. If the info and rm programs are properly installed at your site, the command

info rm

should give you access to the complete manual.

NAME SYNOPSIS DESCRIPTION OPTIONS AUTHOR REPORTING BUGS COPYRIGHT SEE ALSO

This document was created by man2html using the manual pages.

Time: 16:33:42 GMT, September 14, 2024

robocopy

TOC Index

NAME

robocopy - Robust File and Folder Copy

SYNOPSIS

robocopy Source_folder Destination_folder [ files_to_copy ][ options ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

Robust File and Folder Copy.

By default robocopy will only copy a file if the source and destination have different time stamps or different file sizes.

By copying only the files that have changed, robocopy can be used to backup very large volumes.

If either the source or desination are a "quoted long foldername" do not include a trailing backslash as this will be treated as an escape character, i.e. "C:\some path\ will fail but "C:\some path\\" or "C:\some path\." or "C:\some path" will work.

If creating a progress logfile with /LOG, specify a destination directory that already exists, robocopy will create the file but will not create a log directory automatically.

robocopy will accept UNC pathnames including UNC pathnames over 256 characters long.

/REG Writes to the registry at HKCU\Software\Microsoft\ResKit\Robocopy

/XX (exclude extra) If used in conjunction with /Purge or /Mir , this switch will take precedence and prevent any files being deleted from the destination.

To limit the network bandwidth used by robocopy, specify the Inter-Packet Gap parameter /IPG:n This will send packets of 64 KB each followed by a delay of n Milliseconds.

robocopy will fail to copy files that are locked by other users or applications, so limiting the number of retries with /R:0 will speed up copying by skipping any in-use files. The Windows Volume Shadow Copy service is the only Windows subsystem that can copy open files. robocopy does not use the Volume Shadow Copy service, but it can backup a volume shadow that has already been created with VSHADOW or DISKSHADOW.

All versions of robocopy will copy security information (ACLs) for directories, version XP010 will not copy file security changes unless the file itself has also changed, this greatly improves performance.

/B (backup mode) will allow robocopy to override file and folder permission settings (ACLs).

ERROR 5 (0x00000005) Changing File Attributes ... Access is denied This error usually means that File/Folder permissions or Share permissions on either the source or the destination are preventing the copy, either change the permissions or run the command in backup mode with /B.

To run robocopy under a non-administrator account will require backup files privilege, to copy security information auditing privilege is also required, plus of course you need at least read access to the files and folders.

OPTIONS

file(s)_to_copy

A list of files or a wildcard (defaults to copying *.*).

Source options

/S

Copy Subfolders.

/E

Copy Subfolders, including Empty Subfolders.

/COPY:copyflag(s)

What to COPY (default is /COPY:DAT ) (copyflags: D=Data, A=Attributes, T=Timestamps, S=Security=NTFS-ACLs, O=Owner-info, U=aUditing-info).

/SEC

Copy files with SECurity (equivalent to /COPY:DATS ).

/DCOPY:T

Copy Directory Timestamps.

/COPYALL

Copy ALL file info (equivalent to /COPY:DATSOU ).

/NOCOPY

Copy NO file info (useful with /PURGE).

/A

Copy only files with the Archive attribute set.

/M

like /A, but remove Archive attribute from source files.

/LEV:n

Only copy the top n LEVels of the source tree.

/MAXAGE:n

MAXimum file AGE - exclude files older than n days/date.

/MINAGE:n

MINimum file AGE - exclude files newer than n days/date. (If n < 1900 then n = number of days, else n = YYYYMMDD date).

/FFT

Assume FAT File Times (2-second date/time granularity).

/256

Turn off very long path (> 256 characters) support.

Copy options

/L

List only - don't copy, timestamp or delete any files.

/MOV

MOVe files (delete from source after copying).

/MOVE

Move files and dirs (delete from source after copying).

/sl

Copy symbolic links instead of the target.

/Z

Copy files in restartable mode (survive network glitch).

/B

Copy files in Backup mode.

/J

Copy using unbuffered I/O (recommended for large files). ##

/NOOFFLOAD

Copy files without using the Windows Copy Offload mechanism. ##

/ZB

Use restartable mode; if access denied use Backup mode.

/IPG:n

Inter-Packet Gap (ms), to free bandwidth on slow lines.

/R:n

Number of Retries on failed copies - default is 1 million.

/W:n

Wait time between retries - default is 30 seconds.

/REG

Save /R:n and /W:n in the Registry as default settings.

/TBD

Wait for sharenames To Be Defined (retry error 67).

Destination options

/A+:[RASHCNET]

Set file Attribute(s) on destination files + add.

/A-:[RASHCNET]

UnSet file Attribute(s) on destination files - remove.

/FAT

Create destination files using 8.3 FAT file names only.

/CREATE

CREATE directory tree structure + zero-length files only.

/DST

Compensate for one-hour DST time differences.

/PURGE

Delete dest files/folders that no longer exist in source.

/MIR

MIRror a directory tree - equivalent to /PURGE plus all subfolders (/E)

Logging options

/L

List only - don't copy, timestamp or delete any files.

/NP

No Progress - don't display % copied.

/unicode

Display the status output as Unicode text. #

/LOG:file

Output status to LOG file (overwrite existing log).

/UNILOG:file

Output status to Unicode Log file (overwrite)

/LOG+:file

Output status to LOG file (append to existing log).

/UNILOG+:file

Output status to Unicode Log file (append)

/TS

Include Source file Time Stamps in the output.

/FP

Include Full Pathname of files in the output.

/NS

No Size - don't log file sizes.

/NC

No Class - don't log file classes.

/NFL

No File List - don't log file names.

/NDL

No Directory List - don't log directory names.

/TEE

Output to console window, as well as the log file.

/NJH

No Job Header.

/NJS

No Job Summary.

Repeated Copy Options

/MON:n

MONitor source; run again when more than n changes seen.

/MOT:m

MOnitor source; run again in m minutes Time, if changed.

/RH:hhmm-hhmm

Run Hours - times when new copies can be started.

/PF

Check run hours on a Per File (not per pass) basis.

Job Options

/JOB:jobname

Take parameters from the named JOB file.

/SAVE:jobname

SAVE parameters to the named job file

/QUIT

QUIT after processing command line (to view parameters).

/NOSD

NO Source Directory is specified.

/NODD

NO Destination Directory is specified.

/IF

Include the following Files.

Advanced options you'll probably never use

/EFSRAW

Copy any encrypted files using EFS RAW mode.

/MT[:n]

Multithreaded copying, n = number of threads to use (1-128) # default = 8 threads, not compatible with /IPG and /EFSRAW The use of /LOG is recommended for better performance.

/SECFIX

FIX file SECurity on all files, even skipped files.

/TIMFIX

FIX file TIMes on all files, even skipped files.

/XO

eXclude Older - if destination file exists and is the same date or newer than the source - don't bother to overwrite it.

/XC

eXclude Changed files

/XN

eXclude Newer files

/XL

eXclude "Lonely" files and dirs (present in source but not destination) This will prevent any new files being added to the destination.

/XX

eXclude "eXtra" files and dirs (present in destination but not source) This will prevent any deletions from the destination. (this is the default)

/XF file [file] ...

eXclude Files matching given names/paths/wildcards.

/XD dirs [dirs] ...

eXclude Directories matching given names/paths. XF and XD can be used in combination e.g.

ROBOCOPY c:\source d:\dest /XF *.doc *.xls /XD c:\unwanted /S

/IA:[RASHCNETO]

Include files with any of the given Attributes

/XA:[RASHCNETO]

eXclude files with any of the given Attributes

/IS

Include Same, overwrite files even if they are already the same.

/IT

Include Tweaked files.

/XJ

eXclude Junction points. (normally included by default).

/XJD

Exclude junction points for directories. #

/XJF

Exclude junction points for files. #

/MAX:n

MAXimum file size - exclude files bigger than n bytes.

/MIN:n

MINimum file size - exclude files smaller than n bytes.

/MAXLAD:n

MAXimum Last Access Date - exclude files unused since n.

/MINLAD:n

MINimum Last Access Date - exclude files used since n. (If n < 1900 then n = number of days, else n = YYYYMMDD date).

/BYTES

Print sizes as bytes.

/X

Report all eXtra files, not just those selected & copied.

/V

Produce Verbose output log, showing skipped files.

/ETA

Show Estimated Time of Arrival of copied files.

/DEBUG

Show debug volume information (undocumented)

# = New Option in Windows 7 and Windows 2008 R2

## = New Option in Windows 8 and Windows 10

File Attributes [RASHCNETO]

R

Read only

A

Archive

S

System

H

Hidden

C

Compressed

N

Not content indexed

E

Encrypted

T

Temporary

O

Offline

EXIT STATUS

The return code from robocopy is a bitmap.

These can be combined, giving a few extra exit codes.

Any value greater than 7 indicates that there was at least one failure during the copy operation.

Hex

Decimal

Meaning if set

0x00

0

No errors occurred, and no copying was done.

The source and destination directory trees

are completely synchronized.

0x01

1

One or more files were copied successfully

(that is, new files have arrived).

0x02

2

Some Extra files or directories were detected.

No files were copiedExamine the output log

for details.

0x04

4

Some Mismatched files or directories were

detected. Examine the output log.

Housekeeping might be required.

0x08

8

Some files or directories could not be copied

(copy errors occurred and the retry limit was

exceeded). Check these errors further.

0x10

16

Serious error. robocopy did not copy any files.

Either a usage error or an error due to

insufficient access privileges on the source

or destination directories.

0x03

3 (2+1)

Some files were copied. Additional

files were present. No failure was encountered.

0x05

5 (4+1)

Some files were copied. Some files were

mismatched. No failure was encountered.

0x06

6 (4+2)

Additional files and mismatched files

exist. No files were copied and no failures

were encountered.

This means that the files already exist in

the destination directory.

0x07

7 (4+1+2)

Files were copied, a file mismatch was

present, and additional files were present.

FILES

-

EXAMPLES

1) Simple copy of all files from one folder to another:

ROBOCOPY \\Server1\reports \\Server2\backup

2) Copy files including subfolders (even empty ones /E)

If this command is run repeatedly it will skip any files already in the destination, however it is not a true mirror as any files deleted from the source will remain in the destination.

ROBOCOPY \\Server1\reports \\Server2\backup *.* /E

3) List files over 32 MBytes in size:

ROBOCOPY C:\work /MAX:33554432 /L

4) Move files over 14 days old:

Note: the MOVE option will fail if any files are open and locked.

ROBOCOPY C:\work C:\destination /move /minage:14

5) Backup a Server:

The script below copies data from FileServ1 to FileServ2, the destination holds a full mirror along with file security info. When run regularly to synchronize the source and destination, robocopy will only copy those files that have changed (change in time stamp or size.)

@ECHO OFF

SETLOCAL

SET _source=\\FileServ1\e$\users

SET _dest=\\FileServ2\e$\BackupUsers

SET _what=/COPYALL /B /SEC /MIR

:: /COPYALL :: COPY ALL file info

:: /B :: copy files in Backup mode.

:: /SEC :: copy files with SECurity

:: /MIR :: MIRror a directory tree

SET _options=/R:0 /W:0 /LOG:C:\batch\RoboLog.log /NFL /NDL

:: /R:n :: number of Retries

:: /W:n :: Wait time between retries

:: /LOG :: Output log file

:: /NFL :: No file logging

:: /NDL :: No dir logging

ROBOCOPY %_source% %_dest% %_what% %_options%

6) Run two robocopy jobs at the same time with START /Min

Start /Min "Job one" ROBOCOPY \\FileServA\C$\Database1 \\FileServeBackupA\c$\Backups

Start /Min "Job two" ROBOCOPY \\FileServB\C$\Database2 \\FileServeBackupB\c$\Backups

7) Copy only permission changes

(additions and removals) assuming we already have a copy of the data:

ROBOCOPY \\FileServer\C$ \\SVR-Backups\c$\Backups /E /Copy:S /IS /IT

8) Use the exit codes in a batch file to report anomalies:

if %ERRORLEVEL% EQU 16 echo ***FATAL ERROR*** & goto end

if %ERRORLEVEL% EQU 15 echo OKCOPY + FAIL + MISMATCHES + XTRA & goto end

if %ERRORLEVEL% EQU 14 echo FAIL + MISMATCHES + XTRA & goto end

if %ERRORLEVEL% EQU 13 echo OKCOPY + FAIL + MISMATCHES & goto end

if %ERRORLEVEL% EQU 12 echo FAIL + MISMATCHES& goto end

if %ERRORLEVEL% EQU 11 echo OKCOPY + FAIL + XTRA & goto end

if %ERRORLEVEL% EQU 10 echo FAIL + XTRA & goto end

if %ERRORLEVEL% EQU 9 echo OKCOPY + FAIL & goto end

if %ERRORLEVEL% EQU 8 echo FAIL & goto end

if %ERRORLEVEL% EQU 7 echo OKCOPY + MISMATCHES + XTRA & goto end

if %ERRORLEVEL% EQU 6 echo MISMATCHES + XTRA & goto end

if %ERRORLEVEL% EQU 5 echo OKCOPY + MISMATCHES & goto end

if %ERRORLEVEL% EQU 4 echo MISMATCHES & goto end

if %ERRORLEVEL% EQU 3 echo OKCOPY + XTRA & goto end

if %ERRORLEVEL% EQU 2 echo XTRA & goto end

if %ERRORLEVEL% EQU 1 echo OKCOPY & goto end

if %ERRORLEVEL% EQU 0 echo No Change & goto end

:end

9) Copy files from one server to another

ROBOCOPY \\Server1\reports \\Server2\backup *.*

IF %ERRORLEVEL% LSS 8 goto finish

Echo Something failed & goto :eof

:finish

Echo All done, no fatal errors.

SEE ALSO

simplebackupintro(1), http://ss64.com/nt/robocopy.html, http://ss64.com/nt/robocopy-exit.html, http://theether.net/download/Microsoft/Utilities/robocopy.pdf, https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/robocopy

NOTES

This manual page is an extract of the web pages http://ss64.com/nt/robocopy.html and http://ss64.com/nt/robocopy-exit.html provided by http://SS64.com.

BUGS

-

AUTHOR

robocopy was developed by Microsoft and integrated into WA2L/WinTools by Christian Walther. Send suggestions and bug reports related to the integration to wa2l@users.sourceforge.net

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS Source options Copy options Destination options Logging options Repeated Copy Options Job Options Advanced options you'll probably never use File Attributes [RASHCNETO] EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:53 GMT, September 14, 2024

SCP

TOC Index

BSD mandoc

NAME

scp - secure copy (remote file copy program)

SYNOPSIS

scp -words [-346BCpqrTv [-c cipher ] ] [-F ssh_config ] [-i identity_file ] [-l limit ] [-o ssh_option ] [-P port ] [-S program ] [[user @ ] host1 file1 ] ... [[user @ ] host2 file2 ]

DESCRIPTION

scp copies files between hosts on a network. It uses ssh(1) for data transfer, and uses the same authentication and provides the same security as ssh(1). scp will ask for passwords or passphrases if they are needed for authentication.

File names may contain a user and host specification to indicate that the file is to be copied to/from that host. Local file names can be made explicit using absolute or relative pathnames to avoid scp treating file names containing `:' as host specifiers. Copies between two remote hosts are also permitted.

The options are as follows:

-3

Copies between two remote hosts are transferred through the local host. Without this option the data is copied directly between the two remote hosts. Note that this option disables the progress meter.

-4

Forces scp to use IPv4 addresses only.

-6

Forces scp to use IPv6 addresses only.

-B

Selects batch mode (prevents asking for passwords or passphrases).

-C

Compression enable. Passes the -C flag to ssh(1) to enable compression.

-c cipher

Selects the cipher to use for encrypting the data transfer. This option is directly passed to ssh(1).

-F ssh_config

Specifies an alternative per-user configuration file for ssh This option is directly passed to ssh(1).

-i identity_file

Selects the file from which the identity (private key) for public key authentication is read. This option is directly passed to ssh(1).

-l limit

Limits the used bandwidth, specified in Kbit/s.

-o ssh_option

Can be used to pass options to ssh in the format used in ssh_config5. This is useful for specifying options for which there is no separate scp command-line flag. For full details of the options listed below, and their possible values, see ssh_config5.

AddressFamily

BatchMode

BindAddress

CanonicalDomains

CanonicalizeFallbackLocal

CanonicalizeHostname

CanonicalizeMaxDots

CanonicalizePermittedCNAMEs

CertificateFile

ChallengeResponseAuthentication

CheckHostIP

Ciphers

Compression

ConnectionAttempts

ConnectTimeout

ControlMaster

ControlPath

ControlPersist

GlobalKnownHostsFile

GSSAPIAuthentication

GSSAPIDelegateCredentials

HashKnownHosts

Host

HostbasedAuthentication

HostbasedKeyTypes

HostKeyAlgorithms

HostKeyAlias

HostName

IdentitiesOnly

IdentityAgent

IdentityFile

IPQoS

KbdInteractiveAuthentication

KbdInteractiveDevices

KexAlgorithms

LogLevel

MACs

NoHostAuthenticationForLocalhost

NumberOfPasswordPrompts

PasswordAuthentication

PKCS11Provider

Port

PreferredAuthentications

ProxyCommand

ProxyJump

PubkeyAcceptedKeyTypes

PubkeyAuthentication

RekeyLimit

SendEnv

ServerAliveInterval

ServerAliveCountMax

StrictHostKeyChecking

TCPKeepAlive

UpdateHostKeys

UsePrivilegedPort

User

UserKnownHostsFile

VerifyHostKeyDNS

-P port

Specifies the port to connect to on the remote host. Note that this option is written with a capital `P' because -p is already reserved for preserving the times and modes of the file.

-p

Preserves modification times, access times, and modes from the original file.

-q

Quiet mode: disables the progress meter as well as warning and diagnostic messages from ssh(1).

-r

Recursively copy entire directories. Note that scp follows symbolic links encountered in the tree traversal.

-S program

Name of program to use for the encrypted connection. The program must understand ssh(1) options.

-T

Disable strict filename checking. By default when copying files from a remote host to a local directory scp checks that the received filenames match those requested on the command-line to prevent the remote end from sending unexpected or unwanted files. Because of differences in how various operating systems and shells interpret filename wildcards, these checks may cause wanted files to be rejected. This option disables these checks at the expense of fully trusting that the server will not send unexpected filenames.

-v

Verbose mode. Causes scp and ssh(1) to print debugging messages about their progress. This is helpful in debugging connection, authentication, and configuration problems.

EXIT STATUS

Ex -std scp

SEE ALSO

sftp(1), ssh(1), ssh-add1, ssh-agent1, ssh-keygen1, ssh_config5, sshd(8)

HISTORY

scp is based on the rcp program in BSD source code from the Regents of the University of California.

AUTHORS

An Timo Rinne Aq Mt tri@iki.fi An Tatu Ylonen Aq Mt ylo@cs.hut.fi

NAME SYNOPSIS DESCRIPTION EXIT STATUS SEE ALSO HISTORY AUTHORS

This document was created by man2html using the manual pages.

Time: 16:33:42 GMT, September 14, 2024

SSH

TOC Index

BSD mandoc

NAME

ssh - OpenSSH SSH client (remote login program)

SYNOPSIS

ssh -words [-46AaCfGgKkMNnqsTtVvXxYy [-b bind_address ] ] [-c cipher_spec ] [-D [bind_address : port ] ] [-E log_file ] [-e escape_char ] [-F configfile ] [-I pkcs11 ] [-i identity_file ] [-J [user @ host [: port ] ] ] [-L address ] [-l login_name ] [-m mac_spec ] [-O ctl_cmd ] [-o option ] [-p port ] [-Q query_option ] [-R address ] [-S ctl_path ] [-W host : port ] [-w local_tun [: remote_tun ] ] [user @ hostname ] [command ]

DESCRIPTION

ssh (SSH client) is a program for logging into a remote machine and for executing commands on a remote machine. It is intended to provide secure encrypted communications between two untrusted hosts over an insecure network. X11 connections, arbitrary TCP ports and UNIX sockets can also be forwarded over the secure channel.

ssh connects and logs into the specified hostname (with optional user name). The user must prove his/her identity to the remote machine using one of several methods (see below).

If command is specified, it is executed on the remote host instead of a login shell.

The options are as follows:

-4

Forces ssh to use IPv4 addresses only.

-6

Forces ssh to use IPv6 addresses only.

-A

Enables forwarding of the authentication agent connection. This can also be specified on a per-host basis in a configuration file.

Agent forwarding should be enabled with caution. Users with the ability to bypass file permissions on the remote host (for the agent's UNIX socket) can access the local agent through the forwarded connection. An attacker cannot obtain key material from the agent, however they can perform operations on the keys that enable them to authenticate using the identities loaded into the agent.

-a

Disables forwarding of the authentication agent connection.

-b bind_address

Use bind_address on the local machine as the source address of the connection. Only useful on systems with more than one address.

-C

Requests compression of all data (including stdin, stdout, stderr, and data for forwarded X11, TCP and UNIX connections). The compression algorithm is the same used by gzip(1). Compression is desirable on modem lines and other slow connections, but will only slow down things on fast networks. The default value can be set on a host-by-host basis in the configuration files; see the Compression option.

-c cipher_spec

Selects the cipher specification for encrypting the session. cipher_spec is a comma-separated list of ciphers listed in order of preference. See the Ciphers keyword in ssh_config5 for more information.

-D [bind_address : ] port

Specifies a local ``dynamic'' application-level port forwarding. This works by allocating a socket to listen to port on the local side, optionally bound to the specified bind_address Whenever a connection is made to this port, the connection is forwarded over the secure channel, and the application protocol is then used to determine where to connect to from the remote machine. Currently the SOCKS4 and SOCKS5 protocols are supported, and ssh will act as a SOCKS server. Only root can forward privileged ports. Dynamic port forwardings can also be specified in the configuration file.

IPv6 addresses can be specified by enclosing the address in square brackets. Only the superuser can forward privileged ports. By default, the local port is bound in accordance with the GatewayPorts setting. However, an explicit bind_address may be used to bind the connection to a specific address. The bind_address of ``localhost'' indicates that the listening port be bound for local use only, while an empty address or `*' indicates that the port should be available from all interfaces.

-E log_file

Append debug logs to log_file instead of standard error.

-e escape_char

Sets the escape character for sessions with a pty (default: `~' ) . The escape character is only recognized at the beginning of a line. The escape character followed by a dot (`.' ) closes the connection; followed by control-Z suspends the connection; and followed by itself sends the escape character once. Setting the character to ``none'' disables any escapes and makes the session fully transparent.

-F configfile

Specifies an alternative per-user configuration file. If a configuration file is given on the command line, the system-wide configuration file (/etc/ssh/ssh_config ) will be ignored. The default for the per-user configuration file is ~/.ssh/config

-f

Requests ssh to go to background just before command execution. This is useful if ssh is going to ask for passwords or passphrases, but the user wants it in the background. This implies -n The recommended way to start X11 programs at a remote site is with something like ssh -f host xterm

If the ExitOnForwardFailure configuration option is set to ``yes'' then a client started with -f will wait for all remote port forwards to be successfully established before placing itself in the background.

-G

Causes ssh to print its configuration after evaluating Host and Match blocks and exit.

-g

Allows remote hosts to connect to local forwarded ports. If used on a multiplexed connection, then this option must be specified on the master process.

-I pkcs11

Specify the PKCS#11 shared library ssh should use to communicate with a PKCS#11 token providing the user's private RSA key.

-i identity_file

Selects a file from which the identity (private key) for public key authentication is read. The default is ~/.ssh/id_dsa ~/.ssh/id_ecdsa ~/.ssh/id_ed25519 and ~/.ssh/id_rsa Identity files may also be specified on a per-host basis in the configuration file. It is possible to have multiple -i options (and multiple identities specified in configuration files). If no certificates have been explicitly specified by the CertificateFile directive, ssh will also try to load certificate information from the filename obtained by appending -cert.pub to identity filenames.

-J [user @ ] host [: port ]

Connect to the target host by first making a ssh connection to the jump host and then establishing a TCP forwarding to the ultimate destination from there. Multiple jump hops may be specified separated by comma characters. This is a shortcut to specify a ProxyJump configuration directive.

-K

Enables GSSAPI-based authentication and forwarding (delegation) of GSSAPI credentials to the server.

-k

Disables forwarding (delegation) of GSSAPI credentials to the server.

-L [bind_address : ] port : host : hostport

-L [bind_address : ] port : remote_socket

-L local_socket : host : hostport

-L local_socket : remote_socket

Specifies that connections to the given TCP port or Unix socket on the local (client) host are to be forwarded to the given host and port, or Unix socket, on the remote side. This works by allocating a socket to listen to either a TCP port on the local side, optionally bound to the specified bind_address or to a Unix socket. Whenever a connection is made to the local port or socket, the connection is forwarded over the secure channel, and a connection is made to either host port hostport or the Unix socket remote_socket from the remote machine.

Port forwardings can also be specified in the configuration file. Only the superuser can forward privileged ports. IPv6 addresses can be specified by enclosing the address in square brackets.

By default, the local port is bound in accordance with the GatewayPorts setting. However, an explicit bind_address may be used to bind the connection to a specific address. The bind_address of ``localhost'' indicates that the listening port be bound for local use only, while an empty address or `*' indicates that the port should be available from all interfaces.

-l login_name

Specifies the user to log in as on the remote machine. This also may be specified on a per-host basis in the configuration file.

-M

Places the ssh client into ``master'' mode for connection sharing. Multiple -M options places ssh into ``master'' mode with confirmation required before slave connections are accepted. Refer to the description of ControlMaster in ssh_config5 for details.

-m mac_spec

A comma-separated list of MAC (message authentication code) algorithms, specified in order of preference. See the MACs keyword for more information.

-N

Do not execute a remote command. This is useful for just forwarding ports.

-n

Redirects stdin from /dev/null (actually, prevents reading from stdin). This must be used when ssh is run in the background. A common trick is to use this to run X11 programs on a remote machine. For example, ssh -n shadows.cs.hut.fi emacs will start an emacs on shadows.cs.hut.fi, and the X11 connection will be automatically forwarded over an encrypted channel. The ssh program will be put in the background. (This does not work if ssh needs to ask for a password or passphrase; see also the -f option.)

-O ctl_cmd

Control an active connection multiplexing master process. When the -O option is specified, the ctl_cmd argument is interpreted and passed to the master process. Valid commands are: ``check'' (check that the master process is running), ``forward'' (request forwardings without command execution), ``cancel'' (cancel forwardings), ``exit'' (request the master to exit), and ``stop'' (request the master to stop accepting further multiplexing requests).

-o option

Can be used to give options in the format used in the configuration file. This is useful for specifying options for which there is no separate command-line flag. For full details of the options listed below, and their possible values, see ssh_config5.

AddKeysToAgent

AddressFamily

BatchMode

BindAddress

CanonicalDomains

CanonicalizeFallbackLocal

CanonicalizeHostname

CanonicalizeMaxDots

CanonicalizePermittedCNAMEs

CertificateFile

ChallengeResponseAuthentication

CheckHostIP

Ciphers

ClearAllForwardings

Compression

ConnectionAttempts

ConnectTimeout

ControlMaster

ControlPath

ControlPersist

DynamicForward

EscapeChar

ExitOnForwardFailure

FingerprintHash

ForwardAgent

ForwardX11

ForwardX11Timeout

ForwardX11Trusted

GatewayPorts

GlobalKnownHostsFile

GSSAPIAuthentication

GSSAPIDelegateCredentials

HashKnownHosts

Host

HostbasedAuthentication

HostbasedKeyTypes

HostKeyAlgorithms

HostKeyAlias

HostName

IdentitiesOnly

IdentityAgent

IdentityFile

Include

IPQoS

KbdInteractiveAuthentication

KbdInteractiveDevices

KexAlgorithms

LocalCommand

LocalForward

LogLevel

MACs

Match

NoHostAuthenticationForLocalhost

NumberOfPasswordPrompts

PasswordAuthentication

PermitLocalCommand

PKCS11Provider

Port

PreferredAuthentications

ProxyCommand

ProxyJump

ProxyUseFdpass

PubkeyAcceptedKeyTypes

PubkeyAuthentication

RekeyLimit

RemoteCommand

RemoteForward

RequestTTY

SendEnv

ServerAliveInterval

ServerAliveCountMax

StreamLocalBindMask

StreamLocalBindUnlink

StrictHostKeyChecking

TCPKeepAlive

Tunnel

TunnelDevice

UpdateHostKeys

UsePrivilegedPort

User

UserKnownHostsFile

VerifyHostKeyDNS

VisualHostKey

XAuthLocation

-p port

Port to connect to on the remote host. This can be specified on a per-host basis in the configuration file.

-Q query_option

Queries ssh for the algorithms supported for the specified version 2. The available features are: cipher (supported symmetric ciphers), cipher-auth (supported symmetric ciphers that support authenticated encryption), mac (supported message integrity codes), kex (key exchange algorithms), key (key types), key-cert (certificate key types), key-plain (non-certificate key types), and protocol-version (supported SSH protocol versions).

-q

Quiet mode. Causes most warning and diagnostic messages to be suppressed.

-R [bind_address : ] port : host : hostport

-R [bind_address : ] port : local_socket

-R remote_socket : host : hostport

-R remote_socket : local_socket

-R [bind_address : ] port

Specifies that connections to the given TCP port or Unix socket on the remote (server) host are to be forwarded to the local side.

This works by allocating a socket to listen to either a TCP port or to a Unix socket on the remote side. Whenever a connection is made to this port or Unix socket, the connection is forwarded over the secure channel, and a connection is made from the local machine to either an explicit destination specified by host port hostport or local_socket or, if no explicit destination was specified, ssh will act as a SOCKS 4/5 proxy and forward connections to the destinations requested by the remote SOCKS client.

Port forwardings can also be specified in the configuration file. Privileged ports can be forwarded only when logging in as root on the remote machine. IPv6 addresses can be specified by enclosing the address in square brackets.

By default, TCP listening sockets on the server will be bound to the loopback interface only. This may be overridden by specifying a bind_address An empty bind_address or the address `*' , indicates that the remote socket should listen on all interfaces. Specifying a remote bind_address will only succeed if the server's GatewayPorts option is enabled (see sshd_config5).

If the port argument is `0' , the listen port will be dynamically allocated on the server and reported to the client at run time. When used together with -O forward the allocated port will be printed to the standard output.

-S ctl_path

Specifies the location of a control socket for connection sharing, or the string ``none'' to disable connection sharing. Refer to the description of ControlPath and ControlMaster in ssh_config5 for details.

-s

May be used to request invocation of a subsystem on the remote system. Subsystems facilitate the use of SSH as a secure transport for other applications (e.g. sftp(1)). The subsystem is specified as the remote command.

-T

Disable pseudo-terminal allocation.

-t

Force pseudo-terminal allocation. This can be used to execute arbitrary screen-based programs on a remote machine, which can be very useful, e.g. when implementing menu services. Multiple -t options force tty allocation, even if ssh has no local tty.

-V

Display the version number and exit.

-v

Verbose mode. Causes ssh to print debugging messages about its progress. This is helpful in debugging connection, authentication, and configuration problems. Multiple -v options increase the verbosity. The maximum is 3.

-W host : port

Requests that standard input and output on the client be forwarded to host on port over the secure channel. Implies -N -T ExitOnForwardFailure and ClearAllForwardings though these can be overridden in the configuration file or using -o command line options.

-w local_tun [: remote_tun ]

Requests tunnel device forwarding with the specified tun(4) devices between the client (local_tun ) and the server (remote_tun )

The devices may be specified by numerical ID or the keyword ``any'' which uses the next available tunnel device. If remote_tun is not specified, it defaults to ``any'' See also the Tunnel and TunnelDevice directives in ssh_config5. If the Tunnel directive is unset, it is set to the default tunnel mode, which is ``point-to-point''

-X

Enables X11 forwarding. This can also be specified on a per-host basis in a configuration file.

X11 forwarding should be enabled with caution. Users with the ability to bypass file permissions on the remote host (for the user's X authorization database) can access the local X11 display through the forwarded connection. An attacker may then be able to perform activities such as keystroke monitoring.

For this reason, X11 forwarding is subjected to X11 SECURITY extension restrictions by default. Please refer to the ssh -Y option and the ForwardX11Trusted directive in ssh_config5 for more information.

(Debian-specific: X11 forwarding is not subjected to X11 SECURITY extension restrictions by default, because too many programs currently crash in this mode. Set the ForwardX11Trusted option to ``no'' to restore the upstream behaviour. This may change in future depending on client-side improvements.)

-x

Disables X11 forwarding.

-Y

Enables trusted X11 forwarding. Trusted X11 forwardings are not subjected to the X11 SECURITY extension controls.

(Debian-specific: This option does nothing in the default configuration: it is equivalent to ``ForwardX11Trusted yes '' which is the default as described above. Set the ForwardX11Trusted option to ``no'' to restore the upstream behaviour. This may change in future depending on client-side improvements.)

-y

Send log information using the syslog(3) system module. By default this information is sent to stderr.

ssh may additionally obtain configuration data from a per-user configuration file and a system-wide configuration file. The file format and configuration options are described in ssh_config5.

AUTHENTICATION

The OpenSSH SSH client supports SSH protocol 2.

The methods available for authentication are: GSSAPI-based authentication, host-based authentication, public key authentication, challenge-response authentication, and password authentication. Authentication methods are tried in the order specified above, though PreferredAuthentications can be used to change the default order.

Host-based authentication works as follows: If the machine the user logs in from is listed in /etc/hosts.equiv or /etc/ssh/shosts.equiv on the remote machine, and the user names are the same on both sides, or if the files ~/.rhosts or ~/.shosts exist in the user's home directory on the remote machine and contain a line containing the name of the client machine and the name of the user on that machine, the user is considered for login. Additionally, the server must be able to verify the client's host key (see the description of /etc/ssh/ssh_known_hosts and ~/.ssh/known_hosts below) for login to be permitted. This authentication method closes security holes due to IP spoofing, DNS spoofing, and routing spoofing. [Note to the administrator: /etc/hosts.equiv ~/.rhosts and the rlogin/rsh protocol in general, are inherently insecure and should be disabled if security is desired.]

Public key authentication works as follows: The scheme is based on public-key cryptography, using cryptosystems where encryption and decryption are done using separate keys, and it is unfeasible to derive the decryption key from the encryption key. The idea is that each user creates a public/private key pair for authentication purposes. The server knows the public key, and only the user knows the private key. ssh implements public key authentication protocol automatically, using one of the DSA, ECDSA, Ed25519 or RSA algorithms. The HISTORY section of ssl(8) (on non-OpenBSD systems, see http://www.openbsd.org/cgi-bin/man.cgi?query=ssl&sektion=8#HISTORY) contains a brief discussion of the DSA and RSA algorithms.

The file ~/.ssh/authorized_keys lists the public keys that are permitted for logging in. When the user logs in, the ssh program tells the server which key pair it would like to use for authentication. The client proves that it has access to the private key and the server checks that the corresponding public key is authorized to accept the account.

The server may inform the client of errors that prevented public key authentication from succeeding after authentication completes using a different method. These may be viewed by increasing the LogLevel to DEBUG or higher (e.g. by using the -v flag).

The user creates his/her key pair by running ssh-keygen1. This stores the private key in ~/.ssh/id_dsa (DSA), ~/.ssh/id_ecdsa (ECDSA), ~/.ssh/id_ed25519 (Ed25519), or ~/.ssh/id_rsa (RSA) and stores the public key in ~/.ssh/id_dsa.pub (DSA), ~/.ssh/id_ecdsa.pub (ECDSA), ~/.ssh/id_ed25519.pub (Ed25519), or ~/.ssh/id_rsa.pub (RSA) in the user's home directory. The user should then copy the public key to ~/.ssh/authorized_keys in his/her home directory on the remote machine. The authorized_keys file corresponds to the conventional ~/.rhosts file, and has one key per line, though the lines can be very long. After this, the user can log in without giving the password.

A variation on public key authentication is available in the form of certificate authentication: instead of a set of public/private keys, signed certificates are used. This has the advantage that a single trusted certification authority can be used in place of many public/private keys. See the CERTIFICATES section of ssh-keygen1 for more information.

The most convenient way to use public key or certificate authentication may be with an authentication agent. See ssh-agent1 and (optionally) the AddKeysToAgent directive in ssh_config5 for more information.

Challenge-response authentication works as follows: The server sends an arbitrary Qq challenge text, and prompts for a response. Examples of challenge-response authentication include BSD Authentication (see login.conf5) and PAM (some non- Ox systems).

Finally, if other authentication methods fail, ssh prompts the user for a password. The password is sent to the remote host for checking; however, since all communications are encrypted, the password cannot be seen by someone listening on the network.

ssh automatically maintains and checks a database containing identification for all hosts it has ever been used with. Host keys are stored in ~/.ssh/known_hosts in the user's home directory. Additionally, the file /etc/ssh/ssh_known_hosts is automatically checked for known hosts. Any new hosts are automatically added to the user's file. If a host's identification ever changes, ssh warns about this and disables password authentication to prevent server spoofing or man-in-the-middle attacks, which could otherwise be used to circumvent the encryption. The StrictHostKeyChecking option can be used to control logins to machines whose host key is not known or has changed.

When the user's identity has been accepted by the server, the server either executes the given command in a non-interactive session or, if no command has been specified, logs into the machine and gives the user a normal shell as an interactive session. All communication with the remote command or shell will be automatically encrypted.

If an interactive session is requested ssh by default will only request a pseudo-terminal (pty) for interactive sessions when the client has one. The flags -T and -t can be used to override this behaviour.

If a pseudo-terminal has been allocated the user may use the escape characters noted below.

If no pseudo-terminal has been allocated, the session is transparent and can be used to reliably transfer binary data. On most systems, setting the escape character to ``none'' will also make the session transparent even if a tty is used.

The session terminates when the command or shell on the remote machine exits and all X11 and TCP connections have been closed.

ESCAPE CHARACTERS

When a pseudo-terminal has been requested, ssh supports a number of functions through the use of an escape character.

A single tilde character can be sent as ~~ or by following the tilde by a character other than those described below. The escape character must always follow a newline to be interpreted as special. The escape character can be changed in configuration files using the EscapeChar configuration directive or on the command line by the -e option.

The supported escapes (assuming the default `~' ) are:

~.

Disconnect.

~^Z

Background .

~#

List forwarded connections.

~&

Background ssh at logout when waiting for forwarded connection / X11 sessions to terminate.

~?

Display a list of escape characters.

~B

Send a BREAK to the remote system (only useful if the peer supports it).

~C

Open command line. Currently this allows the addition of port forwardings using the -L -R and -D options (see above). It also allows the cancellation of existing port-forwardings with -KL [bind_address : port ] for local, -KR [bind_address : port ] for remote and -KD [bind_address : port ] for dynamic port-forwardings. ! command allows the user to execute a local command if the PermitLocalCommand option is enabled in ssh_config5. Basic help is available, using the -h option.

~R

Request rekeying of the connection (only useful if the peer supports it).

~V

Decrease the verbosity (LogLevel ) when errors are being written to stderr.

~v

Increase the verbosity (LogLevel ) when errors are being written to stderr.

TCP FORWARDING

Forwarding of arbitrary TCP connections over the secure channel can be specified either on the command line or in a configuration file. One possible application of TCP forwarding is a secure connection to a mail server; another is going through firewalls.

In the example below, we look at encrypting communication between an IRC client and server, even though the IRC server does not directly support encrypted communications. This works as follows: the user connects to the remote host using , specifying a port to be used to forward connections to the remote server. After that it is possible to start the service which is to be encrypted on the client machine, connecting to the same local port, and ssh will encrypt and forward the connection.

The following example tunnels an IRC session from client machine ``127.0.0.1'' (localhost) to remote server ``server.example.com''

$ ssh -f -L 1234:localhost:6667 server.example.com sleep 10

$ irc -c '#users' -p 1234 pinky 127.0.0.1

This tunnels a connection to IRC server ``server.example.com'' joining channel ``#users'' nickname ``pinky'' using port 1234. It doesn't matter which port is used, as long as it's greater than 1023 (remember, only root can open sockets on privileged ports) and doesn't conflict with any ports already in use. The connection is forwarded to port 6667 on the remote server, since that's the standard port for IRC services.

The -f option backgrounds ssh and the remote command ``sleep 10'' is specified to allow an amount of time (10 seconds, in the example) to start the service which is to be tunnelled. If no connections are made within the time specified, ssh will exit.

X11 FORWARDING

If the ForwardX11 variable is set to ``yes'' (or see the description of the -X -x and -Y options above) and the user is using X11 (the DISPLAY environment variable is set), the connection to the X11 display is automatically forwarded to the remote side in such a way that any X11 programs started from the shell (or command) will go through the encrypted channel, and the connection to the real X server will be made from the local machine. The user should not manually set DISPLAY Forwarding of X11 connections can be configured on the command line or in configuration files.

The DISPLAY value set by ssh will point to the server machine, but with a display number greater than zero. This is normal, and happens because ssh creates a ``proxy'' X server on the server machine for forwarding the connections over the encrypted channel.

ssh will also automatically set up Xauthority data on the server machine. For this purpose, it will generate a random authorization cookie, store it in Xauthority on the server, and verify that any forwarded connections carry this cookie and replace it by the real cookie when the connection is opened. The real authentication cookie is never sent to the server machine (and no cookies are sent in the plain).

If the ForwardAgent variable is set to ``yes'' (or see the description of the -A and -a options above) and the user is using an authentication agent, the connection to the agent is automatically forwarded to the remote side.

VERIFYING HOST KEYS

When connecting to a server for the first time, a fingerprint of the server's public key is presented to the user (unless the option StrictHostKeyChecking has been disabled). Fingerprints can be determined using ssh-keygen1:

$ ssh-keygen -l -f /etc/ssh/ssh_host_rsa_key

If the fingerprint is already known, it can be matched and the key can be accepted or rejected. If only legacy (MD5) fingerprints for the server are available, the ssh-keygen1 -E option may be used to downgrade the fingerprint algorithm to match.

Because of the difficulty of comparing host keys just by looking at fingerprint strings, there is also support to compare host keys visually, using random art By setting the VisualHostKey option to ``yes'' a small ASCII graphic gets displayed on every login to a server, no matter if the session itself is interactive or not. By learning the pattern a known server produces, a user can easily find out that the host key has changed when a completely different pattern is displayed. Because these patterns are not unambiguous however, a pattern that looks similar to the pattern remembered only gives a good probability that the host key is the same, not guaranteed proof.

To get a listing of the fingerprints along with their random art for all known hosts, the following command line can be used:

$ ssh-keygen -lv -f ~/.ssh/known_hosts

If the fingerprint is unknown, an alternative method of verification is available: SSH fingerprints verified by DNS. An additional resource record (RR), SSHFP, is added to a zonefile and the connecting client is able to match the fingerprint with that of the key presented.

In this example, we are connecting a client to a server, ``host.example.com'' The SSHFP resource records should first be added to the zonefile for host.example.com:

$ ssh-keygen -r host.example.com.

The output lines will have to be added to the zonefile. To check that the zone is answering fingerprint queries:

$ dig -t SSHFP host.example.com

Finally the client connects:

$ ssh -o "VerifyHostKeyDNS ask" host.example.com

[...]

Matching host key fingerprint found in DNS.

Are you sure you want to continue connecting (yes/no)?

See the VerifyHostKeyDNS option in ssh_config5 for more information.

SSH-BASED VIRTUAL PRIVATE NETWORKS

ssh contains support for Virtual Private Network (VPN) tunnelling using the tun(4) network pseudo-device, allowing two networks to be joined securely. The sshd_config5 configuration option PermitTunnel controls whether the server supports this, and at what level (layer 2 or 3 traffic).

The following example would connect client network 10.0.50.0/24 with remote network 10.0.99.0/24 using a point-to-point connection from 10.1.1.1 to 10.1.1.2, provided that the SSH server running on the gateway to the remote network, at 192.168.1.15, allows it.

On the client:

# ssh -f -w 0:1 192.168.1.15 true

# ifconfig tun0 10.1.1.1 10.1.1.2 netmask 255.255.255.252

# route add 10.0.99.0/24 10.1.1.2

On the server:

# ifconfig tun1 10.1.1.2 10.1.1.1 netmask 255.255.255.252

# route add 10.0.50.0/24 10.1.1.1

Client access may be more finely tuned via the /root/.ssh/authorized_keys file (see below) and the PermitRootLogin server option. The following entry would permit connections on tun(4) device 1 from user ``jane'' and on tun device 2 from user ``john'' if PermitRootLogin is set to ``forced-commands-only''

tunnel="1",command="sh /etc/netstart tun1" ssh-rsa ... jane

tunnel="2",command="sh /etc/netstart tun2" ssh-rsa ... john

Since an SSH-based setup entails a fair amount of overhead, it may be more suited to temporary setups, such as for wireless VPNs. More permanent VPNs are better provided by tools such as ipsecctl(8) and isakmpd(8).

ENVIRONMENT

ssh will normally set the following environment variables:

DISPLAY

The DISPLAY variable indicates the location of the X11 server. It is automatically set by ssh to point to a value of the form ``hostname:n'' where ``hostname'' indicates the host where the shell runs, and `n' is an integer 1. ssh uses this special value to forward X11 connections over the secure channel. The user should normally not set DISPLAY explicitly, as that will render the X11 connection insecure (and will require the user to manually copy any required authorization cookies).

HOME

Set to the path of the user's home directory.

LOGNAME

Synonym for USER set for compatibility with systems that use this variable.

MAIL

Set to the path of the user's mailbox.

PATH

Set to the default PATH as specified when compiling .

SSH_ASKPASS

If ssh needs a passphrase, it will read the passphrase from the current terminal if it was run from a terminal. If ssh does not have a terminal associated with it but DISPLAY and SSH_ASKPASS are set, it will execute the program specified by SSH_ASKPASS and open an X11 window to read the passphrase. This is particularly useful when calling ssh from a .xsession or related script. (Note that on some machines it may be necessary to redirect the input from /dev/null to make this work.)

SSH_AUTH_SOCK

Identifies the path of a UNIX socket used to communicate with the agent.

SSH_CONNECTION

Identifies the client and server ends of the connection. The variable contains four space-separated values: client IP address, client port number, server IP address, and server port number.

SSH_ORIGINAL_COMMAND

This variable contains the original command line if a forced command is executed. It can be used to extract the original arguments.

SSH_TTY

This is set to the name of the tty (path to the device) associated with the current shell or command. If the current session has no tty, this variable is not set.

TZ

This variable is set to indicate the present time zone if it was set when the daemon was started (i.e. the daemon passes the value on to new connections).

USER

Set to the name of the user logging in.

Additionally, ssh reads ~/.ssh/environment and adds lines of the format ``VARNAME=value'' to the environment if the file exists and users are allowed to change their environment. For more information, see the PermitUserEnvironment option in sshd_config5.

FILES

~/.rhosts

This file is used for host-based authentication (see above). On some machines this file may need to be world-readable if the user's home directory is on an NFS partition, because sshd(8) reads it as root. Additionally, this file must be owned by the user, and must not have write permissions for anyone else. The recommended permission for most machines is read/write for the user, and not accessible by others.

~/.shosts

This file is used in exactly the same way as .rhosts but allows host-based authentication without permitting login with rlogin/rsh.

~/.ssh/

This directory is the default location for all user-specific configuration and authentication information. There is no general requirement to keep the entire contents of this directory secret, but the recommended permissions are read/write/execute for the user, and not accessible by others.

~/.ssh/authorized_keys

Lists the public keys (DSA, ECDSA, Ed25519, RSA) that can be used for logging in as this user. The format of this file is described in the sshd(8) manual page. This file is not highly sensitive, but the recommended permissions are read/write for the user, and not accessible by others.

~/.ssh/config

This is the per-user configuration file. The file format and configuration options are described in ssh_config5. Because of the potential for abuse, this file must have strict permissions: read/write for the user, and not writable by others. It may be group-writable provided that the group in question contains only the user.

~/.ssh/environment

Contains additional definitions for environment variables; see Sx ENVIRONMENT , above.

~/.ssh/id_dsa

~/.ssh/id_ecdsa

~/.ssh/id_ed25519

~/.ssh/id_rsa

Contains the private key for authentication. These files contain sensitive data and should be readable by the user but not accessible by others (read/write/execute). ssh will simply ignore a private key file if it is accessible by others. It is possible to specify a passphrase when generating the key which will be used to encrypt the sensitive part of this file using 3DES.

~/.ssh/id_dsa.pub

~/.ssh/id_ecdsa.pub

~/.ssh/id_ed25519.pub

~/.ssh/id_rsa.pub

Contains the public key for authentication. These files are not sensitive and can (but need not) be readable by anyone.

~/.ssh/known_hosts

Contains a list of host keys for all hosts the user has logged into that are not already in the systemwide list of known host keys. See sshd(8) for further details of the format of this file.

~/.ssh/rc

Commands in this file are executed by ssh when the user logs in, just before the user's shell (or command) is started. See the sshd(8) manual page for more information.

/etc/hosts.equiv

This file is for host-based authentication (see above). It should only be writable by root.

/etc/ssh/shosts.equiv

This file is used in exactly the same way as hosts.equiv but allows host-based authentication without permitting login with rlogin/rsh.

/etc/ssh/ssh_config

Systemwide configuration file. The file format and configuration options are described in ssh_config5.

/etc/ssh/ssh_host_key

/etc/ssh/ssh_host_dsa_key

/etc/ssh/ssh_host_ecdsa_key

/etc/ssh/ssh_host_ed25519_key

/etc/ssh/ssh_host_rsa_key

These files contain the private parts of the host keys and are used for host-based authentication.

/etc/ssh/ssh_known_hosts

Systemwide list of known host keys. This file should be prepared by the system administrator to contain the public host keys of all machines in the organization. It should be world-readable. See sshd(8) for further details of the format of this file.

/etc/ssh/sshrc

Commands in this file are executed by ssh when the user logs in, just before the user's shell (or command) is started. See the sshd(8) manual page for more information.

EXIT STATUS

ssh exits with the exit status of the remote command or with 255 if an error occurred.

SEE ALSO

scp(1), sftp(1), ssh-add1, ssh-agent1, ssh-argv01, ssh-keygen1, ssh-keyscan1, tun(4), ssh_config5, ssh-keysign8, sshd(8)

STANDARDS

S. Lehtinen C. Lonvick January 2006 RFC 4250 The Secure Shell (SSH) Protocol Assigned Numbers

T. Ylonen C. Lonvick January 2006 RFC 4251 The Secure Shell (SSH) Protocol Architecture

T. Ylonen C. Lonvick January 2006 RFC 4252 The Secure Shell (SSH) Authentication Protocol

T. Ylonen C. Lonvick January 2006 RFC 4253 The Secure Shell (SSH) Transport Layer Protocol

T. Ylonen C. Lonvick January 2006 RFC 4254 The Secure Shell (SSH) Connection Protocol

J. Schlyter W. Griffin January 2006 RFC 4255 Using DNS to Securely Publish Secure Shell (SSH) Key Fingerprints

F. Cusack M. Forssen January 2006 RFC 4256 Generic Message Exchange Authentication for the Secure Shell Protocol (SSH)

J. Galbraith P. Remaker January 2006 RFC 4335 The Secure Shell (SSH) Session Channel Break Extension

M. Bellare T. Kohno C. Namprempre January 2006 RFC 4344 The Secure Shell (SSH) Transport Layer Encryption Modes

B. Harris January 2006 RFC 4345 Improved Arcfour Modes for the Secure Shell (SSH) Transport Layer Protocol

M. Friedl N. Provos W. Simpson March 2006 RFC 4419 Diffie-Hellman Group Exchange for the Secure Shell (SSH) Transport Layer Protocol

J. Galbraith R. Thayer November 2006 RFC 4716 The Secure Shell (SSH) Public Key File Format

D. Stebila J. Green December 2009 RFC 5656 Elliptic Curve Algorithm Integration in the Secure Shell Transport Layer

A. Perrig D. Song 1999 International Workshop on Cryptographic Techniques and E-Commerce (CrypTEC '99) Hash Visualization: a New Technique to improve Real-World Security

AUTHORS

OpenSSH is a derivative of the original and free ssh 1.2.12 release by Tatu Ylonen. Aaron Campbell, Bob Beck, Markus Friedl, Niels Provos, Theo de Raadt and Dug Song removed many bugs, re-added newer features and created OpenSSH. Markus Friedl contributed the support for SSH protocol versions 1.5 and 2.0.

NAME SYNOPSIS DESCRIPTION AUTHENTICATION ESCAPE CHARACTERS TCP FORWARDING X11 FORWARDING VERIFYING HOST KEYS SSH-BASED VIRTUAL PRIVATE NETWORKS ENVIRONMENT FILES EXIT STATUS SEE ALSO STANDARDS AUTHORS

This document was created by man2html using the manual pages.

Time: 16:33:44 GMT, September 14, 2024

SFTP

TOC Index

BSD mandoc

NAME

sftp - secure file transfer program

SYNOPSIS

sftp -words [-46aCfpqrv ] [-B buffer_size ] [-b batchfile ] [-c cipher ] [-D sftp_server_path ] [-F ssh_config ] [-i identity_file ] [-l limit ] [-o ssh_option ] [-P port ] [-R num_requests ] [-S program ] [-s subsystem | sftp_server ] host

sftp [user @ host [: file ... ] ]

sftp [user @ host [: dir [file ... ] ] ]

sftp -b batchfile [user @ host ]

DESCRIPTION

sftp is an interactive file transfer program, similar to ftp(1), which performs all operations over an encrypted ssh(1) transport. It may also use many features of ssh, such as public key authentication and compression. sftp connects and logs into the specified host then enters an interactive command mode.

The second usage format will retrieve files automatically if a non-interactive authentication method is used; otherwise it will do so after successful interactive authentication.

The third usage format allows sftp to start in a remote directory.

The final usage format allows for automated sessions using the -b option. In such cases, it is necessary to configure non-interactive authentication to obviate the need to enter a password at connection time (see sshd(8) and ssh-keygen1 for details).

Since some usage formats use colon characters to delimit host names from path names, IPv6 addresses must be enclosed in square brackets to avoid ambiguity.

The options are as follows:

-4

Forces sftp to use IPv4 addresses only.

-6

Forces sftp to use IPv6 addresses only.

-a

Attempt to continue interrupted transfers rather than overwriting existing partial or complete copies of files. If the partial contents differ from those being transferred, then the resultant file is likely to be corrupt.

-B buffer_size

Specify the size of the buffer that sftp uses when transferring files. Larger buffers require fewer round trips at the cost of higher memory consumption. The default is 32768 bytes.

-b batchfile

Batch mode reads a series of commands from an input batchfile instead of stdin Since it lacks user interaction it should be used in conjunction with non-interactive authentication. A batchfile of `-' may be used to indicate standard input. sftp will abort if any of the following commands fail: get , put , reget , reput, rename , ln rm , mkdir , chdir , ls lchdir , chmod , chown chgrp , lpwd , df , symlink and lmkdir Termination on error can be suppressed on a command by command basis by prefixing the command with a `-' character (for example, -rm /tmp/blah* )

-C

Enables compression (via ssh's -C flag).

-c cipher

Selects the cipher to use for encrypting the data transfers. This option is directly passed to ssh(1).

-D sftp_server_path

Connect directly to a local sftp server (rather than via ssh(1)). This option may be useful in debugging the client and server.

-F ssh_config

Specifies an alternative per-user configuration file for ssh(1). This option is directly passed to ssh(1).

-f

Requests that files be flushed to disk immediately after transfer. When uploading files, this feature is only enabled if the server implements the "fsync@openssh.com" extension.

-i identity_file

Selects the file from which the identity (private key) for public key authentication is read. This option is directly passed to ssh(1).

-l limit

Limits the used bandwidth, specified in Kbit/s.

-o ssh_option

Can be used to pass options to ssh in the format used in ssh_config5. This is useful for specifying options for which there is no separate sftp command-line flag. For example, to specify an alternate port use: sftp -oPort=24 For full details of the options listed below, and their possible values, see ssh_config5.

AddressFamily

BatchMode

BindAddress

CanonicalDomains

CanonicalizeFallbackLocal

CanonicalizeHostname

CanonicalizeMaxDots

CanonicalizePermittedCNAMEs

CertificateFile

ChallengeResponseAuthentication

CheckHostIP

Ciphers

Compression

ConnectionAttempts

ConnectTimeout

ControlMaster

ControlPath

ControlPersist

GlobalKnownHostsFile

GSSAPIAuthentication

GSSAPIDelegateCredentials

HashKnownHosts

Host

HostbasedAuthentication

HostbasedKeyTypes

HostKeyAlgorithms

HostKeyAlias

HostName

IdentitiesOnly

IdentityAgent

IdentityFile

IPQoS

KbdInteractiveAuthentication

KbdInteractiveDevices

KexAlgorithms

LogLevel

MACs

NoHostAuthenticationForLocalhost

NumberOfPasswordPrompts

PasswordAuthentication

PKCS11Provider

Port

PreferredAuthentications

ProxyCommand

ProxyJump

PubkeyAcceptedKeyTypes

PubkeyAuthentication

RekeyLimit

SendEnv

ServerAliveInterval

ServerAliveCountMax

StrictHostKeyChecking

TCPKeepAlive

UpdateHostKeys

UsePrivilegedPort

User

UserKnownHostsFile

VerifyHostKeyDNS

-P port

Specifies the port to connect to on the remote host.

-p

Preserves modification times, access times, and modes from the original files transferred.

-q

Quiet mode: disables the progress meter as well as warning and diagnostic messages from ssh(1).

-R num_requests

Specify how many requests may be outstanding at any one time. Increasing this may slightly improve file transfer speed but will increase memory usage. The default is 64 outstanding requests.

-r

Recursively copy entire directories when uploading and downloading. Note that sftp does not follow symbolic links encountered in the tree traversal.

-S program

Name of the program to use for the encrypted connection. The program must understand ssh(1) options.

-s subsystem | sftp_server

Specifies the SSH2 subsystem or the path for an sftp server on the remote host. A path is useful when the remote sshd(8) does not have an sftp subsystem configured.

-v

Raise logging level. This option is also passed to ssh.

INTERACTIVE COMMANDS

Once in interactive mode, sftp understands a set of commands similar to those of ftp(1). Commands are case insensitive. Pathnames that contain spaces must be enclosed in quotes. Any special characters contained within pathnames that are recognized by glob(3) must be escaped with backslashes (`\' )

bye

Quit sftp

cd path

Change remote directory to path

chgrp grp path

Change group of file path to grp path may contain glob(3) characters and may match multiple files. grp must be a numeric GID.

chmod mode path

Change permissions of file path to mode path may contain glob(3) characters and may match multiple files.

chown own path

Change owner of file path to own path may contain glob(3) characters and may match multiple files. own must be a numeric UID.

df [-hi ] [path ]

Display usage information for the filesystem holding the current directory (or path if specified). If the -h flag is specified, the capacity information will be displayed using "human-readable" suffixes. The -i flag requests display of inode information in addition to capacity information. This command is only supported on servers that implement the ``statvfs@openssh.com'' extension.

exit

Quit sftp

get [-afPpr ] remote-path [local-path ]

Retrieve the remote-path and store it on the local machine. If the local path name is not specified, it is given the same name it has on the remote machine. remote-path may contain glob(3) characters and may match multiple files. If it does and local-path is specified, then local-path must specify a directory.

If the -a flag is specified, then attempt to resume partial transfers of existing files. Note that resumption assumes that any partial copy of the local file matches the remote copy. If the remote file contents differ from the partial local copy then the resultant file is likely to be corrupt.

If the -f flag is specified, then fsync(2) will be called after the file transfer has completed to flush the file to disk.

If either the -P or -p flag is specified, then full file permissions and access times are copied too.

If the -r flag is specified then directories will be copied recursively. Note that sftp does not follow symbolic links when performing recursive transfers.

help

Display help text.

lcd path

Change local directory to path

lls [ls-options [path ] ]

Display local directory listing of either path or current directory if path is not specified. ls-options may contain any flags supported by the local system's ls(1) command. path may contain glob(3) characters and may match multiple files.

lmkdir path

Create local directory specified by path

ln [-s ] oldpath newpath

Create a link from oldpath to newpath If the -s flag is specified the created link is a symbolic link, otherwise it is a hard link.

lpwd

Print local working directory.

ls [-1afhlnrSt [path ] ]

Display a remote directory listing of either path or the current directory if path is not specified. path may contain glob(3) characters and may match multiple files.

The following flags are recognized and alter the behaviour of ls accordingly:

-1

Produce single columnar output.

-a

List files beginning with a dot (`.' )

-f

Do not sort the listing. The default sort order is lexicographical.

-h

When used with a long format option, use unit suffixes: Byte, Kilobyte, Megabyte, Gigabyte, Terabyte, Petabyte, and Exabyte in order to reduce the number of digits to four or fewer using powers of 2 for sizes (K=1024, M=1048576, etc.).

-l

Display additional details including permissions and ownership information.

-n

Produce a long listing with user and group information presented numerically.

-r

Reverse the sort order of the listing.

-S

Sort the listing by file size.

-t

Sort the listing by last modification time.

lumask umask

Set local umask to umask

mkdir path

Create remote directory specified by path

progress

Toggle display of progress meter.

put [-afPpr ] local-path [remote-path ]

Upload local-path and store it on the remote machine. If the remote path name is not specified, it is given the same name it has on the local machine. local-path may contain glob(3) characters and may match multiple files. If it does and remote-path is specified, then remote-path must specify a directory.

If the -a flag is specified, then attempt to resume partial transfers of existing files. Note that resumption assumes that any partial copy of the remote file matches the local copy. If the local file contents differ from the remote local copy then the resultant file is likely to be corrupt.

If the -f flag is specified, then a request will be sent to the server to call fsync(2) after the file has been transferred. Note that this is only supported by servers that implement the "fsync@openssh.com" extension.

If either the -P or -p flag is specified, then full file permissions and access times are copied too.

If the -r flag is specified then directories will be copied recursively. Note that sftp does not follow symbolic links when performing recursive transfers.

pwd

Display remote working directory.

quit

Quit sftp

reget [-Ppr ] remote-path [local-path ]

Resume download of remote-path Equivalent to get with the -a flag set.

reput [-Ppr ] [local-path ] remote-path

Resume upload of [local-path ] Equivalent to put with the -a flag set.

rename oldpath newpath

Rename remote file from oldpath to newpath

rm path

Delete remote file specified by path

rmdir path

Remove remote directory specified by path

symlink oldpath newpath

Create a symbolic link from oldpath to newpath

version

Display the sftp protocol version.

! command

Execute command in local shell.

!

Escape to local shell.

?

Synonym for help.

SEE ALSO

ftp(1), ls(1), scp(1), ssh(1), ssh-add1, ssh-keygen1, glob(3), ssh_config5, sftp-server8, sshd(8)

T. Ylonen S. Lehtinen "SSH File Transfer Protocol" draft-ietf-secsh-filexfer-00.txt January 2001 work in progress material

NAME SYNOPSIS DESCRIPTION INTERACTIVE COMMANDS SEE ALSO

This document was created by man2html using the manual pages.

Time: 16:33:43 GMT, September 14, 2024

SSH-KEYGEN

TOC Index

BSD mandoc

NAME

ssh-keygen - authentication key generation, management and conversion

SYNOPSIS

-words ssh-keygen [-q ] [-b bits ] [-t dsa | ecdsa | ed25519 | rsa ] [-N new_passphrase ] [-C comment ] [-f output_keyfile ]

ssh-keygen -p [-P old_passphrase ] [-N new_passphrase ] [-f keyfile ]

ssh-keygen -i [-m key_format ] [-f input_keyfile ]

ssh-keygen -e [-m key_format ] [-f input_keyfile ]

ssh-keygen -y [-f input_keyfile ]

ssh-keygen -c [-P passphrase ] [-C comment ] [-f keyfile ]

ssh-keygen -l [-v ] [-E fingerprint_hash ] [-f input_keyfile ]

ssh-keygen -B [-f input_keyfile ]

ssh-keygen -D pkcs11

ssh-keygen -F hostname [-f known_hosts_file ] [-l ]

ssh-keygen -H [-f known_hosts_file ]

ssh-keygen -R hostname [-f known_hosts_file ]

ssh-keygen -r hostname [-f input_keyfile ] [-g ]

ssh-keygen -G output_file [-v ] [-b bits ] [-M memory ] [-S start_point ]

ssh-keygen -T output_file -f input_file [-v ] [-a rounds ] [-J num_lines ] [-j start_line ] [-K checkpt ] [-W generator ]

ssh-keygen -s ca_key -I certificate_identity [-h ] [-U ] [-D pkcs11_provider ] [-n principals ] [-O option ] [-V validity_interval ] [-z serial_number ] file ...

ssh-keygen -L [-f input_keyfile ]

ssh-keygen -A [-f prefix_path ]

ssh-keygen -k -f krl_file [-u ] [-s ca_public ] [-z version_number ] file ...

ssh-keygen -Q -f krl_file file ...

DESCRIPTION

ssh-keygen generates, manages and converts authentication keys for ssh(1). ssh-keygen can create keys for use by SSH protocol version 2.

The type of key to be generated is specified with the -t option. If invoked without any arguments, ssh-keygen will generate an RSA key.

ssh-keygen is also used to generate groups for use in Diffie-Hellman group exchange (DH-GEX). See the Sx MODULI GENERATION section for details.

Finally, ssh-keygen can be used to generate and update Key Revocation Lists, and to test whether given keys have been revoked by one. See the Sx KEY REVOCATION LISTS section for details.

Normally each user wishing to use SSH with public key authentication runs this once to create the authentication key in ~/.ssh/id_dsa ~/.ssh/id_ecdsa ~/.ssh/id_ed25519 or ~/.ssh/id_rsa Additionally, the system administrator may use this to generate host keys.

Normally this program generates the key and asks for a file in which to store the private key. The public key is stored in a file with the same name but ``.pub'' appended. The program also asks for a passphrase. The passphrase may be empty to indicate no passphrase (host keys must have an empty passphrase), or it may be a string of arbitrary length. A passphrase is similar to a password, except it can be a phrase with a series of words, punctuation, numbers, whitespace, or any string of characters you want. Good passphrases are 10-30 characters long, are not simple sentences or otherwise easily guessable (English prose has only 1-2 bits of entropy per character, and provides very bad passphrases), and contain a mix of upper and lowercase letters, numbers, and non-alphanumeric characters. The passphrase can be changed later by using the -p option.

There is no way to recover a lost passphrase. If the passphrase is lost or forgotten, a new key must be generated and the corresponding public key copied to other machines.

For keys stored in the newer OpenSSH format, there is also a comment field in the key file that is only for convenience to the user to help identify the key. The comment can tell what the key is for, or whatever is useful. The comment is initialized to ``user@host'' when the key is created, but can be changed using the -c option.

After a key is generated, instructions below detail where the keys should be placed to be activated.

The options are as follows:

-A

For each of the key types (rsa, dsa, ecdsa and ed25519) for which host keys do not exist, generate the host keys with the default key file path, an empty passphrase, default bits for the key type, and default comment. If -f has also been specified, its argument is used as a prefix to the default path for the resulting host key files. This is used by system administration scripts to generate new host keys.

-a rounds

When saving a new-format private key (i.e. an ed25519 key or when the -o flag is set), this option specifies the number of KDF (key derivation function) rounds used. Higher numbers result in slower passphrase verification and increased resistance to brute-force password cracking (should the keys be stolen).

When screening DH-GEX candidates (using the -T command). This option specifies the number of primality tests to perform.

-B

Show the bubblebabble digest of specified private or public key file.

-b bits

Specifies the number of bits in the key to create. For RSA keys, the minimum size is 1024 bits and the default is 2048 bits. Generally, 2048 bits is considered sufficient. DSA keys must be exactly 1024 bits as specified by FIPS 186-2. For ECDSA keys, the -b flag determines the key length by selecting from one of three elliptic curve sizes: 256, 384 or 521 bits. Attempting to use bit lengths other than these three values for ECDSA keys will fail. Ed25519 keys have a fixed length and the -b flag will be ignored.

-C comment

Provides a new comment.

-c

Requests changing the comment in the private and public key files. This operation is only supported for keys stored in the newer OpenSSH format. The program will prompt for the file containing the private keys, for the passphrase if the key has one, and for the new comment.

-D pkcs11

Download the RSA public keys provided by the PKCS#11 shared library pkcs11 When used in combination with -s this option indicates that a CA key resides in a PKCS#11 token (see the Sx CERTIFICATES section for details).

-E fingerprint_hash

Specifies the hash algorithm used when displaying key fingerprints. Valid options are: ``md5'' and ``sha256'' The default is ``sha256''

-e

This option will read a private or public OpenSSH key file and print to stdout the key in one of the formats specified by the -m option. The default export format is ``RFC4716'' This option allows exporting OpenSSH keys for use by other programs, including several commercial SSH implementations.

-F hostname

Search for the specified hostname in a known_hosts file, listing any occurrences found. This option is useful to find hashed host names or addresses and may also be used in conjunction with the -H option to print found keys in a hashed format.

-f filename

Specifies the filename of the key file.

-G output_file

Generate candidate primes for DH-GEX. These primes must be screened for safety (using the -T option) before use.

-g

Use generic DNS format when printing fingerprint resource records using the -r command.

-H

Hash a known_hosts file. This replaces all hostnames and addresses with hashed representations within the specified file; the original content is moved to a file with a .old suffix. These hashes may be used normally by ssh and sshd but they do not reveal identifying information should the file's contents be disclosed. This option will not modify existing hashed hostnames and is therefore safe to use on files that mix hashed and non-hashed names.

-h

When signing a key, create a host certificate instead of a user certificate. Please see the Sx CERTIFICATES section for details.

-I certificate_identity

Specify the key identity when signing a public key. Please see the Sx CERTIFICATES section for details.

-i

This option will read an unencrypted private (or public) key file in the format specified by the -m option and print an OpenSSH compatible private (or public) key to stdout. This option allows importing keys from other software, including several commercial SSH implementations. The default import format is ``RFC4716''

-J num_lines

Exit after screening the specified number of lines while performing DH candidate screening using the -T option.

-j start_line

Start screening at the specified line number while performing DH candidate screening using the -T option.

-K checkpt

Write the last line processed to the file checkpt while performing DH candidate screening using the -T option. This will be used to skip lines in the input file that have already been processed if the job is restarted.

-k

Generate a KRL file. In this mode, ssh-keygen will generate a KRL file at the location specified via the -f flag that revokes every key or certificate presented on the command line. Keys/certificates to be revoked may be specified by public key file or using the format described in the Sx KEY REVOCATION LISTS section.

-L

Prints the contents of one or more certificates.

-l

Show fingerprint of specified public key file. For RSA and DSA keys ssh-keygen tries to find the matching public key file and prints its fingerprint. If combined with -v a visual ASCII art representation of the key is supplied with the fingerprint.

-M memory

Specify the amount of memory to use (in megabytes) when generating candidate moduli for DH-GEX.

-m key_format

Specify a key format for the -i (import) or -e (export) conversion options. The supported key formats are: ``RFC4716'' (RFC 4716/SSH2 public or private key), ``PKCS8'' (PEM PKCS8 public key) or ``PEM'' (PEM public key). The default conversion format is ``RFC4716''

-N new_passphrase

Provides the new passphrase.

-n principals

Specify one or more principals (user or host names) to be included in a certificate when signing a key. Multiple principals may be specified, separated by commas. Please see the Sx CERTIFICATES section for details.

-O option

Specify a certificate option when signing a key. This option may be specified multiple times. See also the Sx CERTIFICATES section for further details. The options that are valid for user certificates are:

clear

Clear all enabled permissions. This is useful for clearing the default set of permissions so permissions may be added individually.

critical : name [= contents ]

extension : name [= contents ]

Includes an arbitrary certificate critical option or extension. The specified name should include a domain suffix, e.g. ``name@example.com'' If contents is specified then it is included as the contents of the extension/option encoded as a string, otherwise the extension/option is created with no contents (usually indicating a flag). Extensions may be ignored by a client or server that does not recognise them, whereas unknown critical options will cause the certificate to be refused.

At present, no standard options are valid for host keys.

force-command = command

Forces the execution of command instead of any shell or command specified by the user when the certificate is used for authentication.

no-agent-forwarding

Disable ssh-agent1 forwarding (permitted by default).

no-port-forwarding

Disable port forwarding (permitted by default).

no-pty

Disable PTY allocation (permitted by default).

no-user-rc

Disable execution of ~/.ssh/rc by sshd(8) (permitted by default).

no-x11-forwarding

Disable X11 forwarding (permitted by default).

permit-agent-forwarding

Allows ssh-agent1 forwarding.

permit-port-forwarding

Allows port forwarding.

permit-pty

Allows PTY allocation.

permit-user-rc

Allows execution of ~/.ssh/rc by sshd(8).

permit-x11-forwarding

Allows X11 forwarding.

source-address = address_list

Restrict the source addresses from which the certificate is considered valid. The address_list is a comma-separated list of one or more address/netmask pairs in CIDR format.

-o

Causes ssh-keygen to save private keys using the new OpenSSH format rather than the more compatible PEM format. The new format has increased resistance to brute-force password cracking but is not supported by versions of OpenSSH prior to 6.5. Ed25519 keys always use the new private key format.

-P passphrase

Provides the (old) passphrase.

-p

Requests changing the passphrase of a private key file instead of creating a new private key. The program will prompt for the file containing the private key, for the old passphrase, and twice for the new passphrase.

-Q

Test whether keys have been revoked in a KRL.

-q

Silence ssh-keygen

-R hostname

Removes all keys belonging to hostname from a known_hosts file. This option is useful to delete hashed hosts (see the -H option above).

-r hostname

Print the SSHFP fingerprint resource record named hostname for the specified public key file.

-S start

Specify start point (in hex) when generating candidate moduli for DH-GEX.

-s ca_key

Certify (sign) a public key using the specified CA key. Please see the Sx CERTIFICATES section for details.

When generating a KRL, -s specifies a path to a CA public key file used to revoke certificates directly by key ID or serial number. See the Sx KEY REVOCATION LISTS section for details.

-T output_file

Test DH group exchange candidate primes (generated using the -G option) for safety.

-t dsa | ecdsa | ed25519 | rsa

Specifies the type of key to create. The possible values are ``dsa'' ``ecdsa'' ``ed25519'' or ``rsa''

-U

When used in combination with -s this option indicates that a CA key resides in a ssh-agent1. See the Sx CERTIFICATES section for more information.

-u

Update a KRL. When specified with -k keys listed via the command line are added to the existing KRL rather than a new KRL being created.

-V validity_interval

Specify a validity interval when signing a certificate. A validity interval may consist of a single time, indicating that the certificate is valid beginning now and expiring at that time, or may consist of two times separated by a colon to indicate an explicit time interval. The start time may be specified as a date in YYYYMMDD format, a time in YYYYMMDDHHMMSS format or a relative time (to the current time) consisting of a minus sign followed by a relative time in the format described in the TIME FORMATS section of sshd_config5. The end time may be specified as a YYYYMMDD date, a YYYYMMDDHHMMSS time or a relative time starting with a plus character.

For example: ``+52w1d'' (valid from now to 52 weeks and one day from now), ``-4w:+4w'' (valid from four weeks ago to four weeks from now), ``20100101123000:20110101123000'' (valid from 12:30 PM, January 1st, 2010 to 12:30 PM, January 1st, 2011), ``-1d:20110101'' (valid from yesterday to midnight, January 1st, 2011).

-v

Verbose mode. Causes ssh-keygen to print debugging messages about its progress. This is helpful for debugging moduli generation. Multiple -v options increase the verbosity. The maximum is 3.

-W generator

Specify desired generator when testing candidate moduli for DH-GEX.

-y

This option will read a private OpenSSH format file and print an OpenSSH public key to stdout.

-z serial_number

Specifies a serial number to be embedded in the certificate to distinguish this certificate from others from the same CA. The default serial number is zero.

When generating a KRL, the -z flag is used to specify a KRL version number.

MODULI GENERATION

ssh-keygen may be used to generate groups for the Diffie-Hellman Group Exchange (DH-GEX) protocol. Generating these groups is a two-step process: first, candidate primes are generated using a fast, but memory intensive process. These candidate primes are then tested for suitability (a CPU-intensive process).

Generation of primes is performed using the -G option. The desired length of the primes may be specified by the -b option. For example:

# ssh-keygen -G moduli-2048.candidates -b 2048

By default, the search for primes begins at a random point in the desired length range. This may be overridden using the -S option, which specifies a different start point (in hex).

Once a set of candidates have been generated, they must be screened for suitability. This may be performed using the -T option. In this mode ssh-keygen will read candidates from standard input (or a file specified using the -f option). For example:

# ssh-keygen -T moduli-2048 -f moduli-2048.candidates

By default, each candidate will be subjected to 100 primality tests. This may be overridden using the -a option. The DH generator value will be chosen automatically for the prime under consideration. If a specific generator is desired, it may be requested using the -W option. Valid generator values are 2, 3, and 5.

Screened DH groups may be installed in /etc/ssh/moduli It is important that this file contains moduli of a range of bit lengths and that both ends of a connection share common moduli.

CERTIFICATES

ssh-keygen supports signing of keys to produce certificates that may be used for user or host authentication. Certificates consist of a public key, some identity information, zero or more principal (user or host) names and a set of options that are signed by a Certification Authority (CA) key. Clients or servers may then trust only the CA key and verify its signature on a certificate rather than trusting many user/host keys. Note that OpenSSH certificates are a different, and much simpler, format to the X.509 certificates used in ssl(8).

ssh-keygen supports two types of certificates: user and host. User certificates authenticate users to servers, whereas host certificates authenticate server hosts to users. To generate a user certificate:

$ ssh-keygen -s /path/to/ca_key -I key_id /path/to/user_key.pub

The resultant certificate will be placed in /path/to/user_key-cert.pub A host certificate requires the -h option:

$ ssh-keygen -s /path/to/ca_key -I key_id -h /path/to/host_key.pub

The host certificate will be output to /path/to/host_key-cert.pub

It is possible to sign using a CA key stored in a PKCS#11 token by providing the token library using -D and identifying the CA key by providing its public half as an argument to -s

$ ssh-keygen -s ca_key.pub -D libpkcs11.so -I key_id user_key.pub

Similarly, it is possible for the CA key to be hosted in a ssh-agent1. This is indicated by the -U flag and, again, the CA key must be identified by its public half.

$ ssh-keygen -Us ca_key.pub -I key_id user_key.pub

In all cases, key_id is a "key identifier" that is logged by the server when the certificate is used for authentication.

Certificates may be limited to be valid for a set of principal (user/host) names. By default, generated certificates are valid for all users or hosts. To generate a certificate for a specified set of principals:

$ ssh-keygen -s ca_key -I key_id -n user1,user2 user_key.pub

"$ ssh-keygen -s ca_key -I key_id -h -n host.domain host_key.pub"

Additional limitations on the validity and use of user certificates may be specified through certificate options. A certificate option may disable features of the SSH session, may be valid only when presented from particular source addresses or may force the use of a specific command. For a list of valid certificate options, see the documentation for the -O option above.

Finally, certificates may be defined with a validity lifetime. The -V option allows specification of certificate start and end times. A certificate that is presented at a time outside this range will not be considered valid. By default, certificates are valid from UNIX Epoch to the distant future.

For certificates to be used for user or host authentication, the CA public key must be trusted by sshd(8) or ssh(1). Please refer to those manual pages for details.

KEY REVOCATION LISTS

ssh-keygen is able to manage OpenSSH format Key Revocation Lists (KRLs). These binary files specify keys or certificates to be revoked using a compact format, taking as little as one bit per certificate if they are being revoked by serial number.

KRLs may be generated using the -k flag. This option reads one or more files from the command line and generates a new KRL. The files may either contain a KRL specification (see below) or public keys, listed one per line. Plain public keys are revoked by listing their hash or contents in the KRL and certificates revoked by serial number or key ID (if the serial is zero or not available).

Revoking keys using a KRL specification offers explicit control over the types of record used to revoke keys and may be used to directly revoke certificates by serial number or key ID without having the complete original certificate on hand. A KRL specification consists of lines containing one of the following directives followed by a colon and some directive-specific information.

serial : serial_number [- serial_number ]

Revokes a certificate with the specified serial number. Serial numbers are 64-bit values, not including zero and may be expressed in decimal, hex or octal. If two serial numbers are specified separated by a hyphen, then the range of serial numbers including and between each is revoked. The CA key must have been specified on the ssh-keygen command line using the -s option.

id : key_id

Revokes a certificate with the specified key ID string. The CA key must have been specified on the ssh-keygen command line using the -s option.

key : public_key

Revokes the specified key. If a certificate is listed, then it is revoked as a plain public key.

sha1 : public_key

Revokes the specified key by its SHA1 hash.

KRLs may be updated using the -u flag in addition to -k When this option is specified, keys listed via the command line are merged into the KRL, adding to those already there.

It is also possible, given a KRL, to test whether it revokes a particular key (or keys). The -Q flag will query an existing KRL, testing each key specified on the command line. If any key listed on the command line has been revoked (or an error encountered) then ssh-keygen will exit with a non-zero exit status. A zero exit status will only be returned if no key was revoked.

FILES

~/.ssh/id_dsa

~/.ssh/id_ecdsa

~/.ssh/id_ed25519

~/.ssh/id_rsa

Contains the DSA, ECDSA, Ed25519 or RSA authentication identity of the user. This file should not be readable by anyone but the user. It is possible to specify a passphrase when generating the key; that passphrase will be used to encrypt the private part of this file using 128-bit AES. This file is not automatically accessed by ssh-keygen but it is offered as the default file for the private key. ssh(1) will read this file when a login attempt is made.

~/.ssh/id_dsa.pub

~/.ssh/id_ecdsa.pub

~/.ssh/id_ed25519.pub

~/.ssh/id_rsa.pub

Contains the DSA, ECDSA, Ed25519 or RSA public key for authentication. The contents of this file should be added to ~/.ssh/authorized_keys on all machines where the user wishes to log in using public key authentication. There is no need to keep the contents of this file secret.

/etc/ssh/moduli

Contains Diffie-Hellman groups used for DH-GEX. The file format is described in moduli(5).

SEE ALSO

ssh(1), ssh-add1, ssh-agent1, moduli(5), sshd(8)

RFC 4716 "The Secure Shell (SSH) Public Key File Format" 2006

AUTHORS

OpenSSH is a derivative of the original and free ssh 1.2.12 release by Tatu Ylonen. Aaron Campbell, Bob Beck, Markus Friedl, Niels Provos, Theo de Raadt and Dug Song removed many bugs, re-added newer features and created OpenSSH. Markus Friedl contributed the support for SSH protocol versions 1.5 and 2.0.

NAME SYNOPSIS DESCRIPTION MODULI GENERATION CERTIFICATES KEY REVOCATION LISTS FILES SEE ALSO AUTHORS

This document was created by man2html using the manual pages.

Time: 16:33:44 GMT, September 14, 2024

SPLIT

TOC Index

NAME

split - split a file into pieces

SYNOPSIS

split [OPTION] [INPUT [PREFIX]]

DESCRIPTION

Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default PREFIX is `x'. With no INPUT, or when INPUT is -, read standard input.

Mandatory arguments to long options are mandatory for short options too.

-a, --suffix-length=N

use suffixes of length N (default 2)

-b, --bytes=SIZE

put SIZE bytes per output file

-C, --line-bytes=SIZE

put at most SIZE bytes of lines per output file

-l, --lines=NUMBER

put NUMBER lines per output file

--verbose

print a diagnostic to standard error just before each output file is opened

--help

display this help and exit

--version

output version information and exit

SIZE may have a multiplier suffix: b for 512, k for 1K, m for 1 Meg.

AUTHOR

Written by Torbjorn Granlund and Richard M. Stallman.

REPORTING BUGS

Report bugs to <bug-textutils@gnu.org>.

COPYRIGHT

Copyright © 2002 Free Software Foundation, Inc.

This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

SEE ALSO

The full documentation for split is maintained as a Texinfo manual. If the info and split programs are properly installed at your site, the command

info split

should give you access to the complete manual.

NAME SYNOPSIS DESCRIPTION AUTHOR REPORTING BUGS COPYRIGHT SEE ALSO

This document was created by man2html using the manual pages.

Time: 16:33:43 GMT, September 14, 2024

STAT

TOC Index

NAME

stat - display file or file system status

SYNOPSIS

stat [OPTION] FILE...

DESCRIPTION

Display file or file system status.

-f, --file-system

display file system status instead of file status

-c --format=FORMAT

use the specified FORMAT instead of the default

-L, --dereference

follow links

-t, --terse

print the information in terse form

--help

display this help and exit

--version

output version information and exit

The valid format sequences for files (without --file-system):

%A

Access rights in human readable form

%a

Access rights in octal

%B

The size in bytes of each block reported by `%b'

%b

Number of blocks allocated (see %B)

%D

Device number in hex

%d

Device number in decimal

%F

File type

%f

Raw mode in hex

%G

Group name of owner

%g

Group ID of owner

%h

Number of hard links

%i

Inode number

%N

Quoted File name with dereference if symbolic link

%n

File name

%o

IO block size

%s

Total size, in bytes

%T

Minor device type in hex

%t

Major device type in hex

%U

User name of owner

%u

User ID of owner

%X

Time of last access as seconds since Epoch

%x

Time of last access

%Y

Time of last modification as seconds since Epoch

%y

Time of last modification

%Z

Time of last change as seconds since Epoch

%z

Time of last change

Valid format sequences for file systems:

%a

Free blocks available to non-superuser

%b

Total data blocks in file system

%c

Total file nodes in file system

%d

Free file nodes in file system

%f

Free blocks in file system

%i

File System id in hex

%l

Maximum length of filenames

%n

File name

%s

Optimal transfer block size

%T

Type in human readable form

%t

Type in hex

AUTHOR

Written by Michael Meskes.

REPORTING BUGS

Report bugs to <bug-coreutils@gnu.org>.

COPYRIGHT

Copyright © 2004 Free Software Foundation, Inc.

This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

SEE ALSO

The full documentation for stat is maintained as a Texinfo manual. If the info and stat programs are properly installed at your site, the command

info stat

should give you access to the complete manual.

NAME SYNOPSIS DESCRIPTION AUTHOR REPORTING BUGS COPYRIGHT SEE ALSO

This document was created by man2html using the manual pages.

Time: 16:33:44 GMT, September 14, 2024

STRINGS

TOC Index

NAME

strings - print the strings of printable characters in files.

SYNOPSIS

strings [-afovV] [-min-len]

[-n min-len] [--bytes=min-len]

[-t radix] [--radix=radix]

[-e encoding] [--encoding=encoding]

[-] [--all] [--print-file-name]

[-T bfdname] [--target=bfdname]

[-w] [--include-all-whitespace]

[-s] [--output-separatorsep_string]

[--help] [--version] file...

DESCRIPTION

For each file given, GNU strings prints the printable character sequences that are at least 4 characters long (or the number given with the options below) and are followed by an unprintable character.

Depending upon how the strings program was configured it will default to either displaying all the printable sequences that it can find in each file, or only those sequences that are in loadable, initialized data sections. If the file type in unrecognizable, or if strings is reading from stdin then it will always display all of the printable sequences that it can find.

For backwards compatibility any file that occurs after a command line option of just - will also be scanned in full, regardless of the presence of any -d option.

strings is mainly useful for determining the contents of non-text files.

OPTIONS

-a

--all

-

Scan the whole file, regardless of what sections it contains or whether those sections are loaded or initialized. Normally this is the default behaviour, but strings can be configured so that the -d is the default instead.

The - option is position dependent and forces strings to perform full scans of any file that is mentioned after the - on the command line, even if the -d option has been specified.

-d

--data

Only print strings from initialized, loaded data sections in the file. This may reduce the amount of garbage in the output, but it also exposes the strings program to any security flaws that may be present in the BFD library used to scan and load sections. Strings can be configured so that this option is the default behaviour. In such cases the -a option can be used to avoid using the BFD library and instead just print all of the strings found in the file.

-f

--print-file-name

Print the name of the file before each string.

--help

Print a summary of the program usage on the standard output and exit.

-min-len

-n min-len

--bytes=min-len

Print sequences of characters that are at least min-len characters long, instead of the default 4.

-o

Like -t o. Some other versions of strings have -o act like -t d instead. Since we can not be compatible with both ways, we simply chose one.

-t radix

--radix=radix

Print the offset within the file before each string. The single character argument specifies the radix of the offset---o for octal, x for hexadecimal, or d for decimal.

-e encoding

--encoding=encoding

Select the character encoding of the strings that are to be found. Possible values for encoding are: s = single-7-bit-byte characters (ASCII, ISO 8859, etc., default), S = single-8-bit-byte characters, b = 16-bit bigendian, l = 16-bit littleendian, B = 32-bit bigendian, L = 32-bit littleendian. Useful for finding wide character strings. (l and b apply to, for example, Unicode UTF-16/UCS-2 encodings).

-T bfdname

--target=bfdname

Specify an object code format other than your system's default format.

-v

-V

--version

Print the program version number on the standard output and exit.

-w

--include-all-whitespace

By default tab and space characters are included in the strings that are displayed, but other whitespace characters, such a newlines and carriage returns, are not. The -w option changes this so that all whitespace characters are considered to be part of a string.

-s

--output-separator

By default, output strings are delimited by a new-line. This option allows you to supply any string to be used as the output record separator. Useful with --include-all-whitespace where strings may contain new-lines internally.

@file

Read command-line options from file. The options read are inserted in place of the original @file option. If file does not exist, or cannot be read, then the option will be treated literally, and not removed.

Options in file are separated by whitespace. A whitespace character may be included in an option by surrounding the entire option in either single or double quotes. Any character (including a backslash) may be included by prefixing the character to be included with a backslash. The file may itself contain additional @file options; any such options will be processed recursively.

SEE ALSO

ar(1), nm(1), objdump(1), ranlib(1), readelf(1) and the Info entries for binutils.

COPYRIGHT

Copyright (c) 1991-2017 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled ``GNU Free Documentation License''.

NAME SYNOPSIS DESCRIPTION OPTIONS SEE ALSO COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:33:45 GMT, September 14, 2024

TELNET

TOC Index

BSD mandoc

Linux NetKit (0.17)

NAME

telnet - user interface to the TELNET protocol

SYNOPSIS

telnet [-468ELadr ] [-S tos ] [-b address ] [-e escapechar ] [-l user ] [-n tracefile ] [host [port ] ]

DESCRIPTION

The telnet command is used for interactive communication with another host using the TELNET protocol. It begins in command mode, where it prints a telnet prompt ("telnet> "). If telnet is invoked with a host argument, it performs an open command implicitly; see the description below.

Options:

-4

Force IPv4 address resolution.

-6

Force IPv6 address resolution.

-8

Request 8-bit operation. This causes an attempt to negotiate the TELNET BINARY option for both input and output. By default telnet is not 8-bit clean.

-E

Disables the escape character functionality; that is, sets the escape character to ``no character''.

-L

Specifies an 8-bit data path on output. This causes the TELNET BINARY option to be negotiated on just output.

-a

Attempt automatic login. Currently, this sends the user name via the USER variable of the NEW-ENVIRON option if supported by the remote system. The username is retrieved via getlogin(3).

-b address

Use bind(2) on the local socket to bind it to a specific local address.

-d

Sets the initial value of the debug toggle to TRUE.

-r

Emulate rlogin(1). In this mode, the default escape character is a tilde. Also, the interpretation of the escape character is changed: an escape character followed by a dot causes telnet to disconnect from the remote host. A ^Z instead of a dot suspends telnet and a ^] (the default telnet escape character) generates a normal telnet prompt. These codes are accepted only at the beginning of a line.

-S tos

Sets the IP type-of-service (TOS) option for the telnet connection to the value tos

-e escapechar

Sets the escape character to escapechar. If no character is supplied, no escape character will be used. Entering the escape character while connected causes telnet to drop to command mode.

-l user

Specify user as the user to log in as on the remote system. This is accomplished by sending the specified name as the USER environment variable, so it requires that the remote system support the TELNET NEW-ENVIRON option. This option implies the -a option, and may also be used with the open command.

-n tracefile

Opens tracefile for recording trace information. See the set tracefile command below.

host

Specifies a host to contact over the network.

port

Specifies a port number or service name to contact. If not specified, the telnet port (23) is used.

Protocol:

Once a connection has been opened, telnet will attempt to enable the TELNET LINEMODE option. If this fails, then telnet will revert to one of two input modes: either character at a time or old line by line depending on what the remote system supports.

When LINEMODE is enabled, character processing is done on the local system, under the control of the remote system. When input editing or character echoing is to be disabled, the remote system will relay that information. The remote system will also relay changes to any special characters that happen on the remote system, so that they can take effect on the local system.

In character at a time mode, most text typed is immediately sent to the remote host for processing.

In old line by line mode, all text is echoed locally, and (normally) only completed lines are sent to the remote host. The local echo character (initially ^E) may be used to turn off and on the local echo (this would mostly be used to enter passwords without the password being echoed).

If the LINEMODE option is enabled, or if the localchars toggle is TRUE (the default for old line by line; see below), the user's quit intr and flush characters are trapped locally, and sent as TELNET protocol sequences to the remote side. If LINEMODE has ever been enabled, then the user's susp and eof are also sent as TELNET protocol sequences, and quit is sent as a TELNET ABORT instead of BREAK There are options (see toggle autoflush and toggle autosynch below) which cause this action to flush subsequent output to the terminal (until the remote host acknowledges the TELNET sequence) and flush previous terminal input (in the case of quit and intr )

Commands:

The following telnet commands are available. Unique prefixes are understood as abbreviations.

auth argument ...

The auth command controls the TELNET AUTHENTICATE protocol option. If telnet was compiled without authentication, the auth command will not be supported. Valid arguments are as follows:

disable type

Disable the specified type of authentication. To obtain a list of available types, use the auth disable ? command.

enable type

Enable the specified type of authentication. To obtain a list of available types, use the auth enable ? command.

status

List the current status of the various types of authentication.

Note that the current version of telnet does not support authentication.

close

Close the connection to the remote host, if any, and return to command mode.

display argument ...

Display all, or some, of the set and toggle values (see below).

encrypt argument ...

The encrypt command controls the TELNET ENCRYPT protocol option. If telnet was compiled without encryption, the encrypt command will not be supported.

Valid arguments are as follows:

disable type [input|output]

Disable the specified type of encryption. If you do not specify input or output, encryption of both is disabled. To obtain a list of available types, use ``encrypt disable ?''.

enable type [input|output]

Enable the specified type of encryption. If you do not specify input or output, encryption of both is enabled. To obtain a list of available types, use ``encrypt enable ?''.

input

This is the same as ``encrypt start input''.

-input

This is the same as ``encrypt stop input''.

output

This is the same as ``encrypt start output''.

-output

This is the same as ``encrypt stop output''.

start [input|output]

Attempt to begin encrypting. If you do not specify input or output, encryption of both input and output is started.

status

Display the current status of the encryption module.

stop [input|output]

Stop encrypting. If you do not specify input or output, encryption of both is stopped.

type type

Sets the default type of encryption to be used with later ``encrypt start'' or ``encrypt stop'' commands.

Note that the current version of telnet does not support encryption.

environ arguments...

The environ command is used to propagate environment variables across the telnet link using the TELNET NEW-ENVIRON protocol option. All variables exported from the shell are defined, but only the DISPLAY and PRINTER variables are marked to be sent by default. The USER variable is marked to be sent if the -a or -l command-line options were used.

Valid arguments for the environ command are:

define variable value

Define the variable variable to have a value of value. Any variables defined by this command are automatically marked for propagation (``exported''). The value may be enclosed in single or double quotes so that tabs and spaces may be included.

undefine variable

Remove any existing definition of variable

export variable

Mark the specified variable for propagation to the remote host.

unexport variable

Do not mark the specified variable for propagation to the remote host. The remote host may still ask explicitly for variables that are not exported.

list

List the current set of environment variables. Those marked with a * will be propagated to the remote host. The remote host may still ask explicitly for the rest.

?

Prints out help information for the environ command.

logout

Send the TELNET LOGOUT protocol option to the remote host. This command is similar to a close command. If the remote host does not support the LOGOUT option, nothing happens. But if it does, this command should cause it to close the connection. If the remote side also supports the concept of suspending a user's session for later reattachment, the logout command indicates that the session should be terminated immediately.

mode type

Type is one of several options, depending on the state of the session. Telnet asks the remote host to go into the requested mode. If the remote host says it can, that mode takes effect.

character

Disable the TELNET LINEMODE option, or, if the remote side does not understand the LINEMODE option, then enter character at a time mode.

line

Enable the TELNET LINEMODE option, or, if the remote side does not understand the LINEMODE option, then attempt to enter old-line-by-line mode.

isig (-isig )

Attempt to enable (disable) the TRAPSIG mode of the LINEMODE option. This requires that the LINEMODE option be enabled.

edit (-edit )

Attempt to enable (disable) the EDIT mode of the LINEMODE option. This requires that the LINEMODE option be enabled.

softtabs (-softtabs )

Attempt to enable (disable) the SOFT_TAB mode of the LINEMODE option. This requires that the LINEMODE option be enabled.

litecho (-litecho )

Attempt to enable (disable) the LIT_ECHO mode of the LINEMODE option. This requires that the LINEMODE option be enabled.

?

Prints out help information for the mode command.

open host [[-l ] user [- ] port ]

Open a connection to the named host. If no port number is specified, telnet will attempt to contact a telnet daemon at the standard port (23). The host specification may be a host name or IP address. The -l option may be used to specify a user name to be passed to the remote system, like the -l command-line option.

When connecting to ports other than the telnet port, telnet does not attempt telnet protocol negotiations. This makes it possible to connect to services that do not support the telnet protocol without making a mess. Protocol negotiation can be forced by placing a dash before the port number.

After establishing a connection, any commands associated with the remote host in /etc/telnetrc and the user's .telnetrc file are executed, in that order.

The format of the telnetrc files is as follows: Lines beginning with a #, and blank lines, are ignored. The rest of the file should consist of hostnames and sequences of telnet commands to use with that host. Commands should be one per line, indented by whitespace; lines beginning without whitespace are interpreted as hostnames. Lines beginning with the special hostname `DEFAULT' will apply to all hosts. Hostnames including `DEFAULT' may be followed immediately by a colon and a port number or string. If a port is specified it must match exactly with what is specified on the command line. If no port was specified on the command line, then the value `telnet' is used. Upon connecting to a particular host, the commands associated with that host are executed.

quit

Close any open session and exit telnet An end of file condition on input, when in command mode, will trigger this operation as well.

send arguments

Send one or more special telnet protocol character sequences to the remote host. The following are the codes which may be specified (more than one may be used in one command):

abort

Sends the TELNET ABORT (Abort Processes) sequence.

ao

Sends the TELNET AO (Abort Output) sequence, which should cause the remote system to flush all output from the remote system to the user's terminal.

ayt

Sends the TELNET AYT (Are You There?) sequence, to which the remote system may or may not choose to respond.

brk

Sends the TELNET BRK (Break) sequence, which may have significance to the remote system.

ec

Sends the TELNET EC (Erase Character) sequence, which should cause the remote system to erase the last character entered.

el

Sends the TELNET EL (Erase Line) sequence, which should cause the remote system to erase the line currently being entered.

eof

Sends the TELNET EOF (End Of File) sequence.

eor

Sends the TELNET EOR (End of Record) sequence.

escape

Sends the current telnet escape character.

ga

Sends the TELNET GA (Go Ahead) sequence, which likely has no significance to the remote system.

getstatus

If the remote side supports the TELNET STATUS command, getstatus will send the subnegotiation to request that the server send its current option status.

ip

Sends the TELNET IP (Interrupt Process) sequence, which should cause the remote system to abort the currently running process.

nop

Sends the TELNET NOP (No Operation) sequence.

susp

Sends the TELNET SUSP (Suspend Process) sequence.

synch

Sends the TELNET SYNCH sequence. This sequence causes the remote system to discard all previously typed (but not yet read) input. This sequence is sent as TCP urgent data (and may not work if the remote system is a BSD 4.2 system -- if it doesn't work, a lower case r may be echoed on the terminal).

do cmd

dont cmd

will cmd

wont cmd

Sends the TELNET DO cmd sequence. cmd can be either a decimal number between 0 and 255, or a symbolic name for a specific TELNET command. cmd can also be either help or ? to print out help information, including a list of known symbolic names.

?

Prints out help information for the send command.

set argument value

unset argument value

The set command will set any one of a number of telnet variables to a specific value or to TRUE The special value off turns off the function associated with the variable. This is equivalent to using the unset command. The unset command will disable or set to FALSE any of the specified variables. The values of variables may be interrogated with the display command. The variables which may be set or unset, but not toggled, are listed here. In addition, any of the variables for the toggle command may be explicitly set or unset.

ayt

If telnet is in localchars mode, or LINEMODE is enabled, and the status character is typed, a TELNET AYT sequence is sent to the remote host. The initial value for the "Are You There" character is the terminal's status character.

echo

This is the value (initially ^E) which, when in line by line mode, toggles between doing local echoing of entered characters (for normal processing), and suppressing echoing of entered characters (for entering, say, a password).

eof

If telnet is operating in LINEMODE or old line by line mode, entering this character as the first character on a line will cause this character to be sent to the remote system. The initial value of the eof character is taken to be the terminal's eof character.

erase

If telnet is in localchars mode (see toggle localchars below), and if telnet is operating in character at a time mode, then when this character is typed, a TELNET EC sequence (see send ec above) is sent to the remote system. The initial value for the erase character is taken to be the terminal's erase character.

escape

This is the telnet escape character (initially ^]) which causes entry into telnet command mode (when connected to a remote system).

flushoutput

If telnet is in localchars mode (see toggle localchars below) and the flushoutput character is typed, a TELNET AO sequence (see send ao above) is sent to the remote host. The initial value for the flush character is taken to be the terminal's flush character.

forw1

forw2

If TELNET is operating in LINEMODE these are the characters that, when typed, cause partial lines to be forwarded to the remote system. The initial value for the forwarding characters are taken from the terminal's eol and eol2 characters.

interrupt

If telnet is in localchars mode (see toggle localchars below) and the interrupt character is typed, a TELNET IP sequence (see send ip above) is sent to the remote host. The initial value for the interrupt character is taken to be the terminal's intr character.

kill

If telnet is in localchars mode (see toggle localchars below), and if telnet is operating in character at a time mode, then when this character is typed, a TELNET EL sequence (see send el above) is sent to the remote system. The initial value for the kill character is taken to be the terminal's kill character.

lnext

If telnet is operating in LINEMODE or old line by line mode, then this character is taken to be the terminal's lnext character. The initial value for the lnext character is taken to be the terminal's lnext character.

quit

If telnet is in localchars mode (see toggle localchars below) and the quit character is typed, a TELNET BRK sequence (see send brk above) is sent to the remote host. The initial value for the quit character is taken to be the terminal's quit character.

reprint

If telnet is operating in LINEMODE or old line by line mode, then this character is taken to be the terminal's reprint character. The initial value for the reprint character is taken to be the terminal's reprint character.

rlogin

This is the rlogin mode escape character. Setting it enables rlogin mode, as with the r command-line option (q.v.)

start

If the TELNET TOGGLE-FLOW-CONTROL option has been enabled, then this character is taken to be the terminal's start character. The initial value for the kill character is taken to be the terminal's start character.

stop

If the TELNET TOGGLE-FLOW-CONTROL option has been enabled, then this character is taken to be the terminal's stop character. The initial value for the kill character is taken to be the terminal's stop character.

susp

If telnet is in localchars mode, or LINEMODE is enabled, and the suspend character is typed, a TELNET SUSP sequence (see send susp above) is sent to the remote host. The initial value for the suspend character is taken to be the terminal's suspend character.

tracefile

This is the file to which the output, caused by netdata or option tracing being TRUE will be written. If it is set to ``- '' then tracing information will be written to standard output (the default).

worderase

If telnet is operating in LINEMODE or old line by line mode, then this character is taken to be the terminal's worderase character. The initial value for the worderase character is taken to be the terminal's worderase character.

?

Displays the legal set (unset ) commands.

slc state

The slc command (Set Local Characters) is used to set or change the state of the the special characters when the TELNET LINEMODE option has been enabled. Special characters are characters that get mapped to TELNET commands sequences (like ip or quit or line editing characters (like erase and kill ) By default, the local special characters are exported.

check

Verify the current settings for the current special characters. The remote side is requested to send all the current special character settings, and if there are any discrepancies with the local side, the local side will switch to the remote value.

export

Switch to the local defaults for the special characters. The local default characters are those of the local terminal at the time when telnet was started.

import

Switch to the remote defaults for the special characters. The remote default characters are those of the remote system at the time when the TELNET connection was established.

?

Prints out help information for the slc command.

status

Show the current status of telnet This includes the name of the remote host, if any, as well as the current mode.

toggle arguments ...

Toggle (between TRUE and FALSE various flags that control how telnet responds to events. These flags may be set explicitly to TRUE or FALSE using the set and unset commands. More than one flag may be toggled at once. The state of these flags may be examined with the display command. Valid flags are:

authdebug

Turns on debugging for the authentication code. This flag only exists if authentication support is enabled.

autoflush

If autoflush and localchars are both TRUE then when the ao or quit characters are recognized (and transformed into TELNET sequences; see set above for details), telnet refuses to display any data on the user's terminal until the remote system acknowledges (via a TELNET TIMING MARK option) that it has processed those TELNET sequences. The initial value for this toggle is TRUE if the terminal user had not done an "stty noflsh", otherwise FALSE (see stty(1)).

autodecrypt

When the TELNET ENCRYPT option is negotiated, by default the actual encryption (decryption) of the data stream does not start automatically. The autoencrypt (autodecrypt) command states that encryption of the output (input) stream should be enabled as soon as possible.

Note that this flag exists only if encryption support is enabled.

autologin

If the remote side supports the TELNET AUTHENTICATION option, telnet attempts to use it to perform automatic authentication. If the TELNET AUTHENTICATION option is not supported, the user's login name is propagated using the TELNET NEW-ENVIRON option. Setting this flag is the same as specifying the a option to the open command or on the command line.

autosynch

If autosynch and localchars are both TRUE then when either the intr or quit characters is typed (see set above for descriptions of the intr and quit characters), the resulting telnet sequence sent is followed by the TELNET SYNCH sequence. This procedure should cause the remote system to begin throwing away all previously typed input until both of the telnet sequences have been read and acted upon. The initial value of this toggle is FALSE

binary

Enable or disable the TELNET BINARY option on both input and output.

inbinary

Enable or disable the TELNET BINARY option on input.

outbinary

Enable or disable the TELNET BINARY option on output.

crlf

If this is TRUE then carriage returns will be sent as <CR><LF> If this is FALSE then carriage returns will be send as <CR><NUL> The initial value for this toggle is FALSE

crmod

Toggle carriage return mode. When this mode is enabled, most carriage return characters received from the remote host will be mapped into a carriage return followed by a line feed. This mode does not affect those characters typed by the user, only those received from the remote host. This mode is not very useful unless the remote host only sends carriage return, but never line feed. The initial value for this toggle is FALSE

debug

Toggles socket level debugging (useful only to the super user ) The initial value for this toggle is FALSE

encdebug

Turns on debugging information for the encryption code. Note that this flag only exists if encryption support is available.

localchars

If this is TRUE then the flush interrupt quit erase and kill characters (see set above) are recognized locally, and transformed into (hopefully) appropriate TELNET control sequences (respectively ao ip brk ec and el see send above). The initial value for this toggle is TRUE in old line by line mode, and FALSE in character at a time mode. When the LINEMODE option is enabled, the value of localchars is ignored, and assumed to always be TRUE If LINEMODE has ever been enabled, then quit is sent as abort and eof and suspend are sent as eof and susp see send above).

netdata

Toggles the display of all network data (in hexadecimal format). The initial value for this toggle is FALSE

options

Toggles the display of some internal telnet protocol processing (having to do with telnet options). The initial value for this toggle is FALSE

prettydump

When the netdata toggle is enabled, if prettydump is enabled the output from the netdata command will be formatted in a more user-readable format. Spaces are put between each character in the output, and the beginning of telnet escape sequences are preceded by a '*' to aid in locating them.

skiprc

When the skiprc toggle is TRUE telnet does not read the telnetrc files. The initial value for this toggle is FALSE.

termdata

Toggles the display of all terminal data (in hexadecimal format). The initial value for this toggle is FALSE

verbose_encrypt

When the verbose_encrypt toggle is TRUE TELNET prints out a message each time encryption is enabled or disabled. The initial value for this toggle is FALSE. This flag only exists if encryption support is available.

?

Displays the legal toggle commands.

z

Suspend telnet This command only works when the user is using the csh(1).

! [command ]

Execute a single command in a subshell on the local system. If command is omitted, then an interactive subshell is invoked.

? [command ]

Get help. With no arguments, telnet prints a help summary. If a command is specified, telnet will print the help information for just that command.

ENVIRONMENT

Telnet uses at least the HOME SHELL DISPLAY and TERM environment variables. Other environment variables may be propagated to the other side via the TELNET NEW-ENVIRON option.

FILES

/etc/telnetrc

global telnet startup values

~/.telnetrc

user customized telnet startup values

HISTORY

The Telnet command appeared in BSD 4.2

SEE ALSO

curl(1), plink(1), ssh(1)

NOTES

On some remote systems, echo has to be turned off manually when in old line by line mode.

In old line by line mode or LINEMODE the terminal's eof character is only recognized (and sent to the remote system) when it is the first character on a line.

BUGS

The source code is not comprehensible.

NAME SYNOPSIS DESCRIPTION ENVIRONMENT FILES HISTORY SEE ALSO NOTES BUGS

This document was created by man2html using the manual pages.

Time: 16:33:47 GMT, September 14, 2024

TEST

TOC Index

NAME

test - check file types and compare values

SYNOPSIS

test ,EXPRESSION/

test

[ ,EXPRESSION /]

[ ]

[ ,OPTION/

DESCRIPTION

Exit with the status determined by EXPRESSION.

--help

display this help and exit

--version

output version information and exit

An omitted EXPRESSION defaults to false. Otherwise, EXPRESSION is true or false and sets exit status. It is one of:

( EXPRESSION )

EXPRESSION is true

! EXPRESSION

EXPRESSION is false

EXPRESSION1 -a EXPRESSION2

both EXPRESSION1 and EXPRESSION2 are true

EXPRESSION1 -o EXPRESSION2

either EXPRESSION1 or EXPRESSION2 is true

-n STRING

the length of STRING is nonzero

STRING

equivalent to -n STRING

-z STRING

the length of STRING is zero

STRING1 = STRING2

the strings are equal

STRING1 != STRING2

the strings are not equal

INTEGER1 -eq INTEGER2

INTEGER1 is equal to INTEGER2

INTEGER1 -ge INTEGER2

INTEGER1 is greater than or equal to INTEGER2

INTEGER1 -gt INTEGER2

INTEGER1 is greater than INTEGER2

INTEGER1 -le INTEGER2

INTEGER1 is less than or equal to INTEGER2

INTEGER1 -lt INTEGER2

INTEGER1 is less than INTEGER2

INTEGER1 -ne INTEGER2

INTEGER1 is not equal to INTEGER2

FILE1 -ef FILE2

FILE1 and FILE2 have the same device and inode numbers

FILE1 -nt FILE2

FILE1 is newer (modification date) than FILE2

FILE1 -ot FILE2

FILE1 is older than FILE2

-b FILE

FILE exists and is block special

-c FILE

FILE exists and is character special

-d FILE

FILE exists and is a directory

-e FILE

FILE exists

-f FILE

FILE exists and is a regular file

-g FILE

FILE exists and is set-group-ID

-G FILE

FILE exists and is owned by the effective group ID

-h FILE

FILE exists and is a symbolic link (same as -L)

-k FILE

FILE exists and has its sticky bit set

-L FILE

FILE exists and is a symbolic link (same as -h)

-O FILE

FILE exists and is owned by the effective user ID

-p FILE

FILE exists and is a named pipe

-r FILE

FILE exists and read permission is granted

-s FILE

FILE exists and has a size greater than zero

-S FILE

FILE exists and is a socket

-t FD

file descriptor FD is opened on a terminal

-u FILE

FILE exists and its set-user-ID bit is set

-w FILE

FILE exists and write permission is granted

-x FILE

FILE exists and execute (or search) permission is granted

Except for -h and -L, all FILE-related tests dereference symbolic links. Beware that parentheses need to be escaped (e.g., by backslashes) for shells. INTEGER may also be -l STRING, which evaluates to the length of STRING.

NOTE: Binary -a and -o are inherently ambiguous. Use 'test EXPR1 && test EXPR2' or 'test EXPR1 || test EXPR2' instead.

NOTE: [ honors the --help and --version options, but test does not. test treats each of those as it treats any other nonempty STRING.

NOTE: your shell may have its own version of test and/or [, which usually supersedes the version described here. Please refer to your shell's documentation for details about the options it supports.

AUTHOR

Written by Kevin Braunsdorf and Matthew Bradburn.

REPORTING BUGS

GNU coreutils online help: <http://www.gnu.org/software/coreutils/>

Report [ translation bugs to <http://translationproject.org/team/>

COPYRIGHT

Copyright © 2017 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.

This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

Full documentation at: <http://www.gnu.org/software/coreutils/[>

or available locally via: info aq(coreutils) test invocationaq

NAME SYNOPSIS DESCRIPTION AUTHOR REPORTING BUGS COPYRIGHT SEE ALSO

This document was created by man2html using the manual pages.

Time: 16:33:47 GMT, September 14, 2024

TEE

TOC Index

NAME

tee - read from standard input and write to standard output and files

SYNOPSIS

tee [,OPTION/]... [,FILE/]...

DESCRIPTION

Copy standard input to each FILE, and also to standard output.

-a, --append

append to the given FILEs, do not overwrite

-i, --ignore-interrupts

ignore interrupt signals

-p

diagnose errors writing to non pipes

--output-error[=,MODE/]

set behavior on write error. See MODE below

--help

display this help and exit

--version

output version information and exit

MODE determines behavior with write errors on the outputs:

'warn'

diagnose errors writing to any output

'warn-nopipe'

diagnose errors writing to any output not a pipe

'exit'

exit on error writing to any output

'exit-nopipe'

exit on error writing to any output not a pipe

The default MODE for the -p option is 'warn-nopipe'. The default operation when --output-error is not specified, is to exit immediately on error writing to a pipe, and diagnose errors writing to non pipe outputs.

AUTHOR

Written by Mike Parker, Richard M. Stallman, and David MacKenzie.

REPORTING BUGS

GNU coreutils online help: <http://www.gnu.org/software/coreutils/>

Report tee translation bugs to <http://translationproject.org/team/>

COPYRIGHT

Copyright © 2017 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.

This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

Full documentation at: <http://www.gnu.org/software/coreutils/tee>

or available locally via: info aq(coreutils) tee invocationaq

NAME SYNOPSIS DESCRIPTION MODE determines behavior with write errors on the outputs: AUTHOR REPORTING BUGS COPYRIGHT SEE ALSO

This document was created by man2html using the manual pages.

Time: 16:33:46 GMT, September 14, 2024

touch

TOC Index

NAME

touch - change file timestamps

SYNOPSIS

touch [OPTION]... FILE...

DESCRIPTION

Update the access and modification times of each FILE to the current time.

A FILE argument that does not exist is created empty, unless -c or -h is supplied.

A FILE argument string of - is handled specially and causes touch to change the times of the file associated with standard output.

Mandatory arguments to long options are mandatory for short options too.

-a

change only the access time

-c

do not create any files

-d, --date=STRING

parse STRING and use it instead of current time

-f

(ignored)

-m

change only the modification time

-r, --reference=FILE

use this file's times instead of current time

-t STAMP

use MMDDhhmm[[CC]YY][.ss] instead of current time

--time=WORD

change the specified time: WORD is access, atime, or use: equivalent to -a WORD is modify or mtime: equivalent to -m

--help

display this help and exit

--version

output version information and exit

Note that the -d and -t options accept different time-date formats.

DATE STRING

The --date=STRING is a mostly free format human readable date string such as "Sun, 29 Feb 2004 16:21:42 -0800" or "2004-02-29 16:21:42" or even "next Thursday". A date string may contain items indicating calendar date, time of day, time zone, day of week, relative time, relative date, and numbers. An empty string indicates the beginning of the day. The date string format is more complex than is easily documented here but is fully described in the info documentation.

AUTHOR

Written by Paul Rubin, Arnold Robbins, Jim Kingdon, David MacKenzie, and Randy Smith.

Modifications by Christian Walther to match to the Windows™ port by fileutils-bugs@gnu.ai.mit.edu of the touch command.

REPORTING BUGS

GNU coreutils online help: <http://www.gnu.org/software/coreutils/>

Report touch translation bugs to <http://translationproject.org/team/>

COPYRIGHT

Copyright © 2016 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.

This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

Full documentation at: <http://www.gnu.org/software/coreutils/touch>

or available locally via: info aq(coreutils) touch invocationaq

NAME SYNOPSIS DESCRIPTION DATE STRING AUTHOR REPORTING BUGS COPYRIGHT SEE ALSO

This document was created by man2html using the manual pages.

Time: 16:33:45 GMT, September 14, 2024

which

TOC Index

NAME

which - locate a command

SYNOPSIS

which [-a] filename ...

DESCRIPTION

which returns the pathnames of the files (or links) which would be executed in the current environment, had its arguments been given as commands in a strictly POSIX-conformant shell. It does this by searching the PATH for executable files matching the names of the arguments. It does not follow symbolic links.

OPTIONS

-a

print all matching pathnames of each argument

EXIT STATUS

0

if all specified commands are found and executable

1

if one or more specified commands is nonexistent or not executable

2

if an invalid option is specified

NAME SYNOPSIS DESCRIPTION OPTIONS EXIT STATUS

This document was created by man2html using the manual pages.

Time: 16:33:51 GMT, September 14, 2024

YES

TOC Index

NAME

yes - output a string repeatedly until killed

SYNOPSIS

yes [STRING]...

yes OPTION

DESCRIPTION

Repeatedly output a line with all specified STRING(s), or `y'.

--help

display this help and exit

--version

output version information and exit

AUTHOR

Written by David MacKenzie.

REPORTING BUGS

Report bugs to <bug-coreutils@gnu.org>.

COPYRIGHT

Copyright © 2004 Free Software Foundation, Inc.

This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

SEE ALSO

The full documentation for yes is maintained as a Texinfo manual. If the info and yes programs are properly installed at your site, the command

info yes

should give you access to the complete manual.

NAME SYNOPSIS DESCRIPTION AUTHOR REPORTING BUGS COPYRIGHT SEE ALSO

This document was created by man2html using the manual pages.

Time: 16:33:52 GMT, September 14, 2024

AUTO_EXEC

TOC Index

NAME

AUTO_EXEC - execute AUTOEXEC commands on login

SYNOPSIS

WA2LWinTools/lib/shell/AUTO_EXEC [ -h | -i | -j | -s | -u | -V | -l | -p ]

AUTO_EXEC

AUTO_EXEC [ -n COMPUTERNAME ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

The AUTO_EXEC command allows to execute commands automatically on login.

The commands to be executed are defined in the etc/AUTO_EXEC.ini file which is a gawk(3) file.

AUTO_EXEC provides a number of predefined service handlers to start commands. The provided service handlers can be printed using the -p option.

The commands to be executed on a certain system (e.g. ACME007) need to be defined in AUTO_EXEC.ini in:

function ACME007(){

:

:

} # ACME007

If no such function is defined, the commands for the USERDOMAIN (e.g. ACMECORP) are executed:

function ACMECORP(){

:

:

} # ACMECORP

If no function for a USERDOMAIN is defined, the commands defined in the DEFAULT function are executed:

function DEFAULT(){

:

:

} # DEFAULT

OPTIONS

-h

usage message.

-i

install the AUTO_EXEC command as 'AUTO EXEC' to 'Startup' in the Windows™ 'Start Menu' minimized.

-j

install the AUTO_EXEC command as 'AUTO EXEC' to 'Startup' in the Windows™ 'Start Menu' visible.

-s

print the AUTO_EXEC installation status.

-u

uninstall the AUTO_EXEC command from 'Startup' in the Windows™ Start Menu.

-V

print program version.

-p

print all available AUTO_EXEC service handler and low level functions to be used in AUTO_EXEC.ini.

-n COMPUTERNAME

execute commands defined for COMPUTERNAME.

ENVIRONMENT

-

EXIT STATUS

0

no error.

1

no matching AUTOEXEC definition found in AUTO_EXEC.ini.

4

usage displayed.

5

version message displayed.

FILES

etc/AUTO_EXEC.ini

configuration file for AUTO_EXEC.

lib/AUTO_EXEC.lib

library of service handler functions.

If you miss a service handler add it to the AUTO_EXEC.ini file not the AUTO_EXEC.lib file due to the fact that the AUTO_EXEC.lib will be overwritten on updates of the package.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), auto_exec.ini(4), gawk(3)

NOTES

-

BUGS

-

AUTHOR

AUTO_EXEC was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2024 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:31:42 GMT, September 14, 2024

avi2mp4

TOC Index

NAME

avi2mp4 - convert AVI video files to MP4

SYNOPSIS

WA2LWinTools/bin/avi2mp4 [ -h | -i | -u | -V ]

avi2mp4 [ -n ][ file... ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

convert one or more *.avi file(s) to *.mp4 file(s).

Each given file1.avi is converted to file1.mp4 as long as the destination file ( file1.mp4 ) does not exist already.

The avi2mp4 command should be installed to the 'Send To' context menu in 'Microsoft™ Windows Explorer' for most convenient usage. To do so, invoke avi2mp4 -i once.

OPTIONS

-h

usage message.

-i

install the avi2mp4 command as menu point 'avi2mp4' to the 'Send To' context menu in 'Windows Explorer'.

-u

uninstall the avi2mp4 shortcut from the 'Send To' context menu in 'Windows Explorer'.

-V

print program version.

-n

non interactive execution. This prevents the message box dialog at the end of the program execution. Using -n the avi2mp4 command can be used in batch processing without any user intervention.

file...

list of *.avi files to convert to *.mp4 . When installed in the 'Send To' menu the selected file(s) in 'Windows Explorer' are passed as a list of files to the avi2mp4 command and all given AVI files are converted and saved as separate MP4 files.

If no file is specified, you are queried to select the file(s) by a open file box dialog where you then can select file(s) to be processed.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage message displayed.

5

program version printed.

6

program variant not known. This error occurs when the avi2mp4 command is renamed.

FILES

etc/avi2mp4.cfg

optional configuration file for avi2mp4.

EXAMPLES

See: epub2mobi(1).

SEE ALSO

wintoolsintro(1), avi2mp4.cfg(4), config(1m), epub2mobi(1), ffmpeg(3)

NOTES

The avi2mp4 command uses internally ffmpeg, a command from the 'FFmpeg Project'.

For more information about ffmpeg see https://ffmpeg.org/.

BUGS

The program screen output does not look that clean as desired.

AUTHOR

avi2mp4 was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2022 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:31:42 GMT, September 14, 2024

avi2mp4.cfg

TOC Index

NAME

avi2mp4.cfg - configuration file for avi2mp4

SYNOPSIS

WA2LWinTools/etc/avi2mp4.cfg

AVAILABILITY

WA2L/WinTools

DESCRIPTION

This is the optional configuration file for the avi2mp4 command.

FILEFORMAT

Rows starting with # are considered as comments.

The file format is OPTION=VALUE

Between the OPTION , the = and the VALUE are no spaces.

You can comment out any OPTION or completely remove the related setting line to use the default settings.

OPTIONS

AVI2MP4_OPTIONS

set the command line options for the ffmpeg(3) command that is internally used to create a MP4 data stream from AVI files.

Internally the ffmpeg command is called as follows:

ffmpeg -i "input.avi" AVI2MP4_OPTIONS "output.mp4"

Example: AVI2MP4_OPTIONS=

Default: AVI2MP4_OPTIONS=-y -sameq -ab 128000 -ar 48000 -ac 2

EXAMPLES

1) Example 1

#

# WA2LWinTools/etc/avi2mp4.cfg - Configuration file for avi2mp4

#

# [00] 28.08.2022 CWa   Initial Version

#

AVI2MP4_OPTIONS=

SEE ALSO

wintoolsintro(1), avi2mp4(1), ffmpeg(3), https://ffmpeg.org/

NOTES

-

BUGS

-

AUTHOR

avi2mp4.cfg was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2022 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION FILEFORMAT OPTIONS EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:31:43 GMT, September 14, 2024

FFMPEG

TOC Index

NAME

ffmpeg - ffmpeg video converter

SYNOPSIS

ffmpeg [global_options] {[input_file_options] -i input_url} ... {[output_file_options] output_url} ...

DESCRIPTION

ffmpeg is a very fast video and audio converter that can also grab from a live audio/video source. It can also convert between arbitrary sample rates and resize video on the fly with a high quality polyphase filter.

ffmpeg reads from an arbitrary number of input ``files'' (which can be regular files, pipes, network streams, grabbing devices, etc.), specified by the "-i" option, and writes to an arbitrary number of output ``files'', which are specified by a plain output url. Anything found on the command line which cannot be interpreted as an option is considered to be an output url.

Each input or output url can, in principle, contain any number of streams of different types (video/audio/subtitle/attachment/data). The allowed number and/or types of streams may be limited by the container format. Selecting which streams from which inputs will go into which output is either done automatically or with the "-map" option (see the Stream selection chapter).

To refer to input files in options, you must use their indices (0-based). E.g. the first input file is 0, the second is 1, etc. Similarly, streams within a file are referred to by their indices. E.g. "2:3" refers to the fourth stream in the third input file. Also see the Stream specifiers chapter.

As a general rule, options are applied to the next specified file. Therefore, order is important, and you can have the same option on the command line multiple times. Each occurrence is then applied to the next input or output file. Exceptions from this rule are the global options (e.g. verbosity level), which should be specified first.

Do not mix input and output files --- first specify all input files, then all output files. Also do not mix options which belong to different files. All options apply ONLY to the next input or output file and are reset between files.

*

To set the video bitrate of the output file to 64 kbit/s:

ffmpeg -i input.avi -b:v 64k -bufsize 64k output.avi

*

To force the frame rate of the output file to 24 fps:

ffmpeg -i input.avi -r 24 output.avi

*

To force the frame rate of the input file (valid for raw formats only) to 1 fps and the frame rate of the output file to 24 fps:

ffmpeg -r 1 -i input.m2v -r 24 output.avi

The format option may be needed for raw input files.

DETAILED DESCRIPTION

The transcoding process in ffmpeg for each output can be described by the following diagram:

_______              ______________

|       |            |              |

| input |  demuxer   | encoded data |   decoder

| file  | ---------> | packets      | -----+

|_______|            |______________|      |

v

_________

|         |

| decoded |

| frames  |

|_________|

________             ______________       |

|        |           |              |      |

| output | <-------- | encoded data | <----+

| file   |   muxer   | packets      |   encoder

|________|           |______________|

ffmpeg calls the libavformat library (containing demuxers) to read input files and get packets containing encoded data from them. When there are multiple input files, ffmpeg tries to keep them synchronized by tracking lowest timestamp on any active input stream.

Encoded packets are then passed to the decoder (unless streamcopy is selected for the stream, see further for a description). The decoder produces uncompressed frames (raw video/PCM audio/...) which can be processed further by filtering (see next section). After filtering, the frames are passed to the encoder, which encodes them and outputs encoded packets. Finally those are passed to the muxer, which writes the encoded packets to the output file.

Filtering

Before encoding, ffmpeg can process raw audio and video frames using filters from the libavfilter library. Several chained filters form a filter graph. ffmpeg distinguishes between two types of filtergraphs: simple and complex.

Simple filtergraphs

Simple filtergraphs are those that have exactly one input and output, both of the same type. In the above diagram they can be represented by simply inserting an additional step between decoding and encoding:

_________                        ______________

|         |                      |              |

| decoded |                      | encoded data |

| frames  |\                   _ | packets      |

|_________| \                  /||______________|

\   __________   /

simple     _\||          | /  encoder

filtergraph   | filtered |/

| frames   |

|__________|

Simple filtergraphs are configured with the per-stream -filter option (with -vf and -af aliases for video and audio respectively). A simple filtergraph for video can look for example like this:

_______        _____________        _______        ________

|       |      |             |      |       |      |        |

| input | ---> | deinterlace | ---> | scale | ---> | output |

|_______|      |_____________|      |_______|      |________|

Note that some filters change frame properties but not frame contents. E.g. the "fps" filter in the example above changes number of frames, but does not touch the frame contents. Another example is the "setpts" filter, which only sets timestamps and otherwise passes the frames unchanged.

Complex filtergraphs

Complex filtergraphs are those which cannot be described as simply a linear processing chain applied to one stream. This is the case, for example, when the graph has more than one input and/or output, or when output stream type is different from input. They can be represented with the following diagram:

_________

|         |

| input 0 |\                    __________

|_________| \                  |          |

\   _________    /| output 0 |

\ |         |  / |__________|

_________     \| complex | /

|         |     |         |/

| input 1 |---->| filter  |\

|_________|     |         | \   __________

/| graph   |  \ |          |

/ |         |   \| output 1 |

_________   /  |_________|    |__________|

|         | /

| input 2 |/

|_________|

Complex filtergraphs are configured with the -filter_complex option. Note that this option is global, since a complex filtergraph, by its nature, cannot be unambiguously associated with a single stream or file.

The -lavfi option is equivalent to -filter_complex.

A trivial example of a complex filtergraph is the "overlay" filter, which has two video inputs and one video output, containing one video overlaid on top of the other. Its audio counterpart is the "amix" filter.

Stream copy

Stream copy is a mode selected by supplying the "copy" parameter to the -codec option. It makes ffmpeg omit the decoding and encoding step for the specified stream, so it does only demuxing and muxing. It is useful for changing the container format or modifying container-level metadata. The diagram above will, in this case, simplify to this:

_______              ______________            ________

|       |            |              |          |        |

| input |  demuxer   | encoded data |  muxer   | output |

| file  | ---------> | packets      | -------> | file   |

|_______|            |______________|          |________|

Since there is no decoding or encoding, it is very fast and there is no quality loss. However, it might not work in some cases because of many factors. Applying filters is obviously also impossible, since filters work on uncompressed data.

STREAM SELECTION

By default, ffmpeg includes only one stream of each type (video, audio, subtitle) present in the input files and adds them to each output file. It picks the ``best'' of each based upon the following criteria: for video, it is the stream with the highest resolution, for audio, it is the stream with the most channels, for subtitles, it is the first subtitle stream. In the case where several streams of the same type rate equally, the stream with the lowest index is chosen.

You can disable some of those defaults by using the "-vn/-an/-sn/-dn" options. For full manual control, use the "-map" option, which disables the defaults just described.

OPTIONS

All the numerical options, if not specified otherwise, accept a string representing a number as input, which may be followed by one of the SI unit prefixes, for example: 'K', 'M', or 'G'.

If 'i' is appended to the SI unit prefix, the complete prefix will be interpreted as a unit prefix for binary multiples, which are based on powers of 1024 instead of powers of 1000. Appending 'B' to the SI unit prefix multiplies the value by 8. This allows using, for example: 'KB', 'MiB', 'G' and 'B' as number suffixes.

Options which do not take arguments are boolean options, and set the corresponding value to true. They can be set to false by prefixing the option name with ``no''. For example using ``-nofoo'' will set the boolean option with name ``foo'' to false.

Stream specifiers

Some options are applied per-stream, e.g. bitrate or codec. Stream specifiers are used to precisely specify which stream(s) a given option belongs to.

A stream specifier is a string generally appended to the option name and separated from it by a colon. E.g. "-codec:a:1 ac3" contains the "a:1" stream specifier, which matches the second audio stream. Therefore, it would select the ac3 codec for the second audio stream.

A stream specifier can match several streams, so that the option is applied to all of them. E.g. the stream specifier in "-b:a 128k" matches all audio streams.

An empty stream specifier matches all streams. For example, "-codec copy" or "-codec: copy" would copy all the streams without reencoding.

Possible forms of stream specifiers are:

stream_index

Matches the stream with this index. E.g. "-threads:1 4" would set the thread count for the second stream to 4.

stream_type[:stream_index]

stream_type is one of following: 'v' or 'V' for video, 'a' for audio, 's' for subtitle, 'd' for data, and 't' for attachments. 'v' matches all video streams, 'V' only matches video streams which are not attached pictures, video thumbnails or cover arts. If stream_index is given, then it matches stream number stream_index of this type. Otherwise, it matches all streams of this type.

p:program_id[:stream_index]

If stream_index is given, then it matches the stream with number stream_index in the program with the id program_id. Otherwise, it matches all streams in the program.

#stream_id or i:stream_id

Match the stream by stream id (e.g. PID in MPEG-TS container).

m:key[:value]

Matches streams with the metadata tag key having the specified value. If value is not given, matches streams that contain the given tag with any value.

u

Matches streams with usable configuration, the codec must be defined and the essential information such as video dimension or audio sample rate must be present.

Note that in ffmpeg, matching by metadata will only work properly for input files.

Generic options

These options are shared amongst the ff* tools.

-L

Show license.

-h, -?, -help, --help [arg]

Show help. An optional parameter may be specified to print help about a specific item. If no argument is specified, only basic (non advanced) tool options are shown.

Possible values of arg are:

long

Print advanced tool options in addition to the basic tool options.

full

Print complete list of options, including shared and private options for encoders, decoders, demuxers, muxers, filters, etc.

decoder=decoder_name

Print detailed information about the decoder named decoder_name. Use the -decoders option to get a list of all decoders.

encoder=encoder_name

Print detailed information about the encoder named encoder_name. Use the -encoders option to get a list of all encoders.

demuxer=demuxer_name

Print detailed information about the demuxer named demuxer_name. Use the -formats option to get a list of all demuxers and muxers.

muxer=muxer_name

Print detailed information about the muxer named muxer_name. Use the -formats option to get a list of all muxers and demuxers.

filter=filter_name

Print detailed information about the filter name filter_name. Use the -filters option to get a list of all filters.

-version

Show version.

-formats

Show available formats (including devices).

-demuxers

Show available demuxers.

-muxers

Show available muxers.

-devices

Show available devices.

-codecs

Show all codecs known to libavcodec.

Note that the term 'codec' is used throughout this documentation as a shortcut for what is more correctly called a media bitstream format.

-decoders

Show available decoders.

-encoders

Show all available encoders.

-bsfs

Show available bitstream filters.

-protocols

Show available protocols.

-filters

Show available libavfilter filters.

-pix_fmts

Show available pixel formats.

-sample_fmts

Show available sample formats.

-layouts

Show channel names and standard channel layouts.

-colors

Show recognized color names.

-sources device[,opt1=val1[,opt2=val2]...]

Show autodetected sources of the input device. Some devices may provide system-dependent source names that cannot be autodetected. The returned list cannot be assumed to be always complete.

ffmpeg -sources pulse,server=192.168.0.4

-sinks device[,opt1=val1[,opt2=val2]...]

Show autodetected sinks of the output device. Some devices may provide system-dependent sink names that cannot be autodetected. The returned list cannot be assumed to be always complete.

ffmpeg -sinks pulse,server=192.168.0.4

-loglevel [repeat+]loglevel | -v [repeat+]loglevel

Set the logging level used by the library. Adding ``repeat+'' indicates that repeated log output should not be compressed to the first line and the ``Last message repeated n times'' line will be omitted. ``repeat'' can also be used alone. If ``repeat'' is used alone, and with no prior loglevel set, the default loglevel will be used. If multiple loglevel parameters are given, using 'repeat' will not change the loglevel. loglevel is a string or a number containing one of the following values:

quiet, -8

Show nothing at all; be silent.

panic, 0

Only show fatal errors which could lead the process to crash, such as an assertion failure. This is not currently used for anything.

fatal, 8

Only show fatal errors. These are errors after which the process absolutely cannot continue.

error, 16

Show all errors, including ones which can be recovered from.

warning, 24

Show all warnings and errors. Any message related to possibly incorrect or unexpected events will be shown.

info, 32

Show informative messages during processing. This is in addition to warnings and errors. This is the default value.

verbose, 40

Same as "info", except more verbose.

debug, 48

Show everything, including debugging information.

trace, 56

By default the program logs to stderr. If coloring is supported by the terminal, colors are used to mark errors and warnings. Log coloring can be disabled setting the environment variable AV_LOG_FORCE_NOCOLOR or NO_COLOR, or can be forced setting the environment variable AV_LOG_FORCE_COLOR. The use of the environment variable NO_COLOR is deprecated and will be dropped in a future FFmpeg version.

-report

Dump full command line and console output to a file named "program-YYYYMMDD-HHMMSS.log" in the current directory. This file can be useful for bug reports. It also implies "-loglevel verbose".

Setting the environment variable FFREPORT to any value has the same effect. If the value is a ':'-separated key=value sequence, these options will affect the report; option values must be escaped if they contain special characters or the options delimiter ':' (see the ``Quoting and escaping'' section in the ffmpeg-utils manual).

The following options are recognized:

file

set the file name to use for the report; %p is expanded to the name of the program, %t is expanded to a timestamp, "%%" is expanded to a plain "%"

level

set the log verbosity level using a numerical value (see "-loglevel").

For example, to output a report to a file named ffreport.log using a log level of 32 (alias for log level "info"):

FFREPORT=file=ffreport.log:level=32 ffmpeg -i input output

Errors in parsing the environment variable are not fatal, and will not appear in the report.

-hide_banner

Suppress printing banner.

All FFmpeg tools will normally show a copyright notice, build options and library versions. This option can be used to suppress printing this information.

-cpuflags flags (global)

Allows setting and clearing cpu flags. This option is intended for testing. Do not use it unless you know what you're doing.

ffmpeg -cpuflags -sse+mmx ...

ffmpeg -cpuflags mmx ...

ffmpeg -cpuflags 0 ...

Possible flags for this option are:

x86

mmx

mmxext

sse

sse2

sse2slow

sse3

sse3slow

ssse3

atom

sse4.1

sse4.2

avx

avx2

xop

fma3

fma4

3dnow

3dnowext

bmi1

bmi2

cmov

ARM

armv5te

armv6

armv6t2

vfp

vfpv3

neon

setend

AArch64

armv8

vfp

neon

PowerPC

altivec

Specific Processors

pentium2

pentium3

pentium4

k6

k62

athlon

athlonxp

k8

-opencl_bench

This option is used to benchmark all available OpenCL devices and print the results. This option is only available when FFmpeg has been compiled with "--enable-opencl".

When FFmpeg is configured with "--enable-opencl", the options for the global OpenCL context are set via -opencl_options. See the ``OpenCL Options'' section in the ffmpeg-utils manual for the complete list of supported options. Amongst others, these options include the ability to select a specific platform and device to run the OpenCL code on. By default, FFmpeg will run on the first device of the first platform. While the options for the global OpenCL context provide flexibility to the user in selecting the OpenCL device of their choice, most users would probably want to select the fastest OpenCL device for their system.

This option assists the selection of the most efficient configuration by identifying the appropriate device for the user's system. The built-in benchmark is run on all the OpenCL devices and the performance is measured for each device. The devices in the results list are sorted based on their performance with the fastest device listed first. The user can subsequently invoke ffmpeg using the device deemed most appropriate via -opencl_options to obtain the best performance for the OpenCL accelerated code.

Typical usage to use the fastest OpenCL device involve the following steps.

Run the command:

ffmpeg -opencl_bench

Note down the platform ID (pidx) and device ID (didx) of the first i.e. fastest device in the list. Select the platform and device using the command:

ffmpeg -opencl_options platform_idx=<pidx>:device_idx=<didx> ...

-opencl_options options (global)

Set OpenCL environment options. This option is only available when FFmpeg has been compiled with "--enable-opencl".

options must be a list of key=value option pairs separated by ':'. See the ``OpenCL Options'' section in the ffmpeg-utils manual for the list of supported options.

AVOptions

These options are provided directly by the libavformat, libavdevice and libavcodec libraries. To see the list of available AVOptions, use the -help option. They are separated into two categories:

generic

These options can be set for any container, codec or device. Generic options are listed under AVFormatContext options for containers/devices and under AVCodecContext options for codecs.

private

These options are specific to the given container, device or codec. Private options are listed under their corresponding containers/devices/codecs.

For example to write an ID3v2.3 header instead of a default ID3v2.4 to an MP3 file, use the id3v2_version private option of the MP3 muxer:

ffmpeg -i input.flac -id3v2_version 3 out.mp3

All codec AVOptions are per-stream, and thus a stream specifier should be attached to them.

Note: the -nooption syntax cannot be used for boolean AVOptions, use -option 0/-option 1.

Note: the old undocumented way of specifying per-stream AVOptions by prepending v/a/s to the options name is now obsolete and will be removed soon.

Main options

-f fmt (input/output)

Force input or output file format. The format is normally auto detected for input files and guessed from the file extension for output files, so this option is not needed in most cases.

-i url (input)

input file url

-y (global)

Overwrite output files without asking.

-n (global)

Do not overwrite output files, and exit immediately if a specified output file already exists.

-stream_loop number (input)

Set number of times input stream shall be looped. Loop 0 means no loop, loop -1 means infinite loop.

-c[:stream_specifier] codec (input/output,per-stream)

-codec[:stream_specifier] codec (input/output,per-stream)

Select an encoder (when used before an output file) or a decoder (when used before an input file) for one or more streams. codec is the name of a decoder/encoder or a special value "copy" (output only) to indicate that the stream is not to be re-encoded.

For example

ffmpeg -i INPUT -map 0 -c:v libx264 -c:a copy OUTPUT

encodes all video streams with libx264 and copies all audio streams.

For each stream, the last matching "c" option is applied, so

ffmpeg -i INPUT -map 0 -c copy -c:v:1 libx264 -c:a:137 libvorbis OUTPUT

will copy all the streams except the second video, which will be encoded with libx264, and the 138th audio, which will be encoded with libvorbis.

-t duration (input/output)

When used as an input option (before "-i"), limit the duration of data read from the input file.

When used as an output option (before an output url), stop writing the output after its duration reaches duration.

duration must be a time duration specification, see the Time duration section in the ffmpeg-utils(1) manual.

-to and -t are mutually exclusive and -t has priority.

-to position (output)

Stop writing the output at position. position must be a time duration specification, see the Time duration section in the ffmpeg-utils(1) manual.

-to and -t are mutually exclusive and -t has priority.

-fs limit_size (output)

Set the file size limit, expressed in bytes. No further chunk of bytes is written after the limit is exceeded. The size of the output file is slightly more than the requested file size.

-ss position (input/output)

When used as an input option (before "-i"), seeks in this input file to position. Note that in most formats it is not possible to seek exactly, so ffmpeg will seek to the closest seek point before position. When transcoding and -accurate_seek is enabled (the default), this extra segment between the seek point and position will be decoded and discarded. When doing stream copy or when -noaccurate_seek is used, it will be preserved.

When used as an output option (before an output url), decodes but discards input until the timestamps reach position.

position must be a time duration specification, see the Time duration section in the ffmpeg-utils(1) manual.

-sseof position (input/output)

Like the "-ss" option but relative to the ``end of file''. That is negative values are earlier in the file, 0 is at EOF.

-itsoffset offset (input)

Set the input time offset.

offset must be a time duration specification, see the Time duration section in the ffmpeg-utils(1) manual.

The offset is added to the timestamps of the input files. Specifying a positive offset means that the corresponding streams are delayed by the time duration specified in offset.

-timestamp date (output)

Set the recording timestamp in the container.

date must be a date specification, see the Date section in the ffmpeg-utils(1) manual.

-metadata[:metadata_specifier] key=value (output,per-metadata)

Set a metadata key/value pair.

An optional metadata_specifier may be given to set metadata on streams, chapters or programs. See "-map_metadata" documentation for details.

This option overrides metadata set with "-map_metadata". It is also possible to delete metadata by using an empty value.

For example, for setting the title in the output file:

ffmpeg -i in.avi -metadata title="my title" out.flv

To set the language of the first audio stream:

ffmpeg -i INPUT -metadata:s:a:0 language=eng OUTPUT

-disposition[:stream_specifier] value (output,per-stream)

Sets the disposition for a stream.

This option overrides the disposition copied from the input stream. It is also possible to delete the disposition by setting it to 0.

The following dispositions are recognized:

default

dub

original

comment

lyrics

karaoke

forced

hearing_impaired

visual_impaired

clean_effects

captions

descriptions

metadata

For example, to make the second audio stream the default stream:

ffmpeg -i in.mkv -disposition:a:1 default out.mkv

To make the second subtitle stream the default stream and remove the default disposition from the first subtitle stream:

ffmpeg -i INPUT -disposition:s:0 0 -disposition:s:1 default OUTPUT

-program [title=title:][program_num=program_num:]st=stream[:st=stream...] (output)

Creates a program with the specified title, program_num and adds the specified stream(s) to it.

-target type (output)

Specify target file type ("vcd", "svcd", "dvd", "dv", "dv50"). type may be prefixed with "pal-", "ntsc-" or "film-" to use the corresponding standard. All the format options (bitrate, codecs, buffer sizes) are then set automatically. You can just type:

ffmpeg -i myfile.avi -target vcd /tmp/vcd.mpg

Nevertheless you can specify additional options as long as you know they do not conflict with the standard, as in:

ffmpeg -i myfile.avi -target vcd -bf 2 /tmp/vcd.mpg

-dframes number (output)

Set the number of data frames to output. This is an obsolete alias for "-frames:d", which you should use instead.

-frames[:stream_specifier] framecount (output,per-stream)

Stop writing to the stream after framecount frames.

-q[:stream_specifier] q (output,per-stream)

-qscale[:stream_specifier] q (output,per-stream)

Use fixed quality scale (VBR). The meaning of q/qscale is codec-dependent. If qscale is used without a stream_specifier then it applies only to the video stream, this is to maintain compatibility with previous behavior and as specifying the same codec specific value to 2 different codecs that is audio and video generally is not what is intended when no stream_specifier is used.

-filter[:stream_specifier] filtergraph (output,per-stream)

Create the filtergraph specified by filtergraph and use it to filter the stream.

filtergraph is a description of the filtergraph to apply to the stream, and must have a single input and a single output of the same type of the stream. In the filtergraph, the input is associated to the label "in", and the output to the label "out". See the ffmpeg-filters manual for more information about the filtergraph syntax.

See the -filter_complex option if you want to create filtergraphs with multiple inputs and/or outputs.

-filter_script[:stream_specifier] filename (output,per-stream)

This option is similar to -filter, the only difference is that its argument is the name of the file from which a filtergraph description is to be read.

-filter_threads nb_threads (global)

Defines how many threads are used to process a filter pipeline. Each pipeline will produce a thread pool with this many threads available for parallel processing. The default is the number of available CPUs.

-pre[:stream_specifier] preset_name (output,per-stream)

Specify the preset for matching stream(s).

-stats (global)

Print encoding progress/statistics. It is on by default, to explicitly disable it you need to specify "-nostats".

-progress url (global)

Send program-friendly progress information to url.

Progress information is written approximately every second and at the end of the encoding process. It is made of "key=value" lines. key consists of only alphanumeric characters. The last key of a sequence of progress information is always ``progress''.

-stdin

Enable interaction on standard input. On by default unless standard input is used as an input. To explicitly disable interaction you need to specify "-nostdin".

Disabling interaction on standard input is useful, for example, if ffmpeg is in the background process group. Roughly the same result can be achieved with "ffmpeg ... < /dev/null" but it requires a shell.

-debug_ts (global)

Print timestamp information. It is off by default. This option is mostly useful for testing and debugging purposes, and the output format may change from one version to another, so it should not be employed by portable scripts.

See also the option "-fdebug ts".

-attach filename (output)

Add an attachment to the output file. This is supported by a few formats like Matroska for e.g. fonts used in rendering subtitles. Attachments are implemented as a specific type of stream, so this option will add a new stream to the file. It is then possible to use per-stream options on this stream in the usual way. Attachment streams created with this option will be created after all the other streams (i.e. those created with "-map" or automatic mappings).

Note that for Matroska you also have to set the mimetype metadata tag:

ffmpeg -i INPUT -attach DejaVuSans.ttf -metadata:s:2 mimetype=application/x-truetype-font out.mkv

(assuming that the attachment stream will be third in the output file).

-dump_attachment[:stream_specifier] filename (input,per-stream)

Extract the matching attachment stream into a file named filename. If filename is empty, then the value of the "filename" metadata tag will be used.

E.g. to extract the first attachment to a file named 'out.ttf':

ffmpeg -dump_attachment:t:0 out.ttf -i INPUT

To extract all attachments to files determined by the "filename" tag:

ffmpeg -dump_attachment:t "" -i INPUT

Technical note --- attachments are implemented as codec extradata, so this option can actually be used to extract extradata from any stream, not just attachments.

-noautorotate

Disable automatically rotating video based on file metadata.

Video Options

-vframes number (output)

Set the number of video frames to output. This is an obsolete alias for "-frames:v", which you should use instead.

-r[:stream_specifier] fps (input/output,per-stream)

Set frame rate (Hz value, fraction or abbreviation).

As an input option, ignore any timestamps stored in the file and instead generate timestamps assuming constant frame rate fps. This is not the same as the -framerate option used for some input formats like image2 or v4l2 (it used to be the same in older versions of FFmpeg). If in doubt use -framerate instead of the input option -r.

As an output option, duplicate or drop input frames to achieve constant output frame rate fps.

-s[:stream_specifier] size (input/output,per-stream)

Set frame size.

As an input option, this is a shortcut for the video_size private option, recognized by some demuxers for which the frame size is either not stored in the file or is configurable --- e.g. raw video or video grabbers.

As an output option, this inserts the "scale" video filter to the end of the corresponding filtergraph. Please use the "scale" filter directly to insert it at the beginning or some other place.

The format is wxh (default - same as source).

-aspect[:stream_specifier] aspect (output,per-stream)

Set the video display aspect ratio specified by aspect.

aspect can be a floating point number string, or a string of the form num:den, where num and den are the numerator and denominator of the aspect ratio. For example ``4:3'', ``16:9'', ``1.3333'', and ``1.7777'' are valid argument values.

If used together with -vcodec copy, it will affect the aspect ratio stored at container level, but not the aspect ratio stored in encoded frames, if it exists.

-vn (output)

Disable video recording.

-vcodec codec (output)

Set the video codec. This is an alias for "-codec:v".

-pass[:stream_specifier] n (output,per-stream)

Select the pass number (1 or 2). It is used to do two-pass video encoding. The statistics of the video are recorded in the first pass into a log file (see also the option -passlogfile), and in the second pass that log file is used to generate the video at the exact requested bitrate. On pass 1, you may just deactivate audio and set output to null, examples for Windows and Unix:

ffmpeg -i foo.mov -c:v libxvid -pass 1 -an -f rawvideo -y NUL

ffmpeg -i foo.mov -c:v libxvid -pass 1 -an -f rawvideo -y /dev/null

-passlogfile[:stream_specifier] prefix (output,per-stream)

Set two-pass log file name prefix to prefix, the default file name prefix is ``ffmpeg2pass''. The complete file name will be PREFIX-N.log, where N is a number specific to the output stream

-vf filtergraph (output)

Create the filtergraph specified by filtergraph and use it to filter the stream.

This is an alias for "-filter:v", see the -filter option.

Advanced Video options

-pix_fmt[:stream_specifier] format (input/output,per-stream)

Set pixel format. Use "-pix_fmts" to show all the supported pixel formats. If the selected pixel format can not be selected, ffmpeg will print a warning and select the best pixel format supported by the encoder. If pix_fmt is prefixed by a "+", ffmpeg will exit with an error if the requested pixel format can not be selected, and automatic conversions inside filtergraphs are disabled. If pix_fmt is a single "+", ffmpeg selects the same pixel format as the input (or graph output) and automatic conversions are disabled.

-sws_flags flags (input/output)

Set SwScaler flags.

-vdt n

Discard threshold.

-rc_override[:stream_specifier] override (output,per-stream)

Rate control override for specific intervals, formatted as ``int,int,int'' list separated with slashes. Two first values are the beginning and end frame numbers, last one is quantizer to use if positive, or quality factor if negative.

-ilme

Force interlacing support in encoder (MPEG-2 and MPEG-4 only). Use this option if your input file is interlaced and you want to keep the interlaced format for minimum losses. The alternative is to deinterlace the input stream with -deinterlace, but deinterlacing introduces losses.

-psnr

Calculate PSNR of compressed frames.

-vstats

Dump video coding statistics to vstats_HHMMSS.log.

-vstats_file file

Dump video coding statistics to file.

-vstats_version file

Specifies which version of the vstats format to use. Default is 2.

version = 1 :

"frame= %5d q= %2.1f PSNR= %6.2f f_size= %6d s_size= %8.0fkB time= %0.3f br= %7.1fkbits/s avg_br= %7.1fkbits/s"

version > 1:

"out= %2d st= %2d frame= %5d q= %2.1f PSNR= %6.2f f_size= %6d s_size= %8.0fkB time= %0.3f br= %7.1fkbits/s avg_br= %7.1fkbits/s"

-top[:stream_specifier] n (output,per-stream)

top=1/bottom=0/auto=-1 field first

-dc precision

Intra_dc_precision.

-vtag fourcc/tag (output)

Force video tag/fourcc. This is an alias for "-tag:v".

-qphist (global)

Show QP histogram

-vbsf bitstream_filter

Deprecated see -bsf

-force_key_frames[:stream_specifier] time[,time...] (output,per-stream)

-force_key_frames[:stream_specifier] expr:expr (output,per-stream)

Force key frames at the specified timestamps, more precisely at the first frames after each specified time.

If the argument is prefixed with "expr:", the string expr is interpreted like an expression and is evaluated for each frame. A key frame is forced in case the evaluation is non-zero.

If one of the times is ""chapters"[delta]", it is expanded into the time of the beginning of all chapters in the file, shifted by delta, expressed as a time in seconds. This option can be useful to ensure that a seek point is present at a chapter mark or any other designated place in the output file.

For example, to insert a key frame at 5 minutes, plus key frames 0.1 second before the beginning of every chapter:

-force_key_frames 0:05:00,chapters-0.1

The expression in expr can contain the following constants:

n

the number of current processed frame, starting from 0

n_forced

the number of forced frames

prev_forced_n

the number of the previous forced frame, it is "NAN" when no keyframe was forced yet

prev_forced_t

the time of the previous forced frame, it is "NAN" when no keyframe was forced yet

t

the time of the current processed frame

For example to force a key frame every 5 seconds, you can specify:

-force_key_frames expr:gte(t,n_forced*5)

To force a key frame 5 seconds after the time of the last forced one, starting from second 13:

-force_key_frames expr:if(isnan(prev_forced_t),gte(t,13),gte(t,prev_forced_t+5))

Note that forcing too many keyframes is very harmful for the lookahead algorithms of certain encoders: using fixed-GOP options or similar would be more efficient.

-copyinkf[:stream_specifier] (output,per-stream)

When doing stream copy, copy also non-key frames found at the beginning.

-init_hw_device type[=name][:device[,key=value...]]

Initialise a new hardware device of type type called name, using the given device parameters. If no name is specified it will receive a default name of the form "type%d".

The meaning of device and the following arguments depends on the device type:

cuda

device is the number of the CUDA device.

dxva2

device is the number of the Direct3D 9 display adapter.

vaapi

device is either an X11 display name or a DRM render node. If not specified, it will attempt to open the default X11 display ($DISPLAY) and then the first DRM render node (/dev/dri/renderD128).

vdpau

device is an X11 display name. If not specified, it will attempt to open the default X11 display ($DISPLAY).

qsv

device selects a value in MFX_IMPL_*. Allowed values are:

auto

sw

hw

auto_any

hw_any

hw2

hw3

hw4

If not specified, auto_any is used. (Note that it may be easier to achieve the desired result for QSV by creating the platform-appropriate subdevice (dxva2 or vaapi) and then deriving a QSV device from that.)

-init_hw_device type[=name]@source

Initialise a new hardware device of type type called name, deriving it from the existing device with the name source.

-init_hw_device list

List all hardware device types supported in this build of ffmpeg.

-filter_hw_device name

Pass the hardware device called name to all filters in any filter graph. This can be used to set the device to upload to with the "hwupload" filter, or the device to map to with the "hwmap" filter. Other filters may also make use of this parameter when they require a hardware device. Note that this is typically only required when the input is not already in hardware frames - when it is, filters will derive the device they require from the context of the frames they receive as input.

This is a global setting, so all filters will receive the same device.

-hwaccel[:stream_specifier] hwaccel (input,per-stream)

Use hardware acceleration to decode the matching stream(s). The allowed values of hwaccel are:

none

Do not use any hardware acceleration (the default).

auto

Automatically select the hardware acceleration method.

vda

Use Apple VDA hardware acceleration.

vdpau

Use VDPAU (Video Decode and Presentation API for Unix) hardware acceleration.

dxva2

Use DXVA2 (DirectX Video Acceleration) hardware acceleration.

vaapi

Use VAAPI (Video Acceleration API) hardware acceleration.

qsv

Use the Intel QuickSync Video acceleration for video transcoding.

Unlike most other values, this option does not enable accelerated decoding (that is used automatically whenever a qsv decoder is selected), but accelerated transcoding, without copying the frames into the system memory.

For it to work, both the decoder and the encoder must support QSV acceleration and no filters must be used.

This option has no effect if the selected hwaccel is not available or not supported by the chosen decoder.

Note that most acceleration methods are intended for playback and will not be faster than software decoding on modern CPUs. Additionally, ffmpeg will usually need to copy the decoded frames from the GPU memory into the system memory, resulting in further performance loss. This option is thus mainly useful for testing.

-hwaccel_device[:stream_specifier] hwaccel_device (input,per-stream)

Select a device to use for hardware acceleration.

This option only makes sense when the -hwaccel option is also specified. It can either refer to an existing device created with -init_hw_device by name, or it can create a new device as if -init_hw_device type:hwaccel_device were called immediately before.

-hwaccels

List all hardware acceleration methods supported in this build of ffmpeg.

Audio Options

-aframes number (output)

Set the number of audio frames to output. This is an obsolete alias for "-frames:a", which you should use instead.

-ar[:stream_specifier] freq (input/output,per-stream)

Set the audio sampling frequency. For output streams it is set by default to the frequency of the corresponding input stream. For input streams this option only makes sense for audio grabbing devices and raw demuxers and is mapped to the corresponding demuxer options.

-aq q (output)

Set the audio quality (codec-specific, VBR). This is an alias for -q:a.

-ac[:stream_specifier] channels (input/output,per-stream)

Set the number of audio channels. For output streams it is set by default to the number of input audio channels. For input streams this option only makes sense for audio grabbing devices and raw demuxers and is mapped to the corresponding demuxer options.

-an (output)

Disable audio recording.

-acodec codec (input/output)

Set the audio codec. This is an alias for "-codec:a".

-sample_fmt[:stream_specifier] sample_fmt (output,per-stream)

Set the audio sample format. Use "-sample_fmts" to get a list of supported sample formats.

-af filtergraph (output)

Create the filtergraph specified by filtergraph and use it to filter the stream.

This is an alias for "-filter:a", see the -filter option.

Advanced Audio options

-atag fourcc/tag (output)

Force audio tag/fourcc. This is an alias for "-tag:a".

-absf bitstream_filter

Deprecated, see -bsf

-guess_layout_max channels (input,per-stream)

If some input channel layout is not known, try to guess only if it corresponds to at most the specified number of channels. For example, 2 tells to ffmpeg to recognize 1 channel as mono and 2 channels as stereo but not 6 channels as 5.1. The default is to always try to guess. Use 0 to disable all guessing.

Subtitle options

-scodec codec (input/output)

Set the subtitle codec. This is an alias for "-codec:s".

-sn (output)

Disable subtitle recording.

-sbsf bitstream_filter

Deprecated, see -bsf

Advanced Subtitle options

-fix_sub_duration

Fix subtitles durations. For each subtitle, wait for the next packet in the same stream and adjust the duration of the first to avoid overlap. This is necessary with some subtitles codecs, especially DVB subtitles, because the duration in the original packet is only a rough estimate and the end is actually marked by an empty subtitle frame. Failing to use this option when necessary can result in exaggerated durations or muxing failures due to non-monotonic timestamps.

Note that this option will delay the output of all data until the next subtitle packet is decoded: it may increase memory consumption and latency a lot.

-canvas_size size

Set the size of the canvas used to render subtitles.

Advanced options

-map [-]input_file_id[:stream_specifier][?][,sync_file_id[:stream_specifier]] | [linklabel] (output)

Designate one or more input streams as a source for the output file. Each input stream is identified by the input file index input_file_id and the input stream index input_stream_id within the input file. Both indices start at 0. If specified, sync_file_id:stream_specifier sets which input stream is used as a presentation sync reference.

The first "-map" option on the command line specifies the source for output stream 0, the second "-map" option specifies the source for output stream 1, etc.

A "-" character before the stream identifier creates a ``negative'' mapping. It disables matching streams from already created mappings.

A trailing "?" after the stream index will allow the map to be optional: if the map matches no streams the map will be ignored instead of failing. Note the map will still fail if an invalid input file index is used; such as if the map refers to a non-existent input.

An alternative [linklabel] form will map outputs from complex filter graphs (see the -filter_complex option) to the output file. linklabel must correspond to a defined output link label in the graph.

For example, to map ALL streams from the first input file to output

ffmpeg -i INPUT -map 0 output

For example, if you have two audio streams in the first input file, these streams are identified by ``0:0'' and ``0:1''. You can use "-map" to select which streams to place in an output file. For example:

ffmpeg -i INPUT -map 0:1 out.wav

will map the input stream in INPUT identified by ``0:1'' to the (single) output stream in out.wav.

For example, to select the stream with index 2 from input file a.mov (specified by the identifier ``0:2''), and stream with index 6 from input b.mov (specified by the identifier ``1:6''), and copy them to the output file out.mov:

ffmpeg -i a.mov -i b.mov -c copy -map 0:2 -map 1:6 out.mov

To select all video and the third audio stream from an input file:

ffmpeg -i INPUT -map 0:v -map 0:a:2 OUTPUT

To map all the streams except the second audio, use negative mappings

ffmpeg -i INPUT -map 0 -map -0:a:1 OUTPUT

To map the video and audio streams from the first input, and using the trailing "?", ignore the audio mapping if no audio streams exist in the first input:

ffmpeg -i INPUT -map 0:v -map 0:a? OUTPUT

To pick the English audio stream:

ffmpeg -i INPUT -map 0:m:language:eng OUTPUT

Note that using this option disables the default mappings for this output file.

-ignore_unknown

Ignore input streams with unknown type instead of failing if copying such streams is attempted.

-copy_unknown

Allow input streams with unknown type to be copied instead of failing if copying such streams is attempted.

-map_channel [input_file_id.stream_specifier.channel_id|-1][?][:output_file_id.stream_specifier]

Map an audio channel from a given input to an output. If output_file_id.stream_specifier is not set, the audio channel will be mapped on all the audio streams.

Using ``-1'' instead of input_file_id.stream_specifier.channel_id will map a muted channel.

A trailing "?" will allow the map_channel to be optional: if the map_channel matches no channel the map_channel will be ignored instead of failing.

For example, assuming INPUT is a stereo audio file, you can switch the two audio channels with the following command:

ffmpeg -i INPUT -map_channel 0.0.1 -map_channel 0.0.0 OUTPUT

If you want to mute the first channel and keep the second:

ffmpeg -i INPUT -map_channel -1 -map_channel 0.0.1 OUTPUT

The order of the ``-map_channel'' option specifies the order of the channels in the output stream. The output channel layout is guessed from the number of channels mapped (mono if one ``-map_channel'', stereo if two, etc.). Using ``-ac'' in combination of ``-map_channel'' makes the channel gain levels to be updated if input and output channel layouts don't match (for instance two ``-map_channel'' options and ``-ac 6'').

You can also extract each channel of an input to specific outputs; the following command extracts two channels of the INPUT audio stream (file 0, stream 0) to the respective OUTPUT_CH0 and OUTPUT_CH1 outputs:

ffmpeg -i INPUT -map_channel 0.0.0 OUTPUT_CH0 -map_channel 0.0.1 OUTPUT_CH1

The following example splits the channels of a stereo input into two separate streams, which are put into the same output file:

ffmpeg -i stereo.wav -map 0:0 -map 0:0 -map_channel 0.0.0:0.0 -map_channel 0.0.1:0.1 -y out.ogg

Note that currently each output stream can only contain channels from a single input stream; you can't for example use ``-map_channel'' to pick multiple input audio channels contained in different streams (from the same or different files) and merge them into a single output stream. It is therefore not currently possible, for example, to turn two separate mono streams into a single stereo stream. However splitting a stereo stream into two single channel mono streams is possible.

If you need this feature, a possible workaround is to use the amerge filter. For example, if you need to merge a media (here input.mkv) with 2 mono audio streams into one single stereo channel audio stream (and keep the video stream), you can use the following command:

ffmpeg -i input.mkv -filter_complex "[0:1] [0:2] amerge" -c:a pcm_s16le -c:v copy output.mkv

To map the first two audio channels from the first input, and using the trailing "?", ignore the audio channel mapping if the first input is mono instead of stereo:

ffmpeg -i INPUT -map_channel 0.0.0 -map_channel 0.0.1? OUTPUT

-map_metadata[:metadata_spec_out] infile[:metadata_spec_in] (output,per-metadata)

Set metadata information of the next output file from infile. Note that those are file indices (zero-based), not filenames. Optional metadata_spec_in/out parameters specify, which metadata to copy. A metadata specifier can have the following forms:

g

global metadata, i.e. metadata that applies to the whole file

s[:stream_spec]

per-stream metadata. stream_spec is a stream specifier as described in the Stream specifiers chapter. In an input metadata specifier, the first matching stream is copied from. In an output metadata specifier, all matching streams are copied to.

c:chapter_index

per-chapter metadata. chapter_index is the zero-based chapter index.

p:program_index

per-program metadata. program_index is the zero-based program index.

If metadata specifier is omitted, it defaults to global.

By default, global metadata is copied from the first input file, per-stream and per-chapter metadata is copied along with streams/chapters. These default mappings are disabled by creating any mapping of the relevant type. A negative file index can be used to create a dummy mapping that just disables automatic copying.

For example to copy metadata from the first stream of the input file to global metadata of the output file:

ffmpeg -i in.ogg -map_metadata 0:s:0 out.mp3

To do the reverse, i.e. copy global metadata to all audio streams:

ffmpeg -i in.mkv -map_metadata:s:a 0:g out.mkv

Note that simple 0 would work as well in this example, since global metadata is assumed by default.

-map_chapters input_file_index (output)

Copy chapters from input file with index input_file_index to the next output file. If no chapter mapping is specified, then chapters are copied from the first input file with at least one chapter. Use a negative file index to disable any chapter copying.

-benchmark (global)

Show benchmarking information at the end of an encode. Shows CPU time used and maximum memory consumption. Maximum memory consumption is not supported on all systems, it will usually display as 0 if not supported.

-benchmark_all (global)

Show benchmarking information during the encode. Shows CPU time used in various steps (audio/video encode/decode).

-timelimit duration (global)

Exit after ffmpeg has been running for duration seconds.

-dump (global)

Dump each input packet to stderr.

-hex (global)

When dumping packets, also dump the payload.

-re (input)

Read input at native frame rate. Mainly used to simulate a grab device, or live input stream (e.g. when reading from a file). Should not be used with actual grab devices or live input streams (where it can cause packet loss). By default ffmpeg attempts to read the input(s) as fast as possible. This option will slow down the reading of the input(s) to the native frame rate of the input(s). It is useful for real-time output (e.g. live streaming).

-loop_input

Loop over the input stream. Currently it works only for image streams. This option is used for automatic FFserver testing. This option is deprecated, use -loop 1.

-loop_output number_of_times

Repeatedly loop output for formats that support looping such as animated GIF (0 will loop the output infinitely). This option is deprecated, use -loop.

-vsync parameter

Video sync method. For compatibility reasons old values can be specified as numbers. Newly added values will have to be specified as strings always.

0, passthrough

Each frame is passed with its timestamp from the demuxer to the muxer.

1, cfr

Frames will be duplicated and dropped to achieve exactly the requested constant frame rate.

2, vfr

Frames are passed through with their timestamp or dropped so as to prevent 2 frames from having the same timestamp.

drop

As passthrough but destroys all timestamps, making the muxer generate fresh timestamps based on frame-rate.

-1, auto

Chooses between 1 and 2 depending on muxer capabilities. This is the default method.

Note that the timestamps may be further modified by the muxer, after this. For example, in the case that the format option avoid_negative_ts is enabled.

With -map you can select from which stream the timestamps should be taken. You can leave either video or audio unchanged and sync the remaining stream(s) to the unchanged one.

-frame_drop_threshold parameter

Frame drop threshold, which specifies how much behind video frames can be before they are dropped. In frame rate units, so 1.0 is one frame. The default is -1.1. One possible usecase is to avoid framedrops in case of noisy timestamps or to increase frame drop precision in case of exact timestamps.

-async samples_per_second

Audio sync method. ``Stretches/squeezes'' the audio stream to match the timestamps, the parameter is the maximum samples per second by which the audio is changed. -async 1 is a special case where only the start of the audio stream is corrected without any later correction.

Note that the timestamps may be further modified by the muxer, after this. For example, in the case that the format option avoid_negative_ts is enabled.

This option has been deprecated. Use the "aresample" audio filter instead.

-copyts

Do not process input timestamps, but keep their values without trying to sanitize them. In particular, do not remove the initial start time offset value.

Note that, depending on the vsync option or on specific muxer processing (e.g. in case the format option avoid_negative_ts is enabled) the output timestamps may mismatch with the input timestamps even when this option is selected.

-start_at_zero

When used with copyts, shift input timestamps so they start at zero.

This means that using e.g. "-ss 50" will make output timestamps start at 50 seconds, regardless of what timestamp the input file started at.

-copytb mode

Specify how to set the encoder timebase when stream copying. mode is an integer numeric value, and can assume one of the following values:

1

Use the demuxer timebase.

The time base is copied to the output encoder from the corresponding input demuxer. This is sometimes required to avoid non monotonically increasing timestamps when copying video streams with variable frame rate.

0

Use the decoder timebase.

The time base is copied to the output encoder from the corresponding input decoder.

-1

Try to make the choice automatically, in order to generate a sane output.

Default value is -1.

-enc_time_base[:stream_specifier] timebase (output,per-stream)

Set the encoder timebase. timebase is a floating point number, and can assume one of the following values:

0

Assign a default value according to the media type.

For video - use 1/framerate, for audio - use 1/samplerate.

-1

Use the input stream timebase when possible.

If an input stream is not available, the default timebase will be used.

>0

Use the provided number as the timebase.

This field can be provided as a ratio of two integers (e.g. 1:24, 1:48000) or as a floating point number (e.g. 0.04166, 2.0833e-5)

Default value is 0.

-shortest (output)

Finish encoding when the shortest input stream ends.

-dts_delta_threshold

Timestamp discontinuity delta threshold.

-muxdelay seconds (input)

Set the maximum demux-decode delay.

-muxpreload seconds (input)

Set the initial demux-decode delay.

-streamid output-stream-index:new-value (output)

Assign a new stream-id value to an output stream. This option should be specified prior to the output filename to which it applies. For the situation where multiple output files exist, a streamid may be reassigned to a different value.

For example, to set the stream 0 PID to 33 and the stream 1 PID to 36 for an output mpegts file:

ffmpeg -i inurl -streamid 0:33 -streamid 1:36 out.ts

-bsf[:stream_specifier] bitstream_filters (output,per-stream)

Set bitstream filters for matching streams. bitstream_filters is a comma-separated list of bitstream filters. Use the "-bsfs" option to get the list of bitstream filters.

ffmpeg -i h264.mp4 -c:v copy -bsf:v h264_mp4toannexb -an out.h264

ffmpeg -i file.mov -an -vn -bsf:s mov2textsub -c:s copy -f rawvideo sub.txt

-tag[:stream_specifier] codec_tag (input/output,per-stream)

Force a tag/fourcc for matching streams.

-timecode hh:mm:ssSEPff

Specify Timecode for writing. SEP is ':' for non drop timecode and ';' (or '.') for drop.

ffmpeg -i input.mpg -timecode 01:02:03.04 -r 30000/1001 -s ntsc output.mpg

-filter_complex filtergraph (global)

Define a complex filtergraph, i.e. one with arbitrary number of inputs and/or outputs. For simple graphs --- those with one input and one output of the same type --- see the -filter options. filtergraph is a description of the filtergraph, as described in the ``Filtergraph syntax'' section of the ffmpeg-filters manual.

Input link labels must refer to input streams using the "[file_index:stream_specifier]" syntax (i.e. the same as -map uses). If stream_specifier matches multiple streams, the first one will be used. An unlabeled input will be connected to the first unused input stream of the matching type.

Output link labels are referred to with -map. Unlabeled outputs are added to the first output file.

Note that with this option it is possible to use only lavfi sources without normal input files.

For example, to overlay an image over video

ffmpeg -i video.mkv -i image.png -filter_complex '[0:v][1:v]overlay[out]' -map

'[out]' out.mkv

Here "[0:v]" refers to the first video stream in the first input file, which is linked to the first (main) input of the overlay filter. Similarly the first video stream in the second input is linked to the second (overlay) input of overlay.

Assuming there is only one video stream in each input file, we can omit input labels, so the above is equivalent to

ffmpeg -i video.mkv -i image.png -filter_complex 'overlay[out]' -map

'[out]' out.mkv

Furthermore we can omit the output label and the single output from the filter graph will be added to the output file automatically, so we can simply write

ffmpeg -i video.mkv -i image.png -filter_complex 'overlay' out.mkv

To generate 5 seconds of pure red video using lavfi "color" source:

ffmpeg -filter_complex 'color=c=red' -t 5 out.mkv

-filter_complex_threads nb_threads (global)

Defines how many threads are used to process a filter_complex graph. Similar to filter_threads but used for "-filter_complex" graphs only. The default is the number of available CPUs.

-lavfi filtergraph (global)

Define a complex filtergraph, i.e. one with arbitrary number of inputs and/or outputs. Equivalent to -filter_complex.

-filter_complex_script filename (global)

This option is similar to -filter_complex, the only difference is that its argument is the name of the file from which a complex filtergraph description is to be read.

-accurate_seek (input)

This option enables or disables accurate seeking in input files with the -ss option. It is enabled by default, so seeking is accurate when transcoding. Use -noaccurate_seek to disable it, which may be useful e.g. when copying some streams and transcoding the others.

-seek_timestamp (input)

This option enables or disables seeking by timestamp in input files with the -ss option. It is disabled by default. If enabled, the argument to the -ss option is considered an actual timestamp, and is not offset by the start time of the file. This matters only for files which do not start from timestamp 0, such as transport streams.

-thread_queue_size size (input)

This option sets the maximum number of queued packets when reading from the file or device. With low latency / high rate live streams, packets may be discarded if they are not read in a timely manner; raising this value can avoid it.

-override_ffserver (global)

Overrides the input specifications from ffserver. Using this option you can map any input stream to ffserver and control many aspects of the encoding from ffmpeg. Without this option ffmpeg will transmit to ffserver what is requested by ffserver.

The option is intended for cases where features are needed that cannot be specified to ffserver but can be to ffmpeg.

-sdp_file file (global)

Print sdp information for an output stream to file. This allows dumping sdp information when at least one output isn't an rtp stream. (Requires at least one of the output formats to be rtp).

-discard (input)

Allows discarding specific streams or frames of streams at the demuxer. Not all demuxers support this.

none

Discard no frame.

default

Default, which discards no frames.

noref

Discard all non-reference frames.

bidir

Discard all bidirectional frames.

nokey

Discard all frames excepts keyframes.

all

Discard all frames.

-abort_on flags (global)

Stop and abort on various conditions. The following flags are available:

empty_output

No packets were passed to the muxer, the output is empty.

-xerror (global)

Stop and exit on error

-max_muxing_queue_size packets (output,per-stream)

When transcoding audio and/or video streams, ffmpeg will not begin writing into the output until it has one packet for each such stream. While waiting for that to happen, packets for other streams are buffered. This option sets the size of this buffer, in packets, for the matching output stream.

The default value of this option should be high enough for most uses, so only touch this option if you are sure that you need it.

As a special exception, you can use a bitmap subtitle stream as input: it will be converted into a video with the same size as the largest video in the file, or 720x576 if no video is present. Note that this is an experimental and temporary solution. It will be removed once libavfilter has proper support for subtitles.

For example, to hardcode subtitles on top of a DVB-T recording stored in MPEG-TS format, delaying the subtitles by 1 second:

ffmpeg -i input.ts -filter_complex \

'[#0x2ef] setpts=PTS+1/TB [sub] ; [#0x2d0] [sub] overlay' \

-sn -map '#0x2dc' output.mkv

(0x2d0, 0x2dc and 0x2ef are the MPEG-TS PIDs of respectively the video, audio and subtitles streams; 0:0, 0:3 and 0:7 would have worked too)

Preset files

A preset file contains a sequence of option=value pairs, one for each line, specifying a sequence of options which would be awkward to specify on the command line. Lines starting with the hash ('#') character are ignored and are used to provide comments. Check the presets directory in the FFmpeg source tree for examples.

There are two types of preset files: ffpreset and avpreset files.

ffpreset files

ffpreset files are specified with the "vpre", "apre", "spre", and "fpre" options. The "fpre" option takes the filename of the preset instead of a preset name as input and can be used for any kind of codec. For the "vpre", "apre", and "spre" options, the options specified in a preset file are applied to the currently selected codec of the same type as the preset option.

The argument passed to the "vpre", "apre", and "spre" preset options identifies the preset file to use according to the following rules:

First ffmpeg searches for a file named arg.ffpreset in the directories $FFMPEG_DATADIR (if set), and $HOME/.ffmpeg, and in the datadir defined at configuration time (usually PREFIX/share/ffmpeg) or in a ffpresets folder along the executable on win32, in that order. For example, if the argument is "libvpx-1080p", it will search for the file libvpx-1080p.ffpreset.

If no such file is found, then ffmpeg will search for a file named codec_name-arg.ffpreset in the above-mentioned directories, where codec_name is the name of the codec to which the preset file options will be applied. For example, if you select the video codec with "-vcodec libvpx" and use "-vpre 1080p", then it will search for the file libvpx-1080p.ffpreset.

avpreset files

avpreset files are specified with the "pre" option. They work similar to ffpreset files, but they only allow encoder- specific options. Therefore, an option=value pair specifying an encoder cannot be used.

When the "pre" option is specified, ffmpeg will look for files with the suffix .avpreset in the directories $AVCONV_DATADIR (if set), and $HOME/.avconv, and in the datadir defined at configuration time (usually PREFIX/share/ffmpeg), in that order.

First ffmpeg searches for a file named codec_name-arg.avpreset in the above-mentioned directories, where codec_name is the name of the codec to which the preset file options will be applied. For example, if you select the video codec with "-vcodec libvpx" and use "-pre 1080p", then it will search for the file libvpx-1080p.avpreset.

If no such file is found, then ffmpeg will search for a file named arg.avpreset in the same directories.

EXAMPLES

Video and Audio grabbing

If you specify the input format and device then ffmpeg can grab video and audio directly.

ffmpeg -f oss -i /dev/dsp -f video4linux2 -i /dev/video0 /tmp/out.mpg

Or with an ALSA audio source (mono input, card id 1) instead of OSS:

ffmpeg -f alsa -ac 1 -i hw:1 -f video4linux2 -i /dev/video0 /tmp/out.mpg

Note that you must activate the right video source and channel before launching ffmpeg with any TV viewer such as <http://linux.bytesex.org/xawtv/> by Gerd Knorr. You also have to set the audio recording levels correctly with a standard mixer.

X11 grabbing

Grab the X11 display with ffmpeg via

ffmpeg -f x11grab -video_size cif -framerate 25 -i :0.0 /tmp/out.mpg

0.0 is display.screen number of your X11 server, same as the DISPLAY environment variable.

ffmpeg -f x11grab -video_size cif -framerate 25 -i :0.0+10,20 /tmp/out.mpg

0.0 is display.screen number of your X11 server, same as the DISPLAY environment variable. 10 is the x-offset and 20 the y-offset for the grabbing.

Video and Audio file format conversion

Any supported file format and protocol can serve as input to ffmpeg:

Examples:

*

You can use YUV files as input:

ffmpeg -i /tmp/test%d.Y /tmp/out.mpg

It will use the files:

/tmp/test0.Y, /tmp/test0.U, /tmp/test0.V,

/tmp/test1.Y, /tmp/test1.U, /tmp/test1.V, etc...

The Y files use twice the resolution of the U and V files. They are raw files, without header. They can be generated by all decent video decoders. You must specify the size of the image with the -s option if ffmpeg cannot guess it.

*

You can input from a raw YUV420P file:

ffmpeg -i /tmp/test.yuv /tmp/out.avi

test.yuv is a file containing raw YUV planar data. Each frame is composed of the Y plane followed by the U and V planes at half vertical and horizontal resolution.

*

You can output to a raw YUV420P file:

ffmpeg -i mydivx.avi hugefile.yuv

*

You can set several input files and output files:

ffmpeg -i /tmp/a.wav -s 640x480 -i /tmp/a.yuv /tmp/a.mpg

Converts the audio file a.wav and the raw YUV video file a.yuv to MPEG file a.mpg.

*

You can also do audio and video conversions at the same time:

ffmpeg -i /tmp/a.wav -ar 22050 /tmp/a.mp2

Converts a.wav to MPEG audio at 22050 Hz sample rate.

*

You can encode to several formats at the same time and define a mapping from input stream to output streams:

ffmpeg -i /tmp/a.wav -map 0:a -b:a 64k /tmp/a.mp2 -map 0:a -b:a 128k /tmp/b.mp2

Converts a.wav to a.mp2 at 64 kbits and to b.mp2 at 128 kbits. '-map file:index' specifies which input stream is used for each output stream, in the order of the definition of output streams.

*

You can transcode decrypted VOBs:

ffmpeg -i snatch_1.vob -f avi -c:v mpeg4 -b:v 800k -g 300 -bf 2 -c:a libmp3lame -b:a 128k snatch.avi

This is a typical DVD ripping example; the input is a VOB file, the output an AVI file with MPEG-4 video and MP3 audio. Note that in this command we use B-frames so the MPEG-4 stream is DivX5 compatible, and GOP size is 300 which means one intra frame every 10 seconds for 29.97fps input video. Furthermore, the audio stream is MP3-encoded so you need to enable LAME support by passing "--enable-libmp3lame" to configure. The mapping is particularly useful for DVD transcoding to get the desired audio language.

NOTE: To see the supported input formats, use "ffmpeg -demuxers".

*

You can extract images from a video, or create a video from many images:

For extracting images from a video:

ffmpeg -i foo.avi -r 1 -s WxH -f image2 foo-%03d.jpeg

This will extract one video frame per second from the video and will output them in files named foo-001.jpeg, foo-002.jpeg, etc. Images will be rescaled to fit the new WxH values.

If you want to extract just a limited number of frames, you can use the above command in combination with the "-frames:v" or "-t" option, or in combination with -ss to start extracting from a certain point in time.

For creating a video from many images:

ffmpeg -f image2 -framerate 12 -i foo-%03d.jpeg -s WxH foo.avi

The syntax "foo-%03d.jpeg" specifies to use a decimal number composed of three digits padded with zeroes to express the sequence number. It is the same syntax supported by the C printf function, but only formats accepting a normal integer are suitable.

When importing an image sequence, -i also supports expanding shell-like wildcard patterns (globbing) internally, by selecting the image2-specific "-pattern_type glob" option.

For example, for creating a video from filenames matching the glob pattern "foo-*.jpeg":

ffmpeg -f image2 -pattern_type glob -framerate 12 -i 'foo-*.jpeg' -s WxH foo.avi

*

You can put many streams of the same type in the output:

ffmpeg -i test1.avi -i test2.avi -map 1:1 -map 1:0 -map 0:1 -map 0:0 -c copy -y test12.nut

The resulting output file test12.nut will contain the first four streams from the input files in reverse order.

*

To force CBR video output:

ffmpeg -i myfile.avi -b 4000k -minrate 4000k -maxrate 4000k -bufsize 1835k out.m2v

*

The four options lmin, lmax, mblmin and mblmax use 'lambda' units, but you may use the QP2LAMBDA constant to easily convert from 'q' units:

ffmpeg -i src.ext -lmax 21*QP2LAMBDA dst.ext

SEE ALSO

-

AUTHORS

The FFmpeg developers.

For details about the authorship, see the Git history of the project (git://source.ffmpeg.org/ffmpeg), e.g. by typing the command git log in the FFmpeg source directory, or browsing the online repository at <http://source.ffmpeg.org>.

Maintainers for the specific components are listed in the file MAINTAINERS in the source code tree.

NAME SYNOPSIS DESCRIPTION DETAILED DESCRIPTION Filtering Stream copy STREAM SELECTION OPTIONS Stream specifiers Generic options AVOptions Main options Video Options Advanced Video options Audio Options Advanced Audio options Subtitle options Advanced Subtitle options Advanced options Preset files EXAMPLES Video and Audio grabbing X11 grabbing Video and Audio file format conversion SEE ALSO AUTHORS

This document was created by man2html using the manual pages.

Time: 16:33:34 GMT, September 14, 2024

CitesDownload

TOC Index

NAME

CitesDownload - download/install new version of lib/cites.js file

SYNOPSIS

WA2LWinTools/bin/CitesDownload [ -h | -V ]

CitesDownload

AVAILABILITY

WA2L/WinTools

DESCRIPTION

Download the most recent version of the the lib/cites.js file from sourceforge.net independent from an upgrade of the WA2L/WinTools package.

OPTIONS

-h

usage message.

-V

print program version.

ENVIRONMENT

-

EXIT STATUS

0

always.

FILES

etc/CitesDownload.cfg

optional configuration file for CitesDownload.

etc/proxy.hostname.cfg

etc/proxy.domainname.cfg

etc/proxy.cfg

optional configuration file to define proxy settings. See proxy.cfg(4) for more information.

lib/cites.js

cites definitions for wallpaper and other wallpapers.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), proxy.cfg(4), wallpaper(1), citesdownload.cfg(4)

NOTES

-

BUGS

-

AUTHOR

citesdownload was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:31:51 GMT, September 14, 2024

CitesDownload.cfg

TOC Index

NAME

CitesDownload.cfg - configuration file for CitesDownload

SYNOPSIS

WA2LWinTools/etc/CitesDownload.cfg

WA2LWinTools/etc/CitesDownload.hostname.cfg

AVAILABILITY

WA2L/WinTools

DESCRIPTION

This is the optional configuration file for the WebcamsDownload command.

The configuration file containing the hostname has preference over the CitesDownload.cfg file, if it exists on the related host.

In 'normal' cases you don't need this configuration file to be able to download and install updates for the WA2L/WinTools package.

FILEFORMAT

Rows starting with a # are considered as comments.

The file format is OPTION=VALUE

Between the OPTION, the = and the VALUE are no spaces.

OPTIONS

DOWNLOADURL

URL from where the WA2L/WinTools file is downloaded.

Example: DOWNLOADURL=

Default: DOWNLOADURL=http://wa2l-wintools.sourceforge.net/www/WA2LNewsLibrary/app/cites.js

WGETOPTIONS

additional options to wget which is used internally to download the package file as fallback when the download thru the standard Windows™ method fails.

Internally the wget command is called as follows:

wget --no-clobber --output-document="TemporaryDownloadFile" WGETOPTIONS DOWNLOADURL

Therefore the specified WGETOPTIONS are passed before the DOWNLOADURL to the wget command.

Example: WGETOPTIONS=--no-verbose

Default: WGETOPTIONS=

EXAMPLES

-

SEE ALSO

wintoolsintro(1), proxy.cfg(4), citesdownload(1m), wget(3)

NOTES

-

BUGS

-

AUTHOR

CitesDownload.cfg was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION FILEFORMAT OPTIONS EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:31:52 GMT, September 14, 2024

csvq

TOC Index

NAME

csvq - SQL-like query language for csv

SYNOPSIS

WA2LWinTools/lib/csvq [ --help ]

csvq [ options ] [ subcommand ] [ "query" | argument ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

csvq is a command line tool to operate CSV files.

You can read, update, delete CSV records with SQL-like query.

You can also execute multiple operations sequentially in managed transactions by passing a procedure or using the interactive shell. In the multiple operations, you can use variables, cursors, temporary tables, and other features.

For the whole documentation see: https://mithrandie.github.io/csvq/

OPTIONS

--help

print usage message.

csvq_options

See: https://mithrandie.github.io/csvq/reference/command.html

ENVIRONMENT

See: https://mithrandie.github.io/csvq/reference/command.html#environment-configurations

EXIT STATUS

See: https://mithrandie.github.io/csvq/reference/command.html#return_code

FILES

See: https://mithrandie.github.io/csvq/

EXAMPLES

See: https://mithrandie.github.io/csvq/

SEE ALSO

wintoolsintro(1) jq(3), xml2json(3), https://mithrandie.github.io/csvq/

NOTES

This manpage is a partial extract of the home page https://mithrandie.github.io/csvq/ which has been written by Yuki Mithrandie <https://github.com/mithrandie>.

See the mentioned web page to view the complete csvq description.

BUGS

-

AUTHOR

csvq was developed by Yuki mithrandie <https://github.com/mithrandie> (https://github.com/mithrandie/csvq/) and integrated to WA2L/WinTools by Christian Walther. Send suggestions and bug reports related to the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2022 Christian Walther

This is free software; see edrc/doc/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:31:56 GMT, September 14, 2024

jq

TOC Index

NAME

jq - Command-line JSON processor

SYNOPSIS

jq [options...] filter [files...] jq can transform JSON in various ways, by selecting, iterating, reducing and otherwise mangling JSON documents. For instance, running the command jq 'map(.price) | add' will take an array of JSON objects as input and return the sum of their "price" fields. jq can accept text input as well, but by default, jq reads a stream of JSON entities (including numbers and other literals) from stdin. Whitespace is only needed to separate entities such as 1 and 2, and true and false. One or more files may be specified, in which case jq will read input from those instead. The options are described in the INVOKING JQ section; they mostly concern input and output formatting. The filter is written in the jq language and specifies how to transform the input file or document.

FILTERS

A jq program is a "filter": it takes an input, and produces an output. There are a lot of builtin filters for extracting a particular field of an object, or converting a number to a string, or various other standard tasks. Filters can be combined in various ways - you can pipe the output of one filter into another filter, or collect the output of a filter into an array. Some filters produce multiple results, for instance there's one that produces all the elements of its input array. Piping that filter into a second runs the second filter for each element of the array. Generally, things that would be done with loops and iteration in other languages are just done by gluing filters together in jq. It's important to remember that every filter has an input and an output. Even literals like "hello" or 42 are filters - they take an input but always produce the same literal as output. Operations that combine two filters, like addition, generally feed the same input to both and combine the results. So, you can implement an averaging filter as add / length - feeding the input array both to the add filter and the length filter and then performing the division. But that's getting ahead of ourselves. :) Let's start with something simpler:

INVOKING JQ

jq filters run on a stream of JSON data. The input to jq is parsed as a sequence of whitespace-separated JSON values which are passed through the provided filter one at a time. The output(s) of the filter are written to standard out, again as a sequence of whitespace-separated JSON data. Note: it is important to mind the shell's quoting rules. As a general rule it's best to always quote (with single-quote characters) the jq program, as too many characters with special meaning to jq are also shell meta-characters. For example, jq "foo" will fail on most Unix shells because that will be the same as jq foo, which will generally fail because foo is not defined. When using the Windows command shell (cmd.exe) it's best to use double quotes around your jq program when given on the command-line (instead of the -f program-file option), but then double-quotes in the jq program need backslash escaping. You can affect how jq reads and writes its input and output using some command-line options:

*

--version:

Output the jq version and exit with zero.

*

--seq:

Use the application/json-seq MIME type scheme for separating JSON texts in jq's input and output. This means that an ASCII RS (record separator) character is printed before each value on output and an ASCII LF (line feed) is printed after every output. Input JSON texts that fail to parse are ignored (but warned about), discarding all subsequent input until the next RS. This more also parses the output of jq without the --seq option.

*

--stream:

Parse the input in streaming fashion, outputing arrays of path and leaf values (scalars and empty arrays or empty objects). For example, "a" becomes [[],"a"], and [[],"a",["b"]] becomes [[0],[]], [[1],"a"], and [[1,0],"b"].

This is useful for processing very large inputs. Use this in conjunction with filtering and the reduce and foreach syntax to reduce large inputs incrementally.

*

--slurp/-s:

Instead of running the filter for each JSON object in the input, read the entire input stream into a large array and run the filter just once.

*

--raw-input/-R:

Don't parse the input as JSON. Instead, each line of text is passed to the filter as a string. If combined with --slurp, then the entire input is passed to the filter as a single long string.

*

--null-input/-n:

Don't read any input at all! Instead, the filter is run once using null as the input. This is useful when using jq as a simple calculator or to construct JSON data from scratch.

*

--compact-output / -c:

By default, jq pretty-prints JSON output. Using this option will result in more compact output by instead putting each JSON object on a single line.

*

--tab:

Use a tab for each indentation level instead of two spaces.

*

--indent n:

Use the given number of spaces (no more than 8) for indentation.

*

--color-output / -C and --monochrome-output / -M:

By default, jq outputs colored JSON if writing to a terminal. You can force it to produce color even if writing to a pipe or a file using -C, and disable color with -M.

*

--ascii-output / -a:

jq usually outputs non-ASCII Unicode codepoints as UTF-8, even if the input specified them as escape sequences (like "\u03bc"). Using this option, you can force jq to produce pure ASCII output with every non-ASCII character replaced with the equivalent escape sequence.

*

--unbuffered

Flush the output after each JSON object is printed (useful if you're piping a slow data source into jq and piping jq's output elsewhere).

*

--sort-keys / -S:

Output the fields of each object with the keys in sorted order.

*

--raw-output / -r:

With this option, if the filter's result is a string then it will be written directly to standard output rather than being formatted as a JSON string with quotes. This can be useful for making jq filters talk to non-JSON-based systems.

*

--join-output / -j:

Like -r but jq won't print a newline after each output.

*

-f filename / --from-file filename:

Read filter from the file rather than from a command line, like awk's -f option. You can also use '#' to make comments.

*

-Ldirectory / -L directory:

Prepend directory to the search list for modules. If this option is used then no builtin search list is used. See the section on modules below.

*

-e / --exit-status:

Sets the exit status of jq to 0 if the last output values was neither false nor null, 1 if the last output value was either false or null, or 4 if no valid result was ever produced. Normally jq exits with 2 if there was any usage problem or system error, 3 if there was a jq program compile error, or 0 if the jq program ran.

*

--arg name value:

This option passes a value to the jq program as a predefined variable. If you run jq with --arg foo bar, then $foo is available in the program and has the value "bar". Note that value will be treated as a string, so --arg foo 123 will bind $foo to "123".

*

--argjson name JSON-text:

This option passes a JSON-encoded value to the jq program as a predefined variable. If you run jq with --argjson foo 123, then $foo is available in the program and has the value 123.

*

--slurpfile variable-name filename:

This option reads all the JSON texts in the named file and binds an array of the parsed JSON values to the given global variable. If you run jq with --argfile foo bar, then $foo is available in the program and has an array whose elements correspond to the texts in the file named bar.

*

--argfile variable-name filename:

Do not use. Use --slurpfile instead.

(This option is like --slurpfile, but when the file has just one text, then that is used, else an array of texts is used as in --slurpfile.)

*

--run-tests [filename]:

Runs the tests in the given file or standard input. This must be the last option given and does not honor all preceding options. The input consists of comment lines, empty lines, and program lines followed by one input line, as many lines of output as are expected (one per output), and a terminating empty line. Compilation failure tests start with a line containing only "%%FAIL", then a line containing the program to compile, then a line containing an error message to compare to the actual.

Be warned that this option can change backwards-incompatibly.

BASIC FILTERS

.

The absolute simplest (and least interesting) filter is .. This is a filter that takes its input and produces it unchanged as output. Since jq by default pretty-prints all output, this trivial program can be a useful way of formatting JSON output from, say, curl.

jq '.'

"Hello, world!"

=> "Hello, world!"

.foo, .foo.bar

The simplest useful filter is .foo. When given a JSON object (aka dictionary or hash) as input, it produces the value at the key "foo", or null if there's none present. If the key contains special characters, you need to surround it with double quotes like this: ."foo$". A filter of the form .foo.bar is equivalent to .foo|.bar.

jq '.foo'

{"foo": 42, "bar": "less interesting data"}

=> 42

jq '.foo'

{"notfoo": true, "alsonotfoo": false}

=> null

jq '.["foo"]'

{"foo": 42}

=> 42

.foo?

Just like .foo, but does not output even an error when . is not an array or an object.

jq '.foo?'

{"foo": 42, "bar": "less interesting data"}

=> 42

jq '.foo?'

{"notfoo": true, "alsonotfoo": false}

=> null

jq '.["foo"]?'

{"foo": 42}

=> 42

jq '[.foo?]'

[1,2]

=> []

.[<string>], .[2], .[10:15]

You can also look up fields of an object using syntax like .["foo"] (.foo above is a shorthand version of this). This one works for arrays as well, if the key is an integer. Arrays are zero-based (like javascript), so .[2] returns the third element of the array. The .[10:15] syntax can be used to return a subarray of an array or substring of a string. The array returned by .[10:15] will be of length 5, containing the elements from index 10 (inclusive) to index 15 (exclusive). Either index may be negative (in which case it counts backwards from the end of the array), or omitted (in which case it refers to the start or end of the array). The .[2] syntax can be used to return the element at the given index. Negative indices are allowed, with -1 referring to the last element, -2 referring to the next to last element, and so on. The .foo syntax only works for simply keys i.e. keys that are all alphanumeric characters. .[<string>] works with keys that contain special characters such as colons and dots. For example .["foo::bar"] and .["foo.bar"] work while .foo::bar and .foo.bar would not. The ? "operator" can also be used with the slice operator, as in .[10:15]?, which outputs values where the inputs are slice-able.

jq '.[0]'

[{"name":"JSON", "good":true}, {"name":"XML", "good":false}]

=> {"name":"JSON", "good":true}

jq '.[2]'

[{"name":"JSON", "good":true}, {"name":"XML", "good":false}]

=> null

jq '.[2:4]'

["a","b","c","d","e"]

=> ["c", "d"]

jq '.[2:4]'

"abcdefghi"

=> "cd"

jq '.[:3]'

["a","b","c","d","e"]

=> ["a", "b", "c"]

jq '.[-2:]'

["a","b","c","d","e"]

=> ["d", "e"]

jq '.[-2]'

[1,2,3]

=> 2

.[]

If you use the .[index] syntax, but omit the index entirely, it will return all of the elements of an array. Running .[] with the input [1,2,3] will produce the numbers as three separate results, rather than as a single array. You can also use this on an object, and it will return all the values of the object.

jq '.[]'

[{"name":"JSON", "good":true}, {"name":"XML", "good":false}]

=> {"name":"JSON", "good":true}, {"name":"XML", "good":false}

jq '.[]'

[]

=>

jq '.[]'

{"a": 1, "b": 1}

=> 1, 1

.[]?

Like .[], but no errors will be output if . is not an array or object.

,

If two filters are separated by a comma, then the input will be fed into both and there will be multiple outputs: first, all of the outputs produced by the left expression, and then all of the outputs produced by the right. For instance, filter .foo, .bar, produces both the "foo" fields and "bar" fields as separate outputs.

jq '.foo, .bar'

{"foo": 42, "bar": "something else", "baz": true}

=> 42, "something else"

jq '.user, .projects[]'

{"user":"stedolan", "projects": ["jq", "wikiflow"]}

=> "stedolan", "jq", "wikiflow"

jq '.[4,2]'

["a","b","c","d","e"]

=> "e", "c"

|

The | operator combines two filters by feeding the output(s) of the one on the left into the input of the one on the right. It's pretty much the same as the Unix shell's pipe, if you're used to that. If the one on the left produces multiple results, the one on the right will be run for each of those results. So, the expression .[] | .foo retrieves the "foo" field of each element of the input array.

jq '.[] | .name'

[{"name":"JSON", "good":true}, {"name":"XML", "good":false}]

=> "JSON", "XML"

TYPES AND VALUES

jq supports the same set of datatypes as JSON - numbers, strings, booleans, arrays, objects (which in JSON-speak are hashes with only string keys), and "null". Booleans, null, strings and numbers are written the same way as in javascript. Just like everything else in jq, these simple values take an input and produce an output - 42 is a valid jq expression that takes an input, ignores it, and returns 42 instead.

Array construction - []

As in JSON, [] is used to construct arrays, as in [1,2,3]. The elements of the arrays can be any jq expression. All of the results produced by all of the expressions are collected into one big array. You can use it to construct an array out of a known quantity of values (as in [.foo, .bar, .baz]) or to "collect" all the results of a filter into an array (as in [.items[].name]) Once you understand the "," operator, you can look at jq's array syntax in a different light: the expression [1,2,3] is not using a built-in syntax for comma-separated arrays, but is instead applying the [] operator (collect results) to the expression 1,2,3 (which produces three different results). If you have a filter X that produces four results, then the expression [X] will produce a single result, an array of four elements.

jq '[.user, .projects[]]'

{"user":"stedolan", "projects": ["jq", "wikiflow"]}

=> ["stedolan", "jq", "wikiflow"]

Objects - {}

Like JSON, {} is for constructing objects (aka dictionaries or hashes), as in: {"a": 42, "b": 17}. If the keys are "sensible" (all alphabetic characters), then the quotes can be left off. The value can be any expression (although you may need to wrap it in parentheses if it's a complicated one), which gets applied to the {} expression's input (remember, all filters have an input and an output).

{foo: .bar}

will produce the JSON object {"foo": 42} if given the JSON object {"bar":42, "baz":43}. You can use this to select particular fields of an object: if the input is an object with "user", "title", "id", and "content" fields and you just want "user" and "title", you can write

{user: .user, title: .title}

Because that's so common, there's a shortcut syntax: {user, title}. If one of the expressions produces multiple results, multiple dictionaries will be produced. If the input's

{"user":"stedolan","titles":["JQ Primer", "More JQ"]}

then the expression

{user, title: .titles[]}

will produce two outputs:

{"user":"stedolan", "title": "JQ Primer"}

{"user":"stedolan", "title": "More JQ"}

Putting parentheses around the key means it will be evaluated as an expression. With the same input as above,

{(.user): .titles}

produces

{"stedolan": ["JQ Primer", "More JQ"]}

jq '{user, title: .titles[]}'

{"user":"stedolan","titles":["JQ Primer", "More JQ"]}

=> {"user":"stedolan", "title": "JQ Primer"}, {"user":"stedolan", "title": "More JQ"}

jq '{(.user): .titles}'

{"user":"stedolan","titles":["JQ Primer", "More JQ"]}

=> {"stedolan": ["JQ Primer", "More JQ"]}

BUILTIN OPERATORS AND FUNCTIONS

Some jq operator (for instance, +) do different things depending on the type of their arguments (arrays, numbers, etc.). However, jq never does implicit type conversions. If you try to add a string to an object you'll get an error message and no result.

Addition - +

The operator + takes two filters, applies them both to the same input, and adds the results together. What "adding" means depends on the types involved:

*

Numbers are added by normal arithmetic.

*

Arrays are added by being concatenated into a larger array.

*

Strings are added by being joined into a larger string.

*

Objects are added by merging, that is, inserting all the key-value pairs from both objects into a single combined object. If both objects contain a value for the same key, the object on the right of the + wins. (For recursive merge use the * operator.)

null can be added to any value, and returns the other value unchanged.

jq '.a + 1'

{"a": 7}

=> 8

jq '.a + .b'

{"a": [1,2], "b": [3,4]}

=> [1,2,3,4]

jq '.a + null'

{"a": 1}

=> 1

jq '.a + 1'

{}

=> 1

jq '{a: 1} + {b: 2} + {c: 3} + {a: 42}'

null

=> {"a": 42, "b": 2, "c": 3}

Subtraction - -

As well as normal arithmetic subtraction on numbers, the - operator can be used on arrays to remove all occurrences of the second array's elements from the first array.

jq '4 - .a'

{"a":3}

=> 1

jq '. - ["xml", "yaml"]'

["xml", "yaml", "json"]

=> ["json"]

Multiplication, division, modulo - *, /, and %

These infix operators behave as expected when given two numbers. Division by zero raises an error. x % y computes x modulo y. Multiplying a string by a number produces the concatenation of that string that many times. "x" * 0 produces null. Dividing a string by another splits the first using the second as separators. Multiplying two objects will merge them recursively: this works like addition but if both objects contain a value for the same key, and the values are objects, the two are merged with the same strategy.

jq '10 / . * 3'

5

=> 6

jq '. / ", "'

"a, b,c,d, e"

=> ["a","b,c,d","e"]

jq '{"k": {"a": 1, "b": 2}} * {"k": {"a": 0,"c": 3}}'

null

=> {"k": {"a": 0, "b": 2, "c": 3}}

jq '.[] | (1 / .)?'

[1,0,-1]

=> 1, -1

length

The builtin function length gets the length of various different types of value:

*

The length of a string is the number of Unicode codepoints it contains (which will be the same as its JSON-encoded length in bytes if it's pure ASCII).

*

The length of an array is the number of elements.

*

The length of an object is the number of key-value pairs.

*

The length of null is zero.

jq '.[] | length' [[1,2], "string", {"a":2}, null] => 2, 6, 1, 0

keys, keys_unsorted

The builtin function keys, when given an object, returns its keys in an array. The keys are sorted "alphabetically", by unicode codepoint order. This is not an order that makes particular sense in any particular language, but you can count on it being the same for any two objects with the same set of keys, regardless of locale settings. When keys is given an array, it returns the valid indices for that array: the integers from 0 to length-1. The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.

jq 'keys'

{"abc": 1, "abcd": 2, "Foo": 3}

=> ["Foo", "abc", "abcd"]

jq 'keys'

[42,3,35]

=> [0,1,2]

has(key)

The builtin function has returns whether the input object has the given key, or the input array has an element at the given index. has($key) has the same effect as checking whether $key is a member of the array returned by keys, although has will be faster.

jq 'map(has("foo"))'

[{"foo": 42}, {}]

=> [true, false]

jq 'map(has(2))'

[[0,1], ["a","b","c"]]

=> [false, true]

in

The builtin function in returns the input key is in the given object, or the input index corresponds to an element in the given array. It is, essentially, an inversed version of has.

jq '.[] | in({"foo": 42})'

["foo", "bar"]

=> true, false

jq 'map(in([0,1]))'

[2, 0]

=> [false, true]

path(path_expression)

Outputs array representations of the given path expression in .. The outputs are arrays of strings (keys in objects0 and/or numbers (array indices. Path expressions are jq expressions like .a, but also .[]. There are two types of path expressions: ones that can match exactly, and ones that cannot. For example, .a.b.c is an exact match path expression, while .a[].b is not. path(exact_path_expression) will produce the array representation of the path expression even if it does not exist in ., if . is null or an array or an object. path(pattern) will produce array representations of the paths matching pattern if the paths exist in .. Note that the path expressions are not different from normal expressions. The expression path(..|select(type=="boolean")) outputs all the paths to boolean values in ., and only those paths.

jq 'path(.a[0].b)'

null

=> ["a",0,"b"]

jq '[path(..)]'

{"a":[{"b":1}]}

=> [[],["a"],["a",0],["a",0,"b"]]

del(path_expression)

The builtin function del removes a key and its corresponding value from an object.

jq 'del(.foo)'

{"foo": 42, "bar": 9001, "baz": 42}

=> {"bar": 9001, "baz": 42}

jq 'del(.[1, 2])'

["foo", "bar", "baz"]

=> ["foo"]

to_entries, from_entries, with_entries

These functions convert between an object and an array of key-value pairs. If to_entries is passed an object, then for each k: v entry in the input, the output array includes {"key": k, "value": v}. from_entries does the opposite conversion, and with_entries(foo) is a shorthand for to_entries | map(foo) | from_entries, useful for doing some operation to all keys and values of an object. from_entries accepts key, Key, Name, value and Value as keys.

jq 'to_entries'

{"a": 1, "b": 2}

=> [{"key":"a", "value":1}, {"key":"b", "value":2}]

jq 'from_entries'

[{"key":"a", "value":1}, {"key":"b", "value":2}]

=> {"a": 1, "b": 2}

jq 'with_entries(.key |= "KEY_" + .)'

{"a": 1, "b": 2}

=> {"KEY_a": 1, "KEY_b": 2}

select(boolean_expression)

The function select(foo) produces its input unchanged if foo returns true for that input, and produces no output otherwise. It's useful for filtering lists: [1,2,3] | map(select(. >= 2)) will give you [2,3].

jq 'map(select(. >= 2))'

[1,5,3,0,7]

=> [5,3,7]

jq '.[] | select(.id == "second")'

[{"id": "first", "val": 1}, {"id": "second", "val": 2}]

=> {"id": "second", "val": 2}

arrays, objects, iterables, booleans, numbers, normals, finites, strings, nulls, values, scalars

These built-ins select only inputs that are arrays, objects, iterables (arrays or objects), booleans, numbers, normal numbers, finite numbers, strings, null, non-null values, and non-iterables, respectively.

jq '.[]|numbers'

[[],{},1,"foo",null,true,false]

=> 1

empty

empty returns no results. None at all. Not even null. It's useful on occasion. You'll know if you need it :)

jq '1, empty, 2'

null

=> 1, 2

jq '[1,2,empty,3]'

null

=> [1,2,3]

error(message)

Produces an error, just like .a applied to values other than null and objects would, but with the given message as the error's value.

$__loc__

Produces an object with a "file" key and a "line" key, with the filename and line number where $__loc__ occurs, as values.

jq 'try error("\($__loc__)") catch .'

null

=> "{\"file\":\"<top-level>\",\"line\":1}"

map(x), map_values(x)

For any filter x, map(x) will run that filter for each element of the input array, and produce the outputs a new array. map(.+1) will increment each element of an array of numbers. Similarly, map_values(x) will run that filter for each element, but it will return an object when an object is passed. map(x) is equivalent to [.[] | x]. In fact, this is how it's defined. Similarly, map_values(x) is defined as .[] |= x.

jq 'map(.+1)'

[1,2,3]

=> [2,3,4]

jq 'map_values(.+1)'

{"a": 1, "b": 2, "c": 3}

=> {"a": 2, "b": 3, "c": 4}

paths, paths(node_filter), leaf_paths

paths outputs the paths to all the elements in its input (except it does not output the empty list, representing . itself). paths(f) outputs the paths to any values for which f is true. That is, paths(numbers) outputs the paths to all numeric values. leaf_paths is an alias of paths(scalars); leaf_paths is deprecated and will be removed in the next major release.

jq '[paths]'

[1,[[],{"a":2}]]

=> [[0],[1],[1,0],[1,1],[1,1,"a"]]

jq '[paths(scalars)]'

[1,[[],{"a":2}]]

=> [[0],[1,1,"a"]]

add

The filter add takes as input an array, and produces as output the elements of the array added together. This might mean summed, concatenated or merged depending on the types of the elements of the input array - the rules are the same as those for the + operator (described above). If the input is an empty array, add returns null.

jq 'add'

["a","b","c"]

=> "abc"

jq 'add'

[1, 2, 3]

=> 6

jq 'add'

[]

=> null

any, any(condition), any(generator; condition)

The filter any takes as input an array of boolean values, and produces true as output if any of the the elements of the array is true. If the input is an empty array, any returns false. The any(condition) form applies the given condition to the elements of the input array. The any(generator; condition) form applies the given condition to all the outputs of the given generator.

jq 'any'

[true, false]

=> true

jq 'any'

[false, false]

=> false

jq 'any'

[]

=> false

all, all(condition), all(generator; condition)

The filter all takes as input an array of boolean values, and produces true as output if all of the the elements of the array are true. The all(condition) form applies the given condition to the elements of the input array. The all(generator; condition) form applies the given condition to all the outputs of the given generator. If the input is an empty array, all returns true.

jq 'all'

[true, false]

=> false

jq 'all'

[true, true]

=> true

jq 'all'

[]

=> true

[Requires 1.5] flatten, flatten(depth)

The filter flatten takes as input an array of nested arrays, and produces a flat array in which all arrays inside the original array have been recursively replaced by their values. You can pass an argument to it to specify how many levels of nesting to flatten. flatten(2) is like flatten, but going only up to two levels deep.

jq 'flatten'

[1, [2], [[3]]]

=> [1, 2, 3]

jq 'flatten(1)'

[1, [2], [[3]]]

=> [1, 2, [3]]

jq 'flatten'

[[]]

=> []

jq 'flatten'

[{"foo": "bar"}, [{"foo": "baz"}]]

=> [{"foo": "bar"}, {"foo": "baz"}]

range(upto), range(from;upto) range(from;upto;by)

The range function produces a range of numbers. range(4;10) produces 6 numbers, from 4 (inclusive) to 10 (exclusive). The numbers are produced as separate outputs. Use [range(4;10)] to get a range as an array. The one argument form generates numbers from 0 to the given number, with an increment of 1. The two argument form generates numbers from from to upto with an increment of 1. The three argument form generates numbers from to upto with an increment of by.

jq 'range(2;4)'

null

=> 2, 3

jq '[range(2;4)]'

null

=> [2,3]

jq '[range(4)]'

null

=> [0,1,2,3]

jq '[range(0;10;3)]'

null

=> [0,3,6,9]

jq '[range(0;10;-1)]'

null

=> []

jq '[range(0;-5;-1)]'

null

=> [0,-1,-2,-3,-4]

floor

The floor function returns the floor of its numeric input.

jq 'floor'

3.14159

=> 3

sqrt

The sqrt function returns the square root of its numeric input.

jq 'sqrt'

9

=> 3

tonumber

The tonumber function parses its input as a number. It will convert correctly-formatted strings to their numeric equivalent, leave numbers alone, and give an error on all other input.

jq '.[] | tonumber'

[1, "1"]

=> 1, 1

tostring

The tostring function prints its input as a string. Strings are left unchanged, and all other values are JSON-encoded.

jq '.[] | tostring'

[1, "1", [1]]

=> "1", "1", "[1]"

type

The type function returns the type of its argument as a string, which is one of null, boolean, number, string, array or object.

jq 'map(type)'

[0, false, [], {}, null, "hello"]

=> ["number", "boolean", "array", "object", "null", "string"]

infinite, nan, isinfinite, isnan, isfinite, isnormal

Some arithmetic operations can yield infinities and "not a number" (NaN) values. The isinfinite builtin returns true if its input is infinite. The isnan builtin returns true if its input is a NaN. The infinite builtin returns a positive infinite value. The nan builtin returns a NaN. The isnormal builtin returns true if its input is a normal number. Note that division by zero raises an error. Currently most arithmetic operations operating on infinities, NaNs, and sub-normals do not raise errors.

jq '.[] | (infinite * .) < 0'

[-1, 1]

=> true, false

jq 'infinite, nan | type'

null

=> "number", "number"

sort, sort_by(path_expression)

The sort functions sorts its input, which must be an array. Values are sorted in the following order:

*

null

*

false

*

true

*

numbers

*

strings, in alphabetical order (by unicode codepoint value)

*

arrays, in lexical order

*

objects

The ordering for objects is a little complex: first they're compared by comparing their sets of keys (as arrays in sorted order), and if their keys are equal then the values are compared key by key. sort may be used to sort by a particular field of an object, or by applying any jq filter. sort_by(foo) compares two elements by comparing the result of foo on each element.

jq 'sort'

[8,3,null,6]

=> [null,3,6,8]

jq 'sort_by(.foo)'

[{"foo":4, "bar":10}, {"foo":3, "bar":100}, {"foo":2, "bar":1}]

=> [{"foo":2, "bar":1}, {"foo":3, "bar":100}, {"foo":4, "bar":10}]

group_by(path_expression)

group_by(.foo) takes as input an array, groups the elements having the same .foo field into separate arrays, and produces all of these arrays as elements of a larger array, sorted by the value of the .foo field. Any jq expression, not just a field access, may be used in place of .foo. The sorting order is the same as described in the sort function above.

jq 'group_by(.foo)'

[{"foo":1, "bar":10}, {"foo":3, "bar":100}, {"foo":1, "bar":1}]

=> [[{"foo":1, "bar":10}, {"foo":1, "bar":1}], [{"foo":3, "bar":100}]]

min, max, min_by(path_exp), max_by(path_exp)

Find the minimum or maximum element of the input array. The min_by(path_exp) and max_by(path_exp) functions allow you to specify a particular field or property to examine, e.g. min_by(.foo) finds the object with the smallest foo field.

jq 'min'

[5,4,2,7]

=> 2

jq 'max_by(.foo)'

[{"foo":1, "bar":14}, {"foo":2, "bar":3}]

=> {"foo":2, "bar":3}

unique, unique_by(path_exp)

The unique function takes as input an array and produces an array of the same elements, in sorted order, with duplicates removed. The unique_by(path_exp) function will keep only one element for each value obtained by applying the argument. Think of it as making an array by taking one element out of every group produced by group.

jq 'unique'

[1,2,5,3,5,3,1,3]

=> [1,2,3,5]

jq 'unique_by(.foo)'

[{"foo": 1, "bar": 2}, {"foo": 1, "bar": 3}, {"foo": 4, "bar": 5}]

=> [{"foo": 1, "bar": 2}, {"foo": 4, "bar": 5}]

jq 'unique_by(length)'

["chunky", "bacon", "kitten", "cicada", "asparagus"]

=> ["bacon", "chunky", "asparagus"]

reverse

This function reverses an array.

jq 'reverse'

[1,2,3,4]

=> [4,3,2,1]

contains(element)

The filter contains(b) will produce true if b is completely contained within the input. A string B is contained in a string A if B is a substring of A. An array B is contained in an array A if all elements in B are contained in any element in A. An object B is contained in object A if all of the values in B are contained in the value in A with the same key. All other types are assumed to be contained in each other if they are equal.

jq 'contains("bar")'

"foobar"

=> true

jq 'contains(["baz", "bar"])'

["foobar", "foobaz", "blarp"]

=> true

jq 'contains(["bazzzzz", "bar"])'

["foobar", "foobaz", "blarp"]

=> false

jq 'contains({foo: 12, bar: [{barp: 12}]})'

{"foo": 12, "bar":[1,2,{"barp":12, "blip":13}]}

=> true

jq 'contains({foo: 12, bar: [{barp: 15}]})'

{"foo": 12, "bar":[1,2,{"barp":12, "blip":13}]}

=> false

indices(s)

Outputs an array containing the indices in . where s occurs. The input may be an array, in which case if s is an array then the indices output will be those where all elements in . match those of s.

jq 'indices(", ")'

"a,b, cd, efg, hijk"

=> [3,7,12]

jq 'indices(1)'

[0,1,2,1,3,1,4]

=> [1,3,5]

jq 'indices([1,2])'

[0,1,2,3,1,4,2,5,1,2,6,7]

=> [1,8]

index(s), rindex(s)

Outputs the index of the first (index) or last (rindex) occurrence of s in the input.

jq 'index(", ")'

"a,b, cd, efg, hijk"

=> 3

jq 'rindex(", ")'

"a,b, cd, efg, hijk"

=> 12

inside

The filter inside(b) will produce true if the input is completely contained within b. It is, essentially, an inversed version of contains.

jq 'inside("foobar")'

"bar"

=> true

jq 'inside(["foobar", "foobaz", "blarp"])'

["baz", "bar"]

=> true

jq 'inside(["foobar", "foobaz", "blarp"])'

["bazzzzz", "bar"]

=> false

jq 'inside({"foo": 12, "bar":[1,2,{"barp":12, "blip":13}]})'

{"foo": 12, "bar": [{"barp": 12}]}

=> true

jq 'inside({"foo": 12, "bar":[1,2,{"barp":12, "blip":13}]})'

{"foo": 12, "bar": [{"barp": 15}]}

=> false

startswith(str)

Outputs true if . starts with the given string argument.

jq '[.[]|startswith("foo")]'

["fo", "foo", "barfoo", "foobar", "barfoob"]

=> [false, true, false, true, false]

endswith(str)

Outputs true if . ends with the given string argument.

jq '[.[]|endswith("foo")]'

["foobar", "barfoo"]

=> [false, true]

combinations, combinations(n)

Outputs all combinations of the elements of the arrays in the input array. If given an argument n, it outputs all combinations of n repetitions of the input array.

jq 'combinations'

[[1,2], [3, 4]]

=> [1, 3], [1, 4], [2, 3], [2, 4]

jq 'combinations(2)'

[0, 1]

=> [0, 0], [0, 1], [1, 0], [1, 1]

ltrimstr(str)

Outputs its input with the given prefix string removed, if it starts with it.

jq '[.[]|ltrimstr("foo")]'

["fo", "foo", "barfoo", "foobar", "afoo"]

=> ["fo","","barfoo","bar","afoo"]

rtrimstr(str)

Outputs its input with the given suffix string removed, if it ends with it.

jq '[.[]|rtrimstr("foo")]'

["fo", "foo", "barfoo", "foobar", "foob"]

=> ["fo","","bar","foobar","foob"]

explode

Converts an input string into an array of the string's codepoint numbers.

jq 'explode'

"foobar"

=> [102,111,111,98,97,114]

implode

The inverse of explode.

jq 'implode'

[65, 66, 67]

=> "ABC"

split

Splits an input string on the separator argument.

jq 'split(", ")'

"a, b,c,d, e, "

=> ["a","b,c,d","e",""]

join(str)

Joins the array of elements given as input, using the argument as separator. It is the inverse of split: that is, running split("foo") | join("foo") over any input string returns said input string.

jq 'join(", ")'

["a","b,c,d","e"]

=> "a, b,c,d, e"

ascii_downcase, ascii_upcase

Emit a copy of the input string with its alphabetic characters (a-z and A-Z) converted to the specified case.

while(cond; update)

The while(cond; update) function allows you to repeatedly apply an update to . until cond is false. Note that while(cond; update) is internally defined as a recursive jq function. Recursive calls within while will not consume additional memory if update produces at most one output for each input. See advanced topics below.

jq '[while(.<100; .*2)]'

1

=> [1,2,4,8,16,32,64]

until(cond; next)

The until(cond; next) function allows you to repeatedly apply the expression next, initially to . then to its own output, until cond is true. For example, this can be used to implement a factorial function (see below). Note that until(cond; next) is internally defined as a recursive jq function. Recursive calls within until() will not consume additional memory if next produces at most one output for each input. See advanced topics below.

jq '[.,1]|until(.[0] < 1; [.[0] - 1, .[1] * .[0]])|.[1]'

4

=> 24

recurse(f), recurse, recurse(f; condition), recurse_down

The recurse(f) function allows you to search through a recursive structure, and extract interesting data from all levels. Suppose your input represents a filesystem:

{"name": "/", "children": [

{"name": "/bin", "children": [

{"name": "/bin/ls", "children": []},

{"name": "/bin/sh", "children": []}]},

{"name": "/home", "children": [

{"name": "/home/stephen", "children": [

{"name": "/home/stephen/jq", "children": []}]}]}]}

Now suppose you want to extract all of the filenames present. You need to retrieve .name, .children[].name, .children[].children[].name, and so on. You can do this with:

recurse(.children[]) | .name

When called without an argument, recurse is equivalent to recurse(.[]?). recurse(f) is identical to recurse(f; . != null) and can be used without concerns about recursion depth. recurse(f; condition) is a generator which begins by emitting . and then emits in turn .|f, .|f|f, .|f|f|f, ... so long as the computed value satisfies the condition. For example, to generate all the integers, at least in principle, one could write recurse(.+1; true). For legacy reasons, recurse_down exists as an alias to calling recurse without arguments. This alias is considered deprecated and will be removed in the next major release. The recursive calls in recurse will not consume additional memory whenever f produces at most a single output for each input.

jq 'recurse(.foo[])'

{"foo":[{"foo": []}, {"foo":[{"foo":[]}]}]}

=> {"foo":[{"foo":[]},{"foo":[{"foo":[]}]}]}, {"foo":[]}, {"foo":[{"foo":[]}]}, {"foo":[]}

jq 'recurse'

{"a":0,"b":[1]}

=> {"a":0,"b":[1]}, 0, [1], 1

jq 'recurse(. * .; . < 20)'

2

=> 2, 4, 16

..

Short-hand for recurse without arguments. This is intended to resemble the XPath // operator. Note that ..a does not work; use ..|a instead. In the example below we use ..|.a? to find all the values of object keys "a" in any object found "below" ..

jq '..|.a?'

[[{"a":1}]]

=> 1

env

Outputs an object representing jq's environment.

jq 'env.PAGER'

null

=> "less"

transpose

Transpose a possibly jagged matrix (an array of arrays). Rows are padded with nulls so the result is always rectangular.

jq 'transpose'

[[1], [2,3]]

=> [[1,2],[null,3]]

bsearch(x)

bsearch(x) conducts a binary search for x in the input array. If the input is sorted and contains x, then bsearch(x) will return its index in the array; otherwise, if the array is sorted, it will return (-1 - ix) where ix is an insertion point such that the array would still be sorted after the insertion of x at ix. If the array is not sorted, bsearch(x) will return an integer that is probably of no interest.

jq 'bsearch(0)'

[0,1]

=> 0

jq 'bsearch(0)'

[1,2,3]

=> -1

jq 'bsearch(4) as $ix | if $ix < 0 then .[-(1+$ix)] = 4 else . end'

[1,2,3]

=> [1,2,3,4]

String interpolation - \(foo)

Inside a string, you can put an expression inside parens after a backslash. Whatever the expression returns will be interpolated into the string.

jq '"The input was \(.), which is one less than \(.+1)"'

42

=> "The input was 42, which is one less than 43"

Convert to/from JSON

The tojson and fromjson builtins dump values as JSON texts or parse JSON texts into values, respectively. The tojson builtin differs from tostring in that tostring returns strings unmodified, while tojson encodes strings as JSON strings.

jq '[.[]|tostring]'

[1, "foo", ["foo"]]

=> ["1","foo","[\"foo\"]"]

jq '[.[]|tojson]'

[1, "foo", ["foo"]]

=> ["1","\"foo\"","[\"foo\"]"]

jq '[.[]|tojson|fromjson]'

[1, "foo", ["foo"]]

=> [1,"foo",["foo"]]

Format strings and escaping

The @foo syntax is used to format and escape strings, which is useful for building URLs, documents in a language like HTML or XML, and so forth. @foo can be used as a filter on its own, the possible escapings are:

@text:

Calls tostring, see that function for details.

@json:

Serializes the input as JSON.

@html:

Applies HTML/XML escaping, by mapping the characters <>&'" to their entity equivalents &lt;, &gt;, &amp;, &apos;, &quot;.

@uri:

Applies percent-encoding, by mapping all reserved URI characters to a %XX sequence.

@csv:

The input must be an array, and it is rendered as CSV with double quotes for strings, and quotes escaped by repetition.

@tsv:

The input must be an array, and it is rendered as TSV (tab-separated values). Each input array will be printed as a single line. Fields are separated by a single tab (ascii 0x09). Input characters line-feed (ascii 0x0a), carriage-return (ascii 0x0d), tab (ascii 0x09) and backslash (ascii 0x5c) will be output as escape sequences \n, \r, \t, \\ respectively.

@sh:

The input is escaped suitable for use in a command-line for a POSIX shell. If the input is an array, the output will be a series of space-separated strings.

@base64:

The input is converted to base64 as specified by RFC 4648. This syntax can be combined with string interpolation in a useful way. You can follow a @foo token with a string literal. The contents of the string literal will not be escaped. However, all interpolations made inside that string literal will be escaped. For instance,

@uri "https://www.google.com/search?q=\(.search)"

will produce the following output for the input {"search":"what is jq?"}:

"https://www.google.com/search?q=what%20is%20jq%3F"

Note that the slashes, question mark, etc. in the URL are not escaped, as they were part of the string literal.

jq '@html'

"This works if x < y"

=> "This works if x &lt; y"

jq '@sh "echo \(.)"'

"O'Hara's Ale"

=> "echo 'O'\\''Hara'\\''s Ale'"

Dates

jq provides some basic date handling functionality, with some high-level and low-level builtins. In all cases these builtins deal exclusively with time in UTC. The fromdateiso8601 builtin parses datetimes in the ISO 8601 format to a number of seconds since the Unix epoch (1970-01-01T00:00:00Z). The todateiso8601 builtin does the inverse. The fromdate builtin parses datetime strings. Currently fromdate only supports ISO 8601 datetime strings, but in the future it will attempt to parse datetime strings in more formats. The todate builtin is an alias for todateiso8601. The now builtin outputs the current time, in seconds since the Unix epoch. Low-level jq interfaces to the C-library time functions are also provided: strptime, strftime, mktime, and gmtime. Refer to your host operating system's documentation for the format strings used by strptime and strftime. Note: these are not necessarily stable interfaces in jq, particularly as to their localization functionality. The gmtime builtin consumes a number of seconds since the Unix epoch and outputs a "broken down time" representation of time as an array of numbers representing (in this order): the year, the month (zero-based), the day of the month, the hour of the day, the minute of the hour, the second of the minute, the day of the week, and the day of the year -- all one-based unless otherwise stated. The mktime builtin consumes "broken down time" representations of time output by gmtime and strptime. The strptime(fmt) builtin parses input strings matching the fmt argument. The output is in the "broken down time" representation consumed by gmtime and output by mktime. The strftime(fmt) builtin formats a time with the given format. The format strings for strptime and strftime are described in typical C library documentation. The format string for ISO 8601 datetime is "%Y-%m-%dT%H:%M:%SZ". jq may not support some or all of this date functionality on some systems.

jq 'fromdate'

"2015-03-05T23:51:47Z"

=> 1425599507

jq 'strptime("%Y-%m-%dT%H:%M:%SZ")'

"2015-03-05T23:51:47Z"

=> [2015,2,5,23,51,47,4,63]

jq 'strptime("%Y-%m-%dT%H:%M:%SZ")|mktime'

"2015-03-05T23:51:47Z"

=> 1425599507

CONDITIONALS AND COMPARISONS

==, !=

The expression 'a == b' will produce 'true' if the result of a and b are equal (that is, if they represent equivalent JSON documents) and 'false' otherwise. In particular, strings are never considered equal to numbers. If you're coming from Javascript, jq's == is like Javascript's === - considering values equal only when they have the same type as well as the same value. != is "not equal", and 'a != b' returns the opposite value of 'a == b'

jq '.[] == 1'

[1, 1.0, "1", "banana"]

=> true, true, false, false

if-then-else

if A then B else C end will act the same as B if A produces a value other than false or null, but act the same as C otherwise. Checking for false or null is a simpler notion of "truthiness" than is found in Javascript or Python, but it means that you'll sometimes have to be more explicit about the condition you want: you can't test whether, e.g. a string is empty using if .name then A else B end, you'll need something more like if (.name | length) > 0 then A else B end instead. If the condition A produces multiple results, it is considered "true" if any of those results is not false or null. If it produces zero results, it's considered false. More cases can be added to an if using elif A then B syntax.

jq 'if . == 0 then

"zero" elif . == 1 then "one" else "many" end' 2 => "many"

>, >=, <=, <

The comparison operators >, >=, <=, < return whether their left argument is greater than, greater than or equal to, less than or equal to or less than their right argument (respectively). The ordering is the same as that described for sort, above.

jq '. < 5'

2

=> true

and/or/not

jq supports the normal Boolean operators and/or/not. They have the same standard of truth as if expressions - false and null are considered "false values", and anything else is a "true value". If an operand of one of these operators produces multiple results, the operator itself will produce a result for each input. not is in fact a builtin function rather than an operator, so it is called as a filter to which things can be piped rather than with special syntax, as in .foo and .bar | not. These three only produce the values "true" and "false", and so are only useful for genuine Boolean operations, rather than the common Perl/Python/Ruby idiom of "value_that_may_be_null or default". If you want to use this form of "or", picking between two values rather than evaluating a condition, see the "//" operator below.

jq '42 and "a string"'

null

=> true

jq '(true, false) or false'

null

=> true, false

jq '(true, true) and (true, false)'

null

=> true, false, true, false

jq '[true, false | not]'

null

=> [false, true]

Alternative operator - //

A filter of the form a // b produces the same results as a, if a produces results other than false and null. Otherwise, a // b produces the same results as b. This is useful for providing defaults: .foo // 1 will evaluate to 1 if there's no .foo element in the input. It's similar to how or is sometimes used in Python (jq's or operator is reserved for strictly Boolean operations).

jq '.foo // 42'

{"foo": 19}

=> 19

jq '.foo // 42'

{}

=> 42

try-catch

Errors can be caught by using try EXP catch EXP. The first expression is executed, and if it fails then the second is executed with the error message. The output of the handler, if any, is output as if it had been the output of the expression to try. The try EXP form uses empty as the exception handler.

jq 'try .a catch ". is not an object"'

true

=> ". is not an object"

jq '[.[]|try .a]'

[{}, true, {"a":1}]

=> [null, 1]

jq 'try error("some exception") catch .'

true

=> "some exception"

Breaking out of control structures

A convenient use of try/catch is to break out of control structures like reduce, foreach, while, and so on. For example:

# Repeat an expression until it raises "break" as an

# error, then stop repeating without re-raising the error.

# But if the error caught is not "break" then re-raise it.

try repeat(exp) catch .=="break" then empty else error;

jq has a syntax for named lexical labels to "break" or "go (back) to":

label $out | ... break $out ...

The break $label_name expression will cause the program to to act as though the nearest (to the left) label $label_name produced empty. The relationship between the break and corresponding label is lexical: the label has to be "visible" from the break. To break out of a reduce, for example:

label $out | reduce .[] as $item (null; if .==false then break $out else ... end)

The following jq program produces a syntax error:

break $out

because no label $out is visible.

? operator

The ? operator, used as EXP?, is shorthand for try EXP.

jq '[.[]|(.a)?]'

[{}, true, {"a":1}]

=> [null, 1]

REGULAR EXPRESSIONS (PCRE)

jq uses the Oniguruma regular expression library, as do php, ruby, TextMate, Sublime Text, etc, so the description here will focus on jq specifics. The jq regex filters are defined so that they can be used using one of these patterns:

STRING | FILTER( REGEX )

STRING | FILTER( REGEX; FLAGS )

STRING | FILTER( [REGEX] )

STRING | FILTER( [REGEX, FLAGS] )

where: * STRING, REGEX and FLAGS are jq strings and subject to jq string interpolation; * REGEX, after string interpolation, should be a valid PCRE regex; * FILTER is one of test, match, or capture, as described below. FLAGS is a string consisting of one of more of the supported flags:

*

g - Global search (find all matches, not just the first)

*

i - Case insensitive search

*

m - Multi line mode ('.' will match newlines)

*

n - Ignore empty matches

*

p - Both s and m modes are enabled

*

s - Single line mode ('^' -> '\A', '$' -> '\Z')

*

l - Find longest possible matches

*

x - Extended regex format (ignore whitespace and comments)

To match whitespace in an x pattern use an escape such as \s, e.g.

*

test( "a\sb", "x" ).

Note that certain flags may also be specified within REGEX, e.g.

*

jq -n '("test", "TEst", "teST", "TEST") | test( "(?i)te(?-i)st" )'

evaluates to: true, true, false, false.

[Requires 1.5] test(val), test(regex; flags)

Like match, but does not return match objects, only true or false for whether or not the regex matches the input.

jq 'test("foo")'

"foo"

=> true

jq '.[] | test("a b c # spaces are ignored"; "ix")'

["xabcd", "ABC"]

=> true, true

[Requires 1.5] match(val), match(regex; flags)

match outputs an object for each match it finds. Matches have the following fields:

*

offset - offset in UTF-8 codepoints from the beginning of the input

*

length - length in UTF-8 codepoints of the match

*

string - the string that it matched

*

captures - an array of objects representing capturing groups.

Capturing group objects have the following fields:

*

offset - offset in UTF-8 codepoints from the beginning of the input

*

length - length in UTF-8 codepoints of this capturing group

*

string - the string that was captured

*

name - the name of the capturing group (or null if it was unnamed)

Capturing groups that did not match anything return an offset of -1

jq 'match("(abc)+"; "g")'

"abc abc"

=> {"offset": 0, "length": 3, "string": "abc", "captures": [{"offset": 0, "length": 3, "string": "abc", "name": null}]}, {"offset": 4, "length": 3, "string": "abc", "captures": [{"offset": 4, "length": 3, "string": "abc", "name": null}]}

jq 'match("foo")'

"foo bar foo"

=> {"offset": 0, "length": 3, "string": "foo", "captures": []}

jq 'match(["foo", "ig"])'

"foo bar FOO"

=> {"offset": 0, "length": 3, "string": "foo", "captures": []}, {"offset": 8, "length": 3, "string": "FOO", "captures": []}

jq 'match("foo (?<bar123>bar)? foo"; "ig")'

"foo bar foo foo  foo"

=> {"offset": 0, "length": 11, "string": "foo bar foo", "captures": [{"offset": 4, "length": 3, "string": "bar", "name": "bar123"}]}, {"offset": 12, "length": 8, "string": "foo  foo", "captures": [{"offset": -1, "length": 0, "string": null, "name": "bar123"}]}

jq '[ match("."; "g")] | length'

"abc"

=> 3

[Requires 1.5] capture(val), capture(regex; flags)

Collects the named captures in a JSON object, with the name of each capture as the key, and the matched string as the corresponding value.

jq 'capture("(?<a>[a-z]+)-(?<n>[0-9]+)")'

"xyzzy-14"

=> { "a": "xyzzy", "n": "14" }

[Requires 1.5] scan(regex), scan(regex; flags)

Emit a stream of the non-overlapping substrings of the input that match the regex in accordance with the flags, if any have been specified. If there is no match, the stream is empty. To capture all the matches for each input string, use the idiom [ expr ], e.g. [ scan(regex) ].

split(regex; flags)

For backwards compatibility, split splits on a string, not a regex.

[Requires 1.5] splits(regex), splits(regex; flags)

These provide the same results as their split counterparts, but as a stream instead of an array.

[Requires 1.5] sub(regex; tostring) sub(regex; string; flags)

Emit the string obtained by replacing the first match of regex in the input string with tostring, after interpolation. tostring should be a jq string, and may contain references to named captures. The named captures are, in effect, presented as a JSON object (as constructed by capture) to tostring, so a reference to a captured variable named "x" would take the form: "(.x)".

[Requires 1.5] gsub(regex; string), gsub(regex; string; flags)

gsub is like sub but all the non-overlapping occurrences of the regex are replaced by the string, after interpolation.

ADVANCED FEATURES

Variables are an absolute necessity in most programming languages, but they're relegated to an "advanced feature" in jq. In most languages, variables are the only means of passing around data. If you calculate a value, and you want to use it more than once, you'll need to store it in a variable. To pass a value to another part of the program, you'll need that part of the program to define a variable (as a function parameter, object member, or whatever) in which to place the data. It is also possible to define functions in jq, although this is is a feature whose biggest use is defining jq's standard library (many jq functions such as map and find are in fact written in jq). jq has reduction operators, which are very powerful but a bit tricky. Again, these are mostly used internally, to define some useful bits of jq's standard library. It may not be obvious at first, but jq is all about generators (yes, as often found in other languages). Some utilities are provided to help deal with generators. Some minimal I/O support (besides reading JSON from standard input, and writing JSON to standard output) is available. Finally, there is a module/library system.

Variables

In jq, all filters have an input and an output, so manual plumbing is not necessary to pass a value from one part of a program to the next. Many expressions, for instance a + b, pass their input to two distinct subexpressions (here a and b are both passed the same input), so variables aren't usually necessary in order to use a value twice. For instance, calculating the average value of an array of numbers requires a few variables in most languages - at least one to hold the array, perhaps one for each element or for a loop counter. In jq, it's simply add / length - the add expression is given the array and produces its sum, and the length expression is given the array and produces its length. So, there's generally a cleaner way to solve most problems in jq than defining variables. Still, sometimes they do make things easier, so jq lets you define variables using expression as $variable. All variable names start with $. Here's a slightly uglier version of the array-averaging example:

length as $array_length | add / $array_length

We'll need a more complicated problem to find a situation where using variables actually makes our lives easier. Suppose we have an array of blog posts, with "author" and "title" fields, and another object which is used to map author usernames to real names. Our input looks like:

{"posts": [{"title": "Frist psot", "author": "anon"},

{"title": "A well-written article", "author": "person1"}],

"realnames": {"anon": "Anonymous Coward",

"person1": "Person McPherson"}}

We want to produce the posts with the author field containing a real name, as in:

{"title": "Frist psot", "author": "Anonymous Coward"}

{"title": "A well-written article", "author": "Person McPherson"}

We use a variable, $names, to store the realnames object, so that we can refer to it later when looking up author usernames:

.realnames as $names | .posts[] | {title, author: $names[.author]}

The expression exp as $x | ... means: for each value of expression exp, run the rest of the pipeline with the entire original input, and with $x set to that value. Thus as functions as something of a foreach loop. Just as {foo} is a handy way of writing {foo: .foo}, so {$foo} is a handy way of writing {foo:$foo}. Multiple variables may be declared using a single as expression by providing a pattern that matches the structure of the input (this is known as "destructuring"):

. as {realnames: $names, posts: [$first, $second]} | ...

The variable declarations in array patterns (e.g., . as [$first, $second]) bind to the elements of the array in from the element at index zero on up, in order. When there is no value at the index for an array pattern element, null is bound to that variable. Variables are scoped over the rest of the expression that defines them, so

.realnames as $names | (.posts[] | {title, author: $names[.author]})

will work, but

(.realnames as $names | .posts[]) | {title, author: $names[.author]}

won't. For programming language theorists, it's more accurate to say that jq variables are lexically-scoped bindings. In particular there's no way to change the value of a binding; one can only setup a new binding with the same name, but which will not be visible where the old one was.

jq '.bar as $x | .foo | . + $x'

{"foo":10, "bar":200}

=> 210

jq '. as $i|[(.*2|. as $i| $i), $i]'

5

=> [10,5]

jq '. as [$a, $b, {c: $c}] | $a + $b + $c'

[2, 3, {"c": 4, "d": 5}]

=> 9

jq '.[] as [$a, $b] | {a: $a, b: $b}'

[[0], [0, 1], [2, 1, 0]]

=> {"a":0,"b":null}, {"a":0,"b":1}, {"a":2,"b":1}

Defining Functions

You can give a filter a name using "def" syntax:

def increment: . + 1;

From then on, increment is usable as a filter just like a builtin function (in fact, this is how some of the builtins are defined). A function may take arguments:

def map(f): [.[] | f];

Arguments are passed as filters, not as values. The same argument may be referenced multiple times with different inputs (here f is run for each element of the input array). Arguments to a function work more like callbacks than like value arguments. This is important to understand. Consider:

def foo(f): f|f;

5|foo(.*2)

The result will be 20 because f is .*2, and during the first invocation of f . will be 5, and the second time it will be 10 (5 * 2), so the result will be 20. Function arguments are filters, and filters expect an input when invoked. If you want the value-argument behaviour for defining simple functions, you can just use a variable:

def addvalue(f): f as $f | map(. + $f);

Or use the short-hand:

def addvalue($f): ...;

With either definition, addvalue(.foo) will add the current input's .foo field to each element of the array. Multiple definitions using the same function name are allowed. Each re-definition replaces the previous one for the same number of function arguments, but only for references from functions (or main program) subsequent to the re-definition.

jq 'def addvalue(f): . + [f]; map(addvalue(.[0]))'

[[1,2],[10,20]]

=> [[1,2,1], [10,20,10]]

jq 'def addvalue(f): f as $x | map(. + $x); addvalue(.[0])'

[[1,2],[10,20]]

=> [[1,2,1,2], [10,20,1,2]]

Reduce

The reduce syntax in jq allows you to combine all of the results of an expression by accumulating them into a single answer. As an example, we'll pass [3,2,1] to this expression:

reduce .[] as $item (0; . + $item)

For each result that .[] produces, . + $item is run to accumulate a running total, starting from 0. In this example, .[] produces the results 3, 2, and 1, so the effect is similar to running something like this:

0 | (3 as $item | . + $item) |

(2 as $item | . + $item) |

(1 as $item | . + $item)

jq 'reduce .[] as $item (0; . + $item)'

[10,2,5,3]

=> 20

limit(n; exp)

The limit function extracts up to n outputs from exp.

jq '[limit(3;.[])]'

[0,1,2,3,4,5,6,7,8,9]

=> [0,1,2]

first(expr), last(expr), nth(n; expr)

The first(expr) and last(expr) functions extract the first and last values from expr, respectively. The nth(n; expr) function extracts the nth value output by expr. This can be defined as def nth(n; expr): last(limit(n + 1; expr));. Note that nth(n; expr) doesn't support negative values of n.

jq '[first(range(.)), last(range(.)), nth(./2; range(.))]'

10

=> [0,9,5]

first, last, nth(n)

The first and last functions extract the first and last values from any array at .. The nth(n) function extracts the nth value of any array at ..

jq '[range(.)]|[first, last, nth(5)]'

10

=> [0,9,5]

foreach

The foreach syntax is similar to reduce, but intended to allow the construction of limit and reducers that produce intermediate results (see example). The form is foreach EXP as $var (INIT; UPDATE; EXTRACT). Like reduce, INIT is evaluated once to produce a state value, then each output of EXP is bound to $var, UPDATE is evaluated for each output of EXP with the current state and with $var visible. Each value output by UPDATE replaces the previous state. Finally, EXTRACT is evaluated for each new state to extract an output of foreach. This is mostly useful only for constructing reduce- and limit-like functions. But it is much more general, as it allows for partial reductions (see the example below).

jq '[foreach .[] as $item ([[],[]]; if $item == null then [[],.[0]] else [(.[0] + [$item]),[]] end; if $item == null then .[1] else empty end)]'

[1,2,3,4,null,"a","b",null]

=> [[1,2,3,4],["a","b"]]

Recursion

As described above, recurse uses recursion, and any jq function can be recursive. The while builtin is also implemented in terms of recursion. Tail calls are optimized whenever the expression to the left of the recursive call outputs its last value. In practice this means that the expression to the left of the recursive call should not produce more than one output for each input. For example:

def recurse(f): def r: ., (f | select(. != null) | r); r;

def while(cond; update):

def _while:

if cond then ., (update | _while) else empty end;

_while;

def repeat(exp):

def _repeat:

exp, _repeat;

_repeat;

Generators and iterators

Some jq operators and functions are actually generators in that they can produce zero, one, or more values for each input, just as one might expect in other programming languages that have generators. For example, .[] generates all the values in its input (which must be an array or an object), range(0; 10) generates the integers between 0 and 10, and so on. Even the comma operator is a generator, generating first the values generated by the expression to the left of the comma, then for each of those, the values generate by the expression on the right of the comma. The empty builtin is the generator that produces zero outputs. The empty builtin backtracks to the preceding generator expression. All jq functions can be generators just by using builtin generators. It is also possible to define new generators using only recursion and the comma operator. If the recursive call(s) is(are) "in tail position" then the generator will be efficient. In the example below the recursive call by _range to itself is in tail position. The example shows off three advanced topics: tail recursion, generator construction, and sub-functions.

jq 'def range(init; upto; by): def _range: if (by > 0 and . < upto) or (by < 0 and . > upto) then ., ((.+by)|_range) else . end; if by == 0 then init else init|_range end | select((by > 0 and . < upto) or (by < 0 and . > upto)); range(0; 10; 3)'

null

=> 0, 3, 6, 9

jq 'def while(cond; update): def _while: if cond then ., (update | _while) else empty end; _while; [while(.<100; .*2)]'

1

=> [1,2,4,8,16,32,64]

MATH

jq currently only has IEEE754 double-precision (64-bit) floating point number support. Besides simple arithmetic operators such as +, jq also has most standard math functions from the C math library. C math functions that take a single input argument (e.g., sin()) are available as zero-argument jq functions. C math functions that take two input arguments (e.g., pow()) are available as two-argument jq functions that ignore .. Availability of standard math functions depends on the availability of the corresponding math functions in your operating system and C math library. Unavailable math functions will be defined but will raise an error.

I/O

At this time jq has minimal support for I/O, mostly in the form of control over when inputs are read. Two builtins functions are provided for this, input and inputs, that read from the same sources (e.g., stdin, files named on the command-line) as jq itself. These two builtins, and jq's own reading actions, can be interleaved with each other. One builtin provides minimal output capabilities, debug. (Recall that a jq program's output values are always output as JSON texts on stdout.) The debug builtin can have application-specific behavior, such as for executables that use the libjq C API but aren't the jq executable itself.

input

Outputs one new input.

inputs

Outputs all remaining inputs, one by one. This is primarily useful for reductions over a program's inputs.

debug

Causes a debug message based on the input value to be produced. The jq executable wraps the input value with ["DEBUG:", <input-value>] and prints that and a newline on stderr, compactly. This may change in the future.

input_filename

Returns the name of the file whose input is currently being filtered. Note that this will not work well unless jq is running in a UTF-8 locale.

input_line_number

Returns the line number of the input currently being filtered.

STREAMING

With the --stream option jq can parse input texts in a streaming fashion, allowing jq programs to start processing large JSON texts immediately rather than after the parse completes. If you have a single JSON text that is 1GB in size, streaming it will allow you to process it much more quickly. However, streaming isn't easy to deal with as the jq program will have [<path>, <leaf-value>] (and a few other forms) as inputs. Several builtins are provided to make handling streams easier. The examples below use the the streamed form of [0,[1]], which is [[0],0],[[1,0],1],[[1,0]],[[1]]. Streaming forms include [<path>, <leaf-value>] (to indicate any scalar value, empty array, or empty object), and [<path>] (to indicate the end of an array or object). Future versions of jq run with --stream and -seq may output additional forms such as ["error message"] when an input text fails to parse.

truncate_stream(stream_expression)

Consumes a number as input and truncates the corresponding number of path elements from the left of the outputs of the given streaming expression.

jq '[1|truncate_stream([[0],1],[[1,0],2],[[1,0]],[[1]])]'

1

=> [[[0],2],[[0]]]

fromstream(stream_expression)

Outputs values corresponding to the stream expression's outputs.

jq 'fromstream(1|truncate_stream([[0],1],[[1,0],2],[[1,0]],[[1]]))'

null

=> [2]

tostream

The tostream builtin outputs the streamed form of its input.

jq '. as $dot|fromstream($dot|tostream)|.==$dot'

[0,[1,{"a":1},{"b":2}]]

=> true

ASSIGNMENT

Assignment works a little differently in jq than in most programming languages. jq doesn't distinguish between references to and copies of something - two objects or arrays are either equal or not equal, without any further notion of being "the same object" or "not the same object". If an object has two fields which are arrays, .foo and .bar, and you append something to .foo, then .bar will not get bigger. Even if you've just set .bar = .foo. If you're used to programming in languages like Python, Java, Ruby, Javascript, etc. then you can think of it as though jq does a full deep copy of every object before it does the assignment (for performance, it doesn't actually do that, but that's the general idea). All the assignment operators in jq have path expressions on the left-hand side.

=

The filter .foo = 1 will take as input an object and produce as output an object with the "foo" field set to 1. There is no notion of "modifying" or "changing" something in jq - all jq values are immutable. For instance, .foo = .bar | .foo.baz = 1 will not have the side-effect of setting .bar.baz to be set to 1, as the similar-looking program in Javascript, Python, Ruby or other languages would. Unlike these languages (but like Haskell and some other functional languages), there is no notion of two arrays or objects being "the same array" or "the same object". They can be equal, or not equal, but if we change one of them in no circumstances will the other change behind our backs. This means that it's impossible to build circular values in jq (such as an array whose first element is itself). This is quite intentional, and ensures that anything a jq program can produce can be represented in JSON. Note that the left-hand side of '=' refers to a value in .. Thus $var.foo = 1 won't work as expected ($var.foo is not a valid or useful path expression in .); use $var | .foo = 1 instead. If the right-hand side of '=' produces multiple values, then for each such value jq will set the paths on the left-hand side to the value and then it will output the modified .. For example, (.a,.b)=range(2) outputs {"a":0,"b":0}, then {"a":1,"b":1}. The "update" assignment forms (see below) do not do this. Note too that .a,.b=0 does not set .a and .b, but (.a,.b)=0 sets both.

|=

As well as the assignment operator '=', jq provides the "update" operator '|=', which takes a filter on the right-hand side and works out the new value for the property of . being assigned to by running the old value through this expression. For instance, .foo |= .+1 will build an object with the "foo" field set to the input's "foo" plus 1. This example should show the difference between '=' and '|=': Provide input '{"a": {"b": 10}, "b": 20}' to the programs: .a = .b .a |= .b The former will set the "a" field of the input to the "b" field of the input, and produce the output {"a": 20}. The latter will set the "a" field of the input to the "a" field's "b" field, producing {"a": 10}. The left-hand side can be any general path expression; see path(). Note that the left-hand side of '|=' refers to a value in .. Thus $var.foo |= . + 1 won't work as expected ($var.foo is not a valid or useful path expression in .); use $var | .foo |= . + 1 instead. If the right-hand side outputs multiple values, only the last one will be used.

jq '(..|select(type=="boolean")) |= if . then 1 else 0 end'

[true,false,[5,true,[true,[false]],false]]

=> [1,0,[5,1,[1,[0]],0]]

+=, -=, *=, /=, %=, //=

jq has a few operators of the form a op= b, which are all equivalent to a |= . op b. So, += 1 can be used to increment values.

jq '.foo += 1'

{"foo": 42}

=> {"foo": 43}

Complex assignments

Lots more things are allowed on the left-hand side of a jq assignment than in most languages. We've already seen simple field accesses on the left hand side, and it's no surprise that array accesses work just as well:

.posts[0].title = "JQ Manual"

What may come as a surprise is that the expression on the left may produce multiple results, referring to different points in the input document:

.posts[].comments |= . + ["this is great"]

That example appends the string "this is great" to the "comments" array of each post in the input (where the input is an object with a field "posts" which is an array of posts). When jq encounters an assignment like 'a = b', it records the "path" taken to select a part of the input document while executing a. This path is then used to find which part of the input to change while executing the assignment. Any filter may be used on the left-hand side of an equals - whichever paths it selects from the input will be where the assignment is performed. This is a very powerful operation. Suppose we wanted to add a comment to blog posts, using the same "blog" input above. This time, we only want to comment on the posts written by "stedolan". We can find those posts using the "select" function described earlier:

.posts[] | select(.author == "stedolan")

The paths provided by this operation point to each of the posts that "stedolan" wrote, and we can comment on each of them in the same way that we did before:

(.posts[] | select(.author == "stedolan") | .comments) |=

. + ["terrible."]

MODULES

jq has a library/module system. Modules are files whose names end in .jq. Modules imported by a program are searched for in a default search path (see below). The import and include directives allow the importer to alter this path. Paths in the a search path are subject to various substitutions. For paths starting with "~/", the user's home directory is substituted for "~". For paths starting with "$ORIGIN/", the path of the jq executable is substituted for "$ORIGIN". For paths starting with "./" or paths that are ".", the path of the including file is substituted for ".". For top-level programs given on the command-line, the current directory is used. Import directives can optionally specify a search path to which the default is appended. The default search path is the search path given to the -L command-line option, else ["~/.jq", "$ORIGIN/../lib/jq", "$ORIGIN/../lib"]. Null and empty string path elements terminate search path processing. A dependency with relative path "foo/bar" would be searched for in "foo/bar.jq" and "foo/bar/bar.jq" in the given search path. This is intended to allow modules to be placed in a directory along with, for example, version control files, README files, and so on, but also to allow for single-file modules. Consecutive components with the same name are not allowed to avoid ambiguities (e.g., "foo/foo"). For example, with -L$HOME/.jq a module foo can be found in $HOME/.jq/foo.jq and $HOME/.jq/foo/foo.jq. If "$HOME/.jq" is a file, it is sourced into the main program.

import RelativePathString as NAME [<metadata>];

Imports a module found at the given path relative to a directory in a search path. A ".jq" suffix will be added to the relative path string. The module's symbols are prefixed with "NAME::". The optional metadata must be a constant jq expression. It should be an object with keys like "homepage" and so on. At this time jq only uses the "search" key/value of the metadata. The metadata is also made available to users via the modulemeta builtin. The "search" key in the metadata, if present, should have a string or array value (array of strings); this is the search path to be prefixed to the top-level search path.

include RelativePathString [<metadata>];

Imports a module found at the given path relative to a directory in a search path as if it were included in place. A ".jq" suffix will be added to the relative path string. The module's symbols are imported into the caller's namespace as if the module's content had been included directly. The optional metadata must be a constant jq expression. It should be an object with keys like "homepage" and so on. At this time jq only uses the "search" key/value of the metadata. The metadata is also made available to users via the modulemeta builtin.

import RelativePathString as $NAME [<metadata>];

Imports a JSON file found at the given path relative to a directory in a search path. A ".json" suffix will be added to the relative path string. The file's data will be available as $NAME::NAME. The optional metadata must be a constant jq expression. It should be an object with keys like "homepage" and so on. At this time jq only uses the "search" key/value of the metadata. The metadata is also made available to users via the modulemeta builtin. The "search" key in the metadata, if present, should have a string or array value (array of strings); this is the search path to be prefixed to the top-level search path.

module <metadata>;

This directive is entirely optional. It's not required for proper operation. It serves only the purpose of providing metadata that can be read with the modulemeta builtin. The metadata must be a constant jq expression. It should be an object with keys like "homepage". At this time jq doesn't use this metadata, but it is made available to users via the modulemeta builtin.

modulemeta

Takes a module name as input and outputs the module's metadata as an object, with the module's imports (including metadata) as an array value for the "deps" key. Programs can use this to query a module's metadata, which they could then use to, for example, search for, download, and install missing dependencies.

BUGS

Presumably. Report them or discuss them at:

https://github.com/stedolan/jq/issues

AUTHOR

Stephen Dolan <mu@netsoc.tcd.ie>

NAME SYNOPSIS FILTERS INVOKING JQ BASIC FILTERS . .foo, .foo.bar .foo? .[<string>], .[2], .[10:15] .[] .[]? , | TYPES AND VALUES Array construction - [] Objects - {} BUILTIN OPERATORS AND FUNCTIONS Addition - + Subtraction - - Multiplication, division, modulo - *, /, and % length keys, keys_unsorted has(key) in path(path_expression) del(path_expression) to_entries, from_entries, with_entries select(boolean_expression) arrays, objects, iterables, booleans, numbers, normals, finites, strings, nulls, values, scalars empty error(message) $__loc__ map(x), map_values(x) paths, paths(node_filter), leaf_paths add any, any(condition), any(generator; condition) all, all(condition), all(generator; condition) [Requires 1.5] flatten, flatten(depth) range(upto), range(from;upto) range(from;upto;by) floor sqrt tonumber tostring type infinite, nan, isinfinite, isnan, isfinite, isnormal sort, sort_by(path_expression) group_by(path_expression) min, max, min_by(path_exp), max_by(path_exp) unique, unique_by(path_exp) reverse contains(element) indices(s) index(s), rindex(s) inside startswith(str) endswith(str) combinations, combinations(n) ltrimstr(str) rtrimstr(str) explode implode split join(str) ascii_downcase, ascii_upcase while(cond; update) until(cond; next) recurse(f), recurse, recurse(f; condition), recurse_down .. env transpose bsearch(x) String interpolation - \(foo) Convert to/from JSON Format strings and escaping Dates CONDITIONALS AND COMPARISONS ==, != if-then-else >, >=, <=, < and/or/not Alternative operator - // try-catch Breaking out of control structures ? operator REGULAR EXPRESSIONS (PCRE) [Requires 1.5] test(val), test(regex; flags) [Requires 1.5] match(val), match(regex; flags) [Requires 1.5] capture(val), capture(regex; flags) [Requires 1.5] scan(regex), scan(regex; flags) split(regex; flags) [Requires 1.5] splits(regex), splits(regex; flags) [Requires 1.5] sub(regex; tostring) sub(regex; string; flags) [Requires 1.5] gsub(regex; string), gsub(regex; string; flags) ADVANCED FEATURES Variables Defining Functions Reduce limit(n; exp) first(expr), last(expr), nth(n; expr) first, last, nth(n) foreach Recursion Generators and iterators MATH I/O input inputs debug input_filename input_line_number STREAMING truncate_stream(stream_expression) fromstream(stream_expression) tostream ASSIGNMENT = |= +=, -=, *=, /=, %=, //= Complex assignments MODULES import RelativePathString as NAME [<metadata>]; include RelativePathString [<metadata>]; import RelativePathString as $NAME [<metadata>]; module <metadata>; modulemeta BUGS AUTHOR

This document was created by man2html using the manual pages.

Time: 16:33:37 GMT, September 14, 2024

xml2json

TOC Index

NAME

SYNOPSIS

WA2LWinTools/lib/xml2json file.xml

xml2json < file.xml

AVAILABILITY

WA2L/WinTools

DESCRIPTION

Command line XML to JSON converter.

xml2json is command line tool for converting data from XML schema to JSON.

OPTIONS

file.xml

the XML file to be converted to JSON.

ENVIRONMENT

-

EXIT STATUS

0

no error.

1

error.

FILES

-

EXAMPLES

-

SEE ALSO

wintoolsintro(1), jq(3), xml2csv(3), http://github.com/Cheedoong/xml2json/

NOTES

-

BUGS

-

AUTHOR

xml2json was developed by Cheedoong (http://github.com/Cheedoong/xml2json/) and integrated into WA2L/WinTools by Christian Walther. Send suggestions and bug reports regarding to the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2021 by Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:33:25 GMT, September 14, 2024

xml2csv

TOC Index

NAME

SYNOPSIS

WA2LWinTools/lib/xml2csv [ -h ]

xml2csv [ { -l fieldname | -k fieldlist | -i fieldlist | -e emptydata | -s separator } ] ( sourcefile | URL ) destinationfile

AVAILABILITY

WA2L/WinTools

DESCRIPTION

Command line XML to CSV converter.

xml2csv is command line tool for converting data from XML schema to CSV. The tool has many command line options. The software is platform independent and was written in Java language.

Features:

-

Converts XML schema to CSV file

-

Can deal with filenames and urls

-

Automatically detects loops (repeated elements) in XML used for splitting data to rows

-

Allows to override name of the loop/repeated field

-

Allows to keep only specific tags/fields

-

Allows to ignore specific tags/fields

-

Allows to set values for empty data and CSV separator

-

Supports distinct option

-

Platform Independent

OPTIONS

-h

usage message.

-l fieldname

set the name of the field that repeats in XML schema.

-k fieldlist

comma separated list of fields to be kept.

-i fieldlist

comma separated list of fields to be ignored.

-e emptydata

data to be used for empty fields.

-s separator

field separator in CSV file.

sourcefile | URL

file or url to read the XML data from.

destinationfile

CSV file to write the data to.

ENVIRONMENT

-

EXIT STATUS

0

always.

FILES

-

EXAMPLES

Example usage of the xml2csv command:

xml2csv -l field -i city,country -d -s "," data.xml data.csv

xml2csv -k "name, surname" data.xml data.csv

xml2csv http://www.example.com/data.xml data.csv

xml2csv data.xml data.csv

SEE ALSO

wintoolsintro(1), print_list(3), select_columns(3), xml2json(3), https://code.google.com/archive/p/xml2csv-conv

NOTES

parts of the documentation are extracted from the commands usage message and the authors web page (https://code.google.com/archive/p/xml2csv-conv) and were integrated into WA2L/WinTools.

BUGS

-

AUTHOR

xml2csv-conv was developed by an unknown author (https://code.google.com/archive/p/xml2csv-conv) and integrated as xml2csv into WA2L/WinTools by Christian Walther. Send suggestions and bug reports regarding to the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2021 by Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:33:25 GMT, September 14, 2024

csv2worksheet

TOC Index

NAME

csv2worksheet - load CSV file into Excel Worksheet

SYNOPSIS

WA2LWinTools/lib/csv2worksheet [ -h ]

csv2worksheet [ -f filename ] [ { -e | -n } sheet ] [ -d deliminator ] [ -o [ col ] , [ row ] ] [ -s cols ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

With the csv2worksheet command a CSV file (comma separated ASCII file) can be loaded into an existing Microsoft Excel (TM) .xlsx spreadsheet.

An Excel spreadsheet, also known as workbook, consists of one or more sheets, also known as worksheets. This worksheets are represented as named tabs in a workbook. With csv2worksheet it is possible to load a file that is structured into rows and the rows consist of fields separated by a deliminator into a worksheet. The row field separator defaults to ; but can be specified with the -d option.

This is an easy method to automatically create "nice looking" Excel reports based on plain ASCII data without the need to create Excel makros or to develop hard to maintain programs that create the whole Excel sheet on the fly. The idea is to load the data into a separate "data" worksheet and to perform the calculations, graphical data representation, statistics etc. in an other worksheet in the same Excel workbook which is not affected by the data load.

The advantage of this method is, that reports can be generated automatically without manual intervention (except the generation of the initial Excel sheet) even on non Windows systems, such as Unix or Linux.

It is possible to specify the name on an existing worksheet or to create a new worksheet while loading the data, dependent on your requirements.

However, the csv2worksheet command cannot overwrite existing data in a worksheet.

The origin of the data load can be specified. This does mean that data does not need to be loaded into a worksheet starting in cell A:1, a different cell can be specified. This enables the user to load multiple CSV data into the same worksheet as long as the data is loaded into ascending areas of an empty worksheet range.

OPTIONS

-h

usage message.

-f filename

Excel file where the CSV data should be loaded into. This file has to be writable by the user invoking csv2worksheet. Be aware, that csv2worksheet alters the data in the Excel file specified in the -f option and does not create a copy of the file. Therefore you should keep your original template in a safe place. A good practice is to copy the original Excel file first and then to load the data. If you do not specify a file with the -f filename option, the file io.xlsx is used as a default.

-e existing_worksheet_name

load the CSV data into the existing worksheet with the name specified. If the worksheet does not exist in the workbook, csv2worksheet does exit without loading any data. If you neither specify a file with the -e nor the -n option, csv2worksheet tries to load the data into the existing DATA worksheet, that is therefore the default.

-n new_worksheet_name

load the CSV data into a worksheet with the name specified. If the worksheet does not exist currently, it is created at the end of the already existing worksheets.

-d deliminator

deliminator that separates the fields of a row. The deliminator is not restricted to a single character, but spaces or tabulators are not allowed. The default deliminator is ; if this option is not specified.

-o column_number,row_number

column number and row number where to start the load of the CSV data into the worksheet. If this option is not specified, the data is loaded starting at column 1,1, that means the upper left corner of the data loaded is in cell A:1.

The following examples are allowed specifications: -o 3,8 (start at cell C:8), -o ,8 (start at cell A:8), -o 3, (start at cell C:1), -o , (start at cell A:1).

-s column_list

comma separated list of source column numbers that should be loaded explicitly as text.

The normal behaviour of csv2worksheet is, that whenever a number is recognized in the input, it is loaded as a floating point value while all other data is loaded as text. See also NOTES section.

If you specify -s 0 all columns will be loaded as text.

EXIT STATUS

0

no error.

1

the specified worksheet in the workbook could not be opened or created.

2

Excel file is not writable by the user invoking csv2worksheet or it does not exist.

4

usage displayed.

5

version displayed.

6

cannot load data. Ensure the worksheet range where to load the data is empty.

FILES

WA2LWinTools/lib/csv2worksheet.xlsx

Empty Microsoft Excel workbook. This workbook contains the worksheets Sheet1 , Sheet2 , Sheet3 and DATA and can be used as a template to load data into.

EXAMPLES

1) load data into an existing worksheet

Load file data.csv into the existing worksheet 'current' of file statistics.xlsx

[ h:\dat\exports ]

[ fred@acme007 ][*wtshell*/cmd]: type data.csv | ^

csv2worksheet -f statistics.xlsx ^

-e current

csv2worksheet - load a CSV file into an Excel sheet, by Chr. Walther

load data ...

sheet 'statistics.xlsx/current' opened.

load origin is '1,1'.

data deliminator is ';'.

explicit text columns are ''.

load rows ...

1     ....................................(36)

2     ....................................(36)

3     ....................................(36)

4     ....................................(36)

5     ...............(15)

6     ....................................(36)

7     ....................................(36)

8     ....................................(36)

9     .............................(29)

10    ....................................(36)

done.

done.

2) load data into a new worksheet using input redirection

Load file data.csv into the new worksheet 'Date=01.08.2019' of file statistics.xlsx starting in cell C:5 using 'input redirection' instead of a pipe

[ h:\dat\exports ]

[ fred@acme007 ][*wtshell*/cmd]: csv2worksheet < data.csv ^

-f statistics.xlsx ^

-n Date=%DATE% -o 3,5

csv2worksheet - load a CSV file into an Excel sheet, by Chr. Walther

load data ...

sheet 'statistics.xlsx/Date=01.08.2019' created.

load origin is '3,5'.

data deliminator is ';'.

explicit text columns are ''.

load rows ...

5     ....................................(36)

6     ....................................(36)

7     ....................................(36)

8     ....................................(36)

9     ...............(15)

10    ....................................(36)

11    ....................................(36)

12    ....................................(36)

13    .............................(29)

14    ....................................(36)

done.

done.

3) load data into existing worksheet using in here

Load data into the existing worksheet 'DATA' of file io.xlsx using the 'in here' mechanism

[ h:\dat\exports ]

[ fred@acme007 ][*wtshell*/cmd]: echo NAME;MIN;MAX^

More?

More? alpha;100;200^

More?

More? bravo;150;250^

More?

More? charly;155;400 | csv2worksheet

csv2worksheet - load a CSV file into an Excel sheet, by Chr. Walther

load data ...

sheet 'io.xlsx/DATA' opened.

load origin is '1,1'.

data deliminator is ';'.

explicit text columns are ''.

load rows ...

1     ...(3)

2     ...(3)

3     ...(3)

4     ...(3)

done.

done.

4) set a single cell of existing worksheet

Set a single cell ( E:20 ) of an existing worksheet 'DATA' of file io.xlsx

[ h:\dat\exports ]

[ fred@acme007 ][*wtshell*/cmd]: echo Load at: %DATE% | ^

csv2worksheet -o 5,20

csv2worksheet - load a CSV file into an Excel sheet, by Chr. Walther

load data ...

sheet 'io.xlsx/DATA' opened.

load origin is '5,20'.

data deliminator is ';'.

explicit text columns are ''.

load rows ...

20    .(1)

done.

done.

5) explicitly load certain columns as text

Load data into the existing worksheet 'DATA' of file io.xlsx using the 'in here' mechanism and explicitly load the columns 4 and 5 (of the input) as text into the worksheet.

[ h:\dat\exports ]

[ fred@acme007 ][*wtshell*/cmd]: type b.csv

NAME;MIN;MAX;SERIAL;PHONE

alpha;100;200;2009063009250001;080007121941

bravo;150;250;2009063009250002;080006061944

charly;155;400;2009063009250003;080020071969

[ h:\dat\exports ]

[ fred@acme007 ][*wtshell*/cmd]: type b.csv | csv2worksheet -s 4,5

csv2worksheet - load a CSV file into an Excel sheet, by Chr. Walther

load data ...

sheet 'io.xlsx/DATA' opened.

load origin is '1,1'.

data deliminator is ';'.

explicit text columns are '4,5'.

load rows ...

1     .....(3)

2     .....(3)

3     .....(3)

4     .....(3)

done.

done.

SEE ALSO

wintoolsintro(1), java.cfg(4), softwarelist(1), Microsoft Excel Help, https://portableapps.com/apps/utilities/java_portable

NOTES

If the field in the CSV file is recognized as a number, it is loaded into the worksheet as a "double" floating point value (+/-1.79769313486231570 * 10^308). Otherwise it is loaded as a text (string) value.

csv2worksheet uses "Jakarta POI - Java API To Access Microsoft Format Files " of the Apache Jakarta project. See http://jakarta.apache.org/poi/ for more information about the progress of the implementation.

BUGS

Beginning with version 1.1.11 of 2022, the csv2worksheet command does no longer support the since 2006 supported old *.xls file format. This for the sake of being now able to process very large worksheet files without memory and performance problems.

Therefore if still jobs are present that operate with *.xls files, convert this files to *.xlsx.

AUTHOR

csv2worksheet was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2022 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:31:57 GMT, September 14, 2024

java.cfg

TOC Index

NAME

java.cfg - configuration file for commands using java

SYNOPSIS

WA2LWinTools/etc/java.cfg

AVAILABILITY

WA2L/WinTools

DESCRIPTION

This is the optional configuration file for the all commands using java to run.

Java is not distributed with WA2L/WinTools but can be downloaded for example as portable version from: https://portableapps.com/apps/utilities/java_portable.

FILEFORMAT

Rows starting with # are considered as comments.

The file format is OPTION=VALUE

Between the OPTION , the = and the VALUE are no spaces.

You can comment out any OPTION or completely remove the related setting line to use the default settings.

OPTIONS

JAVA_PATH

The JAVA_PATH can be specified as a semicolon (;) separated list of directories if there are more possibilities to find the java.exe command on the system(s).

The path specified in JAVA_PATH=path is pre-pended to the to the default JAVA_PATH setting and the system %PATH% variable.

Example: JAVA_PATH=%ProgramFiles%\Java\jre1.8.0_192\bin;%ProgramFiles(x86)%\Java\jre1.8.0_192\bin

Default: JAVA_PATH=%INSTALLDIR%\..\Java\bin;%INSTALLDRIVE%:\bin\Java\bin

EXAMPLES

1) Simple example configuration file

#

# java.cfg - Configuration file for java

#

# [00] 12.03.2019 CWa   Initial Version

#

JAVA_PATH=%INSTALLDRIVE%:\bin\JavaPortable\bin;%ProgramFiles%\Java\jre1.8.0_192\bin;%ProgramFiles(x86)%\Java\jre1.8.0_192\bin

SEE ALSO

wintoolsintro(1), java(1), https://portableapps.com/apps/utilities/java_portable

NOTES

-

BUGS

-

AUTHOR

java.cfg was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION FILEFORMAT OPTIONS EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:12 GMT, September 14, 2024

inststats

TOC Index

NAME

inststats - print installation history

SYNOPSIS

WA2LWinTools/lib/inststats [ -h | -V ]

inststats [ lines ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

the inststats command prints statistics of the installation/update history of the WA2L/WinTools package.

OPTIONS

-h

help message.

-V

print program version.

lines

number of lines of last installations to be listed.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage printed.

5

version printed.

FILES

lib/install.dat

record of the installation and all WA2L/WinTools package updates.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), instverify(3), wintoolsdownload(1m), wintoolsrevisionnotifier(1m)

NOTES

-

BUGS

-

AUTHOR

inststats was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2022 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:10 GMT, September 14, 2024

instverify

TOC Index

NAME

instverify - verify package installation

SYNOPSIS

WA2LWinTools/lib/instverify [ -h | -V ]

instverify [ -v ][ -n ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

with the instverify command it can be verified that all files of the WA2L/WinTools package are installed and are unchanged. Therefore it can be checked if the installation is complete and correct.

The verification is done thru checking the MD5 checksum of each installed file against a reference checksum.

All files whose checksum do not match against the reference or which do not exist on the system are printed to stdout.

During setup or upgrade of the WA2L/WinTools package, the instverify is also used automatically to verify the installation.

OPTIONS

-h

help message.

-V

print program version.

-v

verbose output printing also the files which are OK to stdout.

-n

non-interactive execution.

Where the interactive part is only a keypress at the end of the execution when the command is double clicked in the explorer.

When executing instverify from the console the execution is always non-interactive.

Therefore the -n option will be of minor importance in normal use.

ENVIRONMENT

-

EXIT STATUS

0

no error.

1

the installation could not be verified successfully completely against the reference.

There can be files missing or the checksum of files do not match with the reference.

Missing files can be caused thru manual deletion by the user (by error) of by "false positive" reports of Antivirus programs which remove potential virus infected files from the system.

See also section BUGS related to "false positive" problems.

4

usage printed.

5

version printed.

FILES

lib/revision.md5

MD5 checksums of all files that are part of the WA2L/WinTools package. This file is updated by the pack command.

lib/src/vscan/vscan.zip

virus scan reports of virustotal.com for all executable (.exe, .com, .dll, .a, .cmd, .awk, .ps1, .vbs and .zip) files.

lib/src/vscan/vscan.zip → rpt/result.txt

consolidated virus scan result report.

Use make lsreport to view the report without uncompressing the vscan.zip file.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), inststats(3), pack(1m), md5sum(1), wintoolsdownload(1m), wintoolsrevisionnotifier(1m), https://en.wikipedia.org/wiki/Checksum (https://en.wikipedia.org/wiki/index.php?oldid=927259087), https://de.wikipedia.org/wiki/Pr%C3%BCfsumme (https://de.wikipedia.org/wiki/index.php?oldid=188188075), https://virustotal.com

NOTES

-

BUGS

Antivirus false positive Problems

It has been experienced recently that some Antivirus programs report commands I developed by myself as being Virus/Trojan infected. Which of course is not the case.

As the WA2L/WinTools package is Open Source, all commands I developed are either realised as scripts or when using a programming language that need compilation the source code is included in the package and is available in the lib/src/ directory.

I could also eliminate the speculation that the file was infected during transfer or installation, due to the fact that the checksum did not change since the compiled version on my system (which is also protected by a Antivirus program).

Even a re-compilation directly on the system reporting the thread fired immediately a virus alert, which is very illogical, especially when looking at the very simple code of one program that causes a "false positive" alert:

#include <stdio.h>

#define ProgName "ebook-convert"

int main(int argc, char *argv[]) {

printf("%s-ERROR: Calibre '%s.exe' not found.\n",ProgName,ProgName);

printf("%s-INFO:  Calibre can be downloaded from 'https://calibre-ebook.com/download_portable'.\n",ProgName);

printf("%s-INFO:  see in manual pages on how to set '..._CALIBRE_PATH=' in WA2L/WinTools configuration files.\n",ProgName);

} // main

False positive reporting was observed on the following executables: lib/ebook-convert.exe, lib/put.exe.

More Information

See more information about Antivirus "false positive" issues:

[1]

NirBlog Homepage, Antivirus companies cause a big headache to small developers, 24.11.2019, URL: https://blog.nirsoft.net/2009/05/17/antivirus-companies-cause-a-big-headache-to-small-developers/

[2]

NirBlog Homepage, Archive for the 'Antivirus Issues' Category, 24.11.2019, URL: https://blog.nirsoft.net/category/antivirus-issues/

[3]

Techadvisor Homepage, How to deal with an antivirus false positive, 24.11.2019, URL: https://www.techadvisor.co.uk/how-to/security/how-deal-with-antivirus-false-positive-3689720/

[4]

Datenschutz-Praxis Homepage, False Positives: Wenn sich die IT-Sicherheit irrt, 24.11.2019, URL: https://www.datenschutz-praxis.de/fachartikel/fehlalarm-wenn-die-anti-viren-software-zum-risiko-wird/

AUTHOR

instverify was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2019 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS Antivirus false positive Problems More Information AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:11 GMT, September 14, 2024

manualsbrowser

TOC Index

NAME

manualsbrowser - open HTML manual pages in default Web browser

SYNOPSIS

WA2LWinTools/bin/manualsbrowser [ -h | -V ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

the manualsbrowser command opens the HTML manual pages of WA2L/WinTools in the webbrowser(1) or the default Web browser defined on the system.

OPTIONS

-h

usage message.

-V

print program version.

ENVIRONMENT

-

EXIT STATUS

-

FILES

man/index.html

documentation index (root) file.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), webbrowser(1), man(1), manuals(1)

NOTES

-

BUGS

-

AUTHOR

manualsbrowser was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:21 GMT, September 14, 2024

metadataview

TOC Index

NAME

metadataview - view Metadata-DB export as table

SYNOPSIS

WA2LWinTools/bin/metadataview [ -h | -V ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

display all collected/entered meta data in a table view. You can search/filter/sort/.. this table.

Due to the fact that metadataview loads the var/db/metadata/metadata-<dbversion>.tab file, the command metadata -e which exports the meta data "database" has to be invoked first.

OPTIONS

-h

usage message.

-V

print program version.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage message displayed.

5

program version printed.

FILES

lib/metadata.cfg

optional config file for meta* commands.

var/db/metadata/metadata-<dbversion>.tab

exported metadata database.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), csvfileview(1), metadata(1), metadata.cfg(4)

NOTES

-

BUGS

-

AUTHOR

metadataview was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:25 GMT, September 14, 2024

pack-supportfiles

TOC Index

NAME

pack-supportfiles - create a package of support files

SYNOPSIS

WA2LWinTools/lib/pack-supportfiles [ -I ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

collect and pack files most probably needed to perform remote analysis and support for the WA2L/WinTools package to a *.7z file that is saved to the var/sw/ directory (example: var/sw/WA2LWinTools-1.1.12-201412061254.zip-supportfiles-Fred@acmepc01-DEFAULT.201806022355.7z).

This package does not contain software application files.

When the support package file creation is completed, the Microsoft™ 'Explorer' is opened pointing to the directory where the package file is saved to.

The package contains the following files and directories:

WA2LWinTools/etc/*

WA2LWinTools/lib/build.cfg

WA2LWinTools/lib/install.dat

WA2LWinTools/lib/pack.cfg

WA2LWinTools/var/db/counter/*

WA2LWinTools/var/db/systemscheduler/*

WA2LWinTools/var/log/*

The following files are excluded:

WA2LWinTools/etc/proxy.*

<several temporary files>

The etc/proxy.*cfg files are excluded from the support package because they might contain the password to authenticate against the proxy.

OPTIONS

-I

interactive start.

ENVIRONMENT

-

EXIT STATUS

0

always.

FILES

lib/pack.cfg

configuration file of pack. In this file the version ( VERSION=M.U ) and the patch level ( PATCHLEVEL=PP ) of the application package are defined.

lib/build.cfg

contains the build time stamp BUILD=DATETIME . This file is updated by the pack command.

var/sw/WA2LWinTools-<VERSION>.<PATCHLEVEL>-<BUILD>.zip-supportfiles-<USER>@<COMPUTERNAME>-DEFAULT.<DATETIME>.7z

output support package file of pack-supportfiles.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), pack(1m), wallpaperpack (1m)

NOTES

-

BUGS

-

AUTHOR

pack-supportfiles was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2L/WinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:34 GMT, September 14, 2024

progstats

TOC Index

NAME

progstats - print WA2L/WinTools command execution statistics

SYNOPSIS

WA2LWinTools/bin/progstats [ -h | -V ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

the progstats prints statistics about the command start of each command provided in the WA2L/WinTools package.

OPTIONS

-h

usage message.

-V

print program version.

ENVIRONMENT

-

EXIT STATUS

0

no error.

1

statistics database in var/db/counter/ does not exist.

4

usage message displayed.

5

version printed.

FILES

var/db/counter/command

counter of command start.

EXAMPLES

-

SEE ALSO

wintoolsintro(1)

NOTES

-

BUGS

-

AUTHOR

progstats was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:44 GMT, September 14, 2024

textnote2html

TOC Index

NAME

textnote2html - convert textnote file to HTML

SYNOPSIS

WA2LWinTools/lib/textnote2html [ -h | -V ]

type infile.txt | textnote2html [ -n ] [ -t "title" ] > outfile.html

AVAILABILITY

WA2L/WinTools

DESCRIPTION

convert a TEXT file to HTML without to change the text formatting/alignment.

The textnote2html provides some features to use a text file containing notes more interactively without to have to enter formatting commands (which would make the text file itself often less readable).

Files and URLs:

web-links, links to files, email-addresses and phone-numbers are clickable.

Titles:

Text entered as *** Text *** is set as bold text.

Subtitles:

text written in capital letters beginning in the leftmost column are treated as titles and set in red color.

Index-menu:

For identified subtitles, an index-pop-up-menu is created in the bottom right corner of the browser window to allow quick navigation within the file.

Symbols:

Some character combinations are translated into symbols: /!\, :::, >>>, _O_, (i), ///.

OPTIONS

-h

program usage.

-V

print program version.

-n

add line numbers to HTML file.

-t "title"

title displayed in the browser window title or tab.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage message printed.

5

program version printed.

FILES

textnote2html.css

optional CSS file to change output file appearance.

The CSS file must be located beside the source infile.txt file.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), textnoteview(1)

NOTES

-

BUGS

-

AUTHOR

textnote2html was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:33:07 GMT, September 14, 2024

textnoteview

TOC Index

NAME

textnoteview - view a text note file in the standard web browser

SYNOPSIS

WA2LWinTools/bin/textnoteview [ -h | -V ]

textnoteview -f textfile [ -b browser ][ -t "title" ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

textnoteview(1) view a given TEXT file in the system's standard Web browser.

Prior to displaying the file it is converted to HTML using the textnote2html(3) command.

OPTIONS

-h

usage message.

-V

print program version.

-f textfile

file to view in web browser.

-b browser

web browser to use to display the converted file.

-t "title"

title displayed in the browser window title or tab. If this option is not set the file path given in the -f option is used as title.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage message displayed.

5

version message displayed.

FILES

etc/textnoteview.cfg

optional configuration file for textnoteview.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), textnote2html(3), textnoteview.cfg(4)

NOTES

-

BUGS

-

AUTHOR

textnoteview was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:33:07 GMT, September 14, 2024

userinfo

TOC Index

NAME

userinfo - display user information pop-up message

SYNOPSIS

WA2LWinTools/bin/userinfo [ -h | -V ]

userinfo [ -c config ][ -s section ][ -w ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

userinfo(1) display an user information message to the user mostly informing about Windows and own (HotkeyP) defined hotkeys.

OPTIONS

-h

usage message.

-V

print program version.

-c configfile

optional configuration file. If this option is not specified, the configuration file etc/userinfo.cfg is displayed.

-s section

section to be displayed. If this option is not specified, the section [USERINFO] is displayed.

-w

wait until the [ OK ] button is clicked. This option is useful when userinfo is used within other programs to wait for user interaction.

ENVIRONMENT

-

EXIT STATUS

0

no error.

4

usage message displayed.

5

program version printed.

FILES

etc/userinfo.cfg

optional configuration file for userinfo. See: userinfo.cfg(4) for more information.

lib/userinfo.cfg

configuration file template.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), hotkeyp(1), userinfo.cfg(4)

NOTES

-

BUGS

-

AUTHOR

userinfo was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2022 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:33:12 GMT, September 14, 2024

userinfo.cfg

TOC Index

NAME

userinfo.cfg - configuration file for userinfo

SYNOPSIS

WA2LWinTools/etc/userinfo.cfg

AVAILABILITY

WA2L/WinTools

DESCRIPTION

This is the configuration file for the userinfo command.

FILEFORMAT

Rows starting with a # are considered as comments.

The settings that are read by the userinfo command have to follow the section [SECTION] with the name given by the -s section command line option. The default section when the option -s is not used is [USERINFO].

The file format is OPTION=VALUE

Between the OPTION , the = and the VALUE are no spaces.

You can comment out any OPTION or completely remove the related setting line to use the default settings.

The rest of the file is free text.

OPTIONS

[SECTION]

section name in upper case.

Multiple sections can be defined in the configuration file.

The contents of the related section are displayed as specified on the command line using the -s section option.

Example: [HOTKEYS]

Default: [USERINFO]

TITLE

Window title.

Example: TITLE=Windows and own Hotkeys

Default: TITLE=WA2L/WinTools:userinfo

Free Text

Information text to be displayed in the dialog window.

Multiple empty lines are folded to a single line.

EXAMPLES

1) Example configuration file

#

# userinfo.cfg - configuration file for userinfo

#

# [00] 05.12.2017 CWa   Initial Version

# [03] 18.01.2018 CWa   ++

#

[USERINFO]

TITLE=Windows Hotkey Info

HOTKEY              FUNCTION

------------------- -------------------------------------------

F1                  Windows or Application Help

F2                  Rename active File/Element

F5                  Refresh Window

F11                 Toggle Application Fullscreen/Normal

Win                 Start Menu

Win+D               Desktop (show/hide)

Win+E               File Explorer

Win+L               Lock Screen / Change User Account

Win+R               Run Dialog

Win+S               Search Windows

Ctrl+C              Copy

Ctrl+V              Paste

Ctrl+X              Cut

Ctrl+Z              Undo

Ctrl+F              Find

Ctrl+P              Print Dialog

Ctrl+L              Go to Browser Location

Ctrl+T              New Browser Tab

Ctrl+Mousewheel     Zoom in/out

Alt+Tab             Switch between open Applications

Ctrl+Tab            Cycle thru Application Tabs

Win+Tab             Show active Applications*

Win+Ctrl+D          Add a new Desktop*

Win+Ctrl+<          Switch to left Desktop*

Win+Ctrl+>          Switch to right Desktop*

Ctrl+Shift+Esc      Task Manager

Del                 Move File/Folder to Recycle-Bin

Shift+Del           Erase File/Folder permanently

PrtScr              Screenshot of whole Screen

Print Screen        Screenshot of whole Screen

____

* = Windows 10

[USERINFO-DE]

TITLE=Windows Tastenkombinationen Info

KOMBINATION         FUNKTION

------------------- -------------------------------------------

F1                  Windows oder Programm Hilfe

F2                  Aktive Datei/Element umbenennen

F5                  Fenster aktualisieren

F11                 Umschalten des Programmes Vollbild/Normal

Win                 Start Menue

Win+D               Desktop (anzeigen/ausblenden)

Win+E               Datei Explorer

Win+L               Bildschirm sperren / Benutzer wechseln

Win+R               Run Dialog

Win+S               Windows Suche

Ctrl+C              Kopieren

Ctrl+V              Einfuegen

Ctrl+X              Ausschneiden

Ctrl+Z              Rueckgaengig

Ctrl+F              Find

Ctrl+P              Print Dialog

Ctrl+L              gehe zur Browser Adresszeile

Ctrl+T              Neuer Browser Griff

Ctrl+Mausrad        Zoom hinein/hinaus

Alt+Tab             Wechsel zwischen offenen Programmen

Ctrl+Tab            zwischen Programm-Griffen wechseln

Win+Tab             Aktive Programme anzeigen*

Win+Ctrl+D          Neuen Desktop/Arbeitsbereich*

Win+Ctrl+<          Wechsel zum linken Desktop*

Win+Ctrl+>          Wechsel zum rechten Desktop*

Ctrl+Shift+Esc      Task Manager

Del                 Datei/Ordner in Papierkorb verschieben

Shift+Del           Datei/Ordner permanent loeschen

PrtScr              Bildschirmfoto

Print Screen        Bildschirmfoto

____

* = Windows 10

SEE ALSO

wintoolsintro(1), userinfo(1)

NOTES

-

BUGS

-

AUTHOR

userinfo.cfg was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION FILEFORMAT OPTIONS EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:33:12 GMT, September 14, 2024

WinToolsRevision

TOC Index

NAME

WinToolsRevision - show revision number of WA2L/WinTools

SYNOPSIS

WA2LWinTools/bin/WinToolsRevision

AVAILABILITY

WA2L/WinTools

DESCRIPTION

Display the revision number of the WA2L/WinTools package.

OPTIONS

-

ENVIRONMENT

-

EXIT STATUS

0

always.

FILES

lib/revision.cfg

package revision information.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), wintoolsrevisionnotifier(1m), pack(1m)

NOTES

-

BUGS

-

AUTHOR

WinToolsRevision was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:33:18 GMT, September 14, 2024

WinToolsWebDownload

TOC Index

NAME

WinToolsWebDownload - download current version of WA2L/WinTools package

SYNOPSIS

WA2LWinTools/bin/WinToolsWebDownload [ -h | -V ]

WinToolsWebDownload

AVAILABILITY

WA2L/WinTools

DESCRIPTION

Download the most recent version of the the WA2L/WinTools package from sourceforge.net.

The package *.exe file is downloaded using the systems default web browser.

After downloading the package file you have the option to install it directly based on the settings in your browser.

OPTIONS

-h

usage message.

-V

print program version.

ENVIRONMENT

-

EXIT STATUS

0

always.

FILES

-

EXAMPLES

-

SEE ALSO

wintoolssintro(1), config(1m), wintoolsdownload(1m)

NOTES

-

BUGS

-

AUTHOR

WinToolsWebDownload was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:33:18 GMT, September 14, 2024

xlsx2csv

TOC Index

NAME

xlsx2csv - extract individual Excel sheets as CSV output

SYNOPSIS

WA2LWinTools/lib/xlsx2csv [ -h | -l | -v ]

xlsx2csv [ -c | -n ] workbook [ worksheet ]

AVAILABILITY

WA2L/WinTools

DESCRIPTION

xlsx2csv is a tool to extract individual Excel sheets as CSV output from an Excel workbook in the .xlsx format.

CSV content is written to stdout.

OPTIONS

-h

display help

-c

display number of sheets in Excel Workbook

-l

display license

-n

display sheet names in Excel W9rkbook

-v

display version

EXIT STATUS

0

no error.

1

error.

EXAMPLES

1) get first sheet of workbook

This would get the first sheet from the workbook and save it as a CSV file:

xlsx2csv my-workbook.xlsx "Sheet 1" > sheet1.csv

2) print number of sheets in workbook

This will output the number of sheets in the Workbook:

xlsx2csv -c my-workbook.xlsx

3) print sheet names

This will display a list of sheet names, one per line:

xlsx2csv -n my-workbook.xlsx

SEE ALSO

wintoolsintro(1), csv2worksheet(3), https://rsdoiel.github.io/jsontools/xlsx2csv.html

NOTES

xlsx2csv was developed by Robert S. Doiel <rsdoiel@gmail.com>. See https://rsdoiel.github.io/jsontools/xlsx2csv.html for more information.

Parts of this manual page are extracted from the web page: https://rsdoiel.github.io/jsontools/xlsx2csv.html.

BUGS

-

AUTHOR

xlsx2csv was developed by Robert S. Doiel <rsdoiel@gmail.com> and integrated into WA2L/WinTools by Christian Walther. Send suggestions and bug reports related to the integration to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS EXIT STATUS EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:33:24 GMT, September 14, 2024

ASCII

TOC Index

NAME

ascii - ASCII character set encoded in octal, decimal, and hexadecimal

DESCRIPTION

ASCII is the American Standard Code for Information Interchange. It is a 7-bit code. Many 8-bit codes (e.g., ISO 8859-1) contain ASCII as their lower half. The international counterpart of ASCII is known as ISO 646-IRV.

The following table contains the 128 ASCII characters.

C program aq\Xaq escapes are noted.

Oct

Dec

Hex

Char

Oct

Dec

Hex

Char

000

0

00

NUL aq\0aq (null character)

100

64

40

@

001

1

01

SOH (start of heading)

101

65

41

A

002

2

02

STX (start of text)

102

66

42

B

003

3

03

ETX (end of text)

103

67

43

C

004

4

04

EOT (end of transmission)

104

68

44

D

005

5

05

ENQ (enquiry)

105

69

45

E

006

6

06

ACK (acknowledge)

106

70

46

F

007

7

07

BEL aq\aaq (bell)

107

71

47

G

010

8

08

BS aq\baq (backspace)

110

72

48

H

011

9

09

HT aq\taq (horizontal tab)

111

73

49

I

012

10

0A

LF aq\naq (new line)

112

74

4A

J

013

11

0B

VT aq\vaq (vertical tab)

113

75

4B

K

014

12

0C

FF aq\faq (form feed)

114

76

4C

L

015

13

0D

CR aq\raq (carriage ret)

115

77

4D

M

016

14

0E

SO (shift out)

116

78

4E

N

017

15

0F

SI (shift in)

117

79

4F

O

020

16

10

DLE (data link escape)

120

80

50

P

021

17

11

DC1 (device control 1)

121

81

51

Q

022

18

12

DC2 (device control 2)

122

82

52

R

023

19

13

DC3 (device control 3)

123

83

53

S

024

20

14

DC4 (device control 4)

124

84

54

T

025

21

15

NAK (negative ack.)

125

85

55

U

026

22

16

SYN (synchronous idle)

126

86

56

V

027

23

17

ETB (end of trans. blk)

127

87

57

W

030

24

18

CAN (cancel)

130

88

58

X

031

25

19

EM (end of medium)

131

89

59

Y

032

26

1A

SUB (substitute)

132

90

5A

Z

033

27

1B

ESC (escape)

133

91

5B

[

034

28

1C

FS (file separator)

134

92

5C

\ aq\\aq

035

29

1D

GS (group separator)

135

93

5D

]

036

30

1E

RS (record separator)

136

94

5E

^

037

31

1F

US (unit separator)

137

95

5F

_

040

32

20

SPACE

140

96

60

`

041

33

21

!

141

97

61

a

042

34

22

"

142

98

62

b

043

35

23

#

143

99

63

c

044

36

24

$

144

100

64

d

045

37

25

%

145

101

65

e

046

38

26

&

146

102

66

f

047

39

27

aq

147

103

67

g

050

40

28

(

150

104

68

h

051

41

29

)

151

105

69

i

052

42

2A

*

152

106

6A

j

053

43

2B

+

153

107

6B

k

054

44

2C

,

154

108

6C

l

055

45

2D

-

155

109

6D

m

056

46

2E

.

156

110

6E

n

057

47

2F

/

157

111

6F

o

060

48

30

0

160

112

70

p

061

49

31

1

161

113

71

q

062

50

32

2

162

114

72

r

063

51

33

3

163

115

73

s

064

52

34

4

164

116

74

t

065

53

35

5

165

117

75

u

066

54

36

6

166

118

76

v

067

55

37

7

167

119

77

w

070

56

38

8

170

120

78

x

071

57

39

9

171

121

79

y

072

58

3A

:

172

122

7A

z

073

59

3B

;

173

123

7B

{

074

60

3C

<

174

124

7C

|

075

61

3D

=

175

125

7D

}

076

62

3E

>

176

126

7E

~

077

63

3F

?

177

127

7F

DEL

Tables

For convenience, below are more compact tables in hex and decimal.

2 3 4 5 6 7       30 40 50 60 70 80 90 100 110 120

-------------      ---------------------------------

0:   0 @ P ` p     0:    (  2  <  F  P  Z  d   n   x

1: ! 1 A Q a q     1:    )  3  =  G  Q  [  e   o   y

2: " 2 B R b r     2:    *  4  >  H  R  \  f   p   z

3: # 3 C S c s     3: !  +  5  ?  I  S  ]  g   q   {

4: $ 4 D T d t     4: "  ,  6  @  J  T  ^  h   r   |

5: % 5 E U e u     5: #  -  7  A  K  U  _  i   s   }

6: & 6 F V f v     6: $  .  8  B  L  V  `  j   t   ~

7: aq 7 G W g w     7: %  /  9  C  M  W  a  k   u  DEL

8: ( 8 H X h x     8: &  0  :  D  N  X  b  l   v

9: ) 9 I Y i y     9: aq  1  ;  E  O  Y  c  m   w

A: * : J Z j z

B: + ; K [ k {

C: , < L \ l |

D: - = M ] m }

E: . > N ^ n ~

F: / ? O _ o DEL

NOTES

History

An ascii manual page appeared in Version 7 of AT&T UNIX.

On older terminals, the underscore code is displayed as a left arrow, called backarrow, the caret is displayed as an up-arrow and the vertical bar has a hole in the middle.

Uppercase and lowercase characters differ by just one bit and the ASCII character 2 differs from the double quote by just one bit, too. That made it much easier to encode characters mechanically or with a non-microcontroller-based electronic keyboard and that pairing was found on old teletypes.

The ASCII standard was published by the United States of America Standards Institute (USASI) in 1968.

SEE ALSO

charsets(3), utf-8(3)

COLOPHON

This page is part of release 4.15 of the Linux man-pages project. A description of the project, information about reporting bugs, and the latest version of this page, can be found at https://www.kernel.org/doc/man-pages/.

NAME DESCRIPTION Tables NOTES History SEE ALSO COLOPHON

This document was created by man2html using the manual pages.

Time: 16:33:29 GMT, September 14, 2024

CHARSETS

TOC Index

NAME

charsets - character set standards and internationalization

DESCRIPTION

This manual page gives an overview on different character set standards and how they were used on Linux before Unicode became ubiquitous. Some of this information is still helpful for people working with legacy systems and documents.

Standards discussed include such as ASCII, GB 2312, ISO 8859, JIS, KOI8-R, KS, and Unicode.

The primary emphasis is on character sets that were actually used by locale character sets, not the myriad others that could be found in data from other systems.

ASCII

ASCII (American Standard Code For Information Interchange) is the original 7-bit character set, originally designed for American English. Also known as US-ASCII. It is currently described by the ISO 646:1991 IRV (International Reference Version) standard.

Various ASCII variants replacing the dollar sign with other currency symbols and replacing punctuation with non-English alphabetic characters to cover German, French, Spanish, and others in 7 bits emerged. All are deprecated; glibc does not support locales whose character sets are not true supersets of ASCII.

As Unicode, when using UTF-8, is ASCII-compatible, plain ASCII text still renders properly on modern UTF-8 using systems.

ISO 8859

ISO 8859 is a series of 15 8-bit character sets, all of which have ASCII in their low (7-bit) half, invisible control characters in positions 128 to 159, and 96 fixed-width graphics in positions 160-255.

Of these, the most important is ISO 8859-1 ("Latin Alphabet No .1" / Latin-1). It was widely adopted and supported by different systems, and is gradually being replaced with Unicode. The ISO 8859-1 characters are also the first 256 characters of Unicode.

Console support for the other 8859 character sets is available under Linux through user-mode utilities (such as setfont(8)) that modify keyboard bindings and the EGA graphics table and employ the "user mapping" font table in the console driver.

Here are brief descriptions of each set:

8859-1 (Latin-1)

Latin-1 covers many West European languages such as Albanian, Basque, Danish, English, Faroese, Galician, Icelandic, Irish, Italian, Norwegian, Portuguese, Spanish, and Swedish. The lack of the ligatures Dutch Ĳ/ĳ, French œ, and old-style „German“ quotation marks was considered tolerable.

8859-2 (Latin-2)

Latin-2 supports many Latin-written Central and East European languages such as Bosnian, Croatian, Czech, German, Hungarian, Polish, Slovak, and Slovene. Replacing Romanian ș/ț with ş/ţ was considered tolerable.

8859-3 (Latin-3)

Latin-3 was designed to cover of Esperanto, Maltese, and Turkish, but 8859-9 later superseded it for Turkish.

8859-4 (Latin-4)

Latin-4 introduced letters for North European languages such as Estonian, Latvian, and Lithuanian, but was superseded by 8859-10 and 8859-13.

8859-5

Cyrillic letters supporting Bulgarian, Byelorussian, Macedonian, Russian, Serbian, and (almost completely) Ukrainian. It was never widely used, see the discussion of KOI8-R/KOI8-U below.

8859-6

Was created for Arabic. The 8859-6 glyph table is a fixed font of separate letter forms, but a proper display engine should combine these using the proper initial, medial, and final forms.

8859-7

Was created for Modern Greek in 1987, updated in 2003.

8859-8

Supports Modern Hebrew without niqud (punctuation signs). Niqud and full-fledged Biblical Hebrew were outside the scope of this character set.

8859-9 (Latin-5)

This is a variant of Latin-1 that replaces Icelandic letters with Turkish ones.

8859-10 (Latin-6)

Latin-6 added the Inuit (Greenlandic) and Sami (Lappish) letters that were missing in Latin-4 to cover the entire Nordic area.

8859-11

Supports the Thai alphabet and is nearly identical to the TIS-620 standard.

8859-12

This set does not exist.

8859-13 (Latin-7)

Supports the Baltic Rim languages; in particular, it includes Latvian characters not found in Latin-4.

8859-14 (Latin-8)

This is the Celtic character set, covering Old Irish, Manx, Gaelic, Welsh, Cornish, and Breton.

8859-15 (Latin-9)

Latin-9 is similar to the widely used Latin-1 but replaces some less common symbols with the Euro sign and French and Finnish letters that were missing in Latin-1.

8859-16 (Latin-10)

This set covers many Southeast European languages, and most importantly supports Romanian more completely than Latin-2.

KOI8-R / KOI8-U

KOI8-R is a non-ISO character set popular in Russia before Unicode. The lower half is ASCII; the upper is a Cyrillic character set somewhat better designed than ISO 8859-5. KOI8-U, based on KOI8-R, has better support for Ukrainian. Neither of these sets are ISO-2022 compatible, unlike the ISO 8859 series.

Console support for KOI8-R is available under Linux through user-mode utilities that modify keyboard bindings and the EGA graphics table, and employ the "user mapping" font table in the console driver.

GB 2312

GB 2312 is a mainland Chinese national standard character set used to express simplified Chinese. Just like JIS X 0208, characters are mapped into a 94x94 two-byte matrix used to construct EUC-CN. EUC-CN is the most important encoding for Linux and includes ASCII and GB 2312. Note that EUC-CN is often called as GB, GB 2312, or CN-GB.

Big5

Big5 was a popular character set in Taiwan to express traditional Chinese. (Big5 is both a character set and an encoding.) It is a superset of ASCII. Non-ASCII characters are expressed in two bytes. Bytes 0xa1-0xfe are used as leading bytes for two-byte characters. Big5 and its extension were widely used in Taiwan and Hong Kong. It is not ISO 2022 compliant.

JIS X 0208

JIS X 0208 is a Japanese national standard character set. Though there are some more Japanese national standard character sets (like JIS X 0201, JIS X 0212, and JIS X 0213), this is the most important one. Characters are mapped into a 94x94 two-byte matrix, whose each byte is in the range 0x21-0x7e. Note that JIS X 0208 is a character set, not an encoding. This means that JIS X 0208 itself is not used for expressing text data. JIS X 0208 is used as a component to construct encodings such as EUC-JP, Shift_JIS, and ISO-2022-JP. EUC-JP is the most important encoding for Linux and includes ASCII and JIS X 0208. In EUC-JP, JIS X 0208 characters are expressed in two bytes, each of which is the JIS X 0208 code plus 0x80.

KS X 1001

KS X 1001 is a Korean national standard character set. Just as JIS X 0208, characters are mapped into a 94x94 two-byte matrix. KS X 1001 is used like JIS X 0208, as a component to construct encodings such as EUC-KR, Johab, and ISO-2022-KR. EUC-KR is the most important encoding for Linux and includes ASCII and KS X 1001. KS C 5601 is an older name for KS X 1001.

ISO 2022 and ISO 4873

The ISO 2022 and 4873 standards describe a font-control model based on VT100 practice. This model is (partially) supported by the Linux kernel and by xterm(1). Several ISO 2022-based character encodings have been defined, especially for Japanese.

There are 4 graphic character sets, called G0, G1, G2, and G3, and one of them is the current character set for codes with high bit zero (initially G0), and one of them is the current character set for codes with high bit one (initially G1). Each graphic character set has 94 or 96 characters, and is essentially a 7-bit character set. It uses codes either 040-0177 (041-0176) or 0240-0377 (0241-0376). G0 always has size 94 and uses codes 041-0176.

Switching between character sets is done using the shift functions ^N (SO or LS1), ^O (SI or LS0), ESC n (LS2), ESC o (LS3), ESC N (SS2), ESC O (SS3), ESC ~ (LS1R), ESC } (LS2R), ESC | (LS3R). The function LSn makes character set Gn the current one for codes with high bit zero. The function LSnR makes character set Gn the current one for codes with high bit one. The function SSn makes character set Gn (n=2 or 3) the current one for the next character only (regardless of the value of its high order bit).

A 94-character set is designated as Gn character set by an escape sequence ESC ( xx (for G0), ESC ) xx (for G1), ESC * xx (for G2), ESC + xx (for G3), where xx is a symbol or a pair of symbols found in the ISO 2375 International Register of Coded Character Sets. For example, ESC ( @ selects the ISO 646 character set as G0, ESC ( A selects the UK standard character set (with pound instead of number sign), ESC ( B selects ASCII (with dollar instead of currency sign), ESC ( M selects a character set for African languages, ESC ( ! A selects the Cuban character set, and so on.

A 96-character set is designated as Gn character set by an escape sequence ESC - xx (for G1), ESC . xx (for G2) or ESC / xx (for G3). For example, ESC - G selects the Hebrew alphabet as G1.

A multibyte character set is designated as Gn character set by an escape sequence ESC $ xx or ESC $ ( xx (for G0), ESC $ ) xx (for G1), ESC $ * xx (for G2), ESC $ + xx (for G3). For example, ESC $ ( C selects the Korean character set for G0. The Japanese character set selected by ESC $ B has a more recent version selected by ESC & @ ESC $ B.

ISO 4873 stipulates a narrower use of character sets, where G0 is fixed (always ASCII), so that G1, G2 and G3 can be invoked only for codes with the high order bit set. In particular, ^N and ^O are not used anymore, ESC ( xx can be used only with xx=B, and ESC ) xx, ESC * xx, ESC + xx are equivalent to ESC - xx, ESC . xx, ESC / xx, respectively.

TIS-620

TIS-620 is a Thai national standard character set and a superset of ASCII. In the same fashion as the ISO 8859 series, Thai characters are mapped into 0xa1-0xfe.

Unicode

Unicode (ISO 10646) is a standard which aims to unambiguously represent every character in every human language. Unicode's structure permits 20.1 bits to encode every character. Since most computers don't include 20.1-bit integers, Unicode is usually encoded as 32-bit integers internally and either a series of 16-bit integers (UTF-16) (needing two 16-bit integers only when encoding certain rare characters) or a series of 8-bit bytes (UTF-8).

Linux represents Unicode using the 8-bit Unicode Transformation Format (UTF-8). UTF-8 is a variable length encoding of Unicode. It uses 1 byte to code 7 bits, 2 bytes for 11 bits, 3 bytes for 16 bits, 4 bytes for 21 bits, 5 bytes for 26 bits, 6 bytes for 31 bits.

Let 0,1,x stand for a zero, one, or arbitrary bit. A byte 0xxxxxxx stands for the Unicode 00000000 0xxxxxxx which codes the same symbol as the ASCII 0xxxxxxx. Thus, ASCII goes unchanged into UTF-8, and people using only ASCII do not notice any change: not in code, and not in file size.

A byte 110xxxxx is the start of a 2-byte code, and 110xxxxx 10yyyyyy is assembled into 00000xxx xxyyyyyy. A byte 1110xxxx is the start of a 3-byte code, and 1110xxxx 10yyyyyy 10zzzzzz is assembled into xxxxyyyy yyzzzzzz. (When UTF-8 is used to code the 31-bit ISO 10646 then this progression continues up to 6-byte codes.)

For most texts in ISO 8859 character sets, this means that the characters outside of ASCII are now coded with two bytes. This tends to expand ordinary text files by only one or two percent. For Russian or Greek texts, this expands ordinary text files by 100%, since text in those languages is mostly outside of ASCII. For Japanese users this means that the 16-bit codes now in common use will take three bytes. While there are algorithmic conversions from some character sets (especially ISO 8859-1) to Unicode, general conversion requires carrying around conversion tables, which can be quite large for 16-bit codes.

Note that UTF-8 is self-synchronizing: 10xxxxxx is a tail, any other byte is the head of a code. Note that the only way ASCII bytes occur in a UTF-8 stream, is as themselves. In particular, there are no embedded NULs (aq\0aq) or aq/aqs that form part of some larger code.

Since ASCII, and, in particular, NUL and aq/aq, are unchanged, the kernel does not notice that UTF-8 is being used. It does not care at all what the bytes it is handling stand for.

Rendering of Unicode data streams is typically handled through "subfont" tables which map a subset of Unicode to glyphs. Internally the kernel uses Unicode to describe the subfont loaded in video RAM. This means that in the Linux console in UTF-8 mode, one can use a character set with 512 different symbols. This is not enough for Japanese, Chinese, and Korean, but it is enough for most other purposes.

SEE ALSO

iconv(3), ascii(3), utf-8(3)

COLOPHON

This page is part of release 4.15 of the Linux man-pages project. A description of the project, information about reporting bugs, and the latest version of this page, can be found at https://www.kernel.org/doc/man-pages/.

NAME DESCRIPTION ASCII ISO 8859 KOI8-R / KOI8-U GB 2312 Big5 JIS X 0208 KS X 1001 ISO 2022 and ISO 4873 TIS-620 Unicode SEE ALSO COLOPHON

This document was created by man2html using the manual pages.

Time: 16:33:29 GMT, September 14, 2024

iconv

TOC Index

NAME

iconv - convert text from one character encoding to another

SYNOPSIS

iconv [options] [-f from-encoding] [-t to-encoding] [inputfile]...

DESCRIPTION

The iconv program reads in text in one encoding and outputs the text in another encoding. If no input files are given, or if it is given as a dash (-), iconv reads from standard input. If no output file is given, iconv writes to standard output.

If no from-encoding is given, the default is derived from the current locale's character encoding. If no to-encoding is given, the default is derived from the current locale's character encoding.

OPTIONS

-f from-encoding, --from-code=from-encoding

Use from-encoding for input characters.

-t to-encoding, --to-code=to-encoding

Use to-encoding for output characters.

If the string //IGNORE is appended to to-encoding, characters that cannot be converted are discarded and an error is printed after conversion.

If the string //TRANSLIT is appended to to-encoding, characters being converted are transliterated when needed and possible. This means that when a character cannot be represented in the target character set, it can be approximated through one or several similar looking characters. Characters that are outside of the target character set and cannot be transliterated are replaced with a question mark (?) in the output.

-l, --list

List all known character set encodings.

-c

Silently discard characters that cannot be converted instead of terminating when encountering such characters.

-o outputfile, --output=outputfile

Use outputfile for output.

-s, --silent

This option is ignored; it is provided only for compatibility.

--verbose

Print progress information on standard error when processing multiple files.

-?, --help

Print a usage summary and exit.

--usage

Print a short usage summary and exit.

-V, --version

Print the version number, license, and disclaimer of warranty for iconv.

EXIT STATUS

Zero on success, non-zero on errors.

CONFORMING TO

POSIX.1-2001.

EXAMPLE

Convert text from the ISO 8859-15 character encoding to UTF-8:

$ iconv -f ISO-8859-15 -t UTF-8 < input.txt > output.txt

The next example converts from UTF-8 to ASCII, transliterating when possible:

$ echo abc ß α € àḃç | iconv -f UTF-8 -t ASCII//TRANSLIT

abc ss ? EUR abc

SEE ALSO

locale(7), iconv_open(3)

NAME SYNOPSIS DESCRIPTION OPTIONS EXIT STATUS CONFORMING TO EXAMPLE SEE ALSO

This document was created by man2html using the manual pages.

Time: 16:33:36 GMT, September 14, 2024

UTF-8

TOC Index

NAME

UTF-8 - an ASCII compatible multibyte Unicode encoding

DESCRIPTION

The Unicode 3.0 character set occupies a 16-bit code space. The most obvious Unicode encoding (known as UCS-2) consists of a sequence of 16-bit words. Such strings can contain---as part of many 16-bit characters---bytes such as aq\0aq or aq/aq, which have a special meaning in filenames and other C library function arguments. In addition, the majority of UNIX tools expect ASCII files and can't read 16-bit words as characters without major modifications. For these reasons, UCS-2 is not a suitable external encoding of Unicode in filenames, text files, environment variables, and so on. The ISO 10646 Universal Character Set (UCS), a superset of Unicode, occupies an even larger code space---31 bits---and the obvious UCS-4 encoding for it (a sequence of 32-bit words) has the same problems.

The UTF-8 encoding of Unicode and UCS does not have these problems and is the common way in which Unicode is used on UNIX-style operating systems.

Properties

The UTF-8 encoding has the following nice properties:

*

UCS characters 0x00000000 to 0x0000007f (the classic US-ASCII characters) are encoded simply as bytes 0x00 to 0x7f (ASCII compatibility). This means that files and strings which contain only 7-bit ASCII characters have the same encoding under both ASCII and UTF-8 .

*

All UCS characters greater than 0x7f are encoded as a multibyte sequence consisting only of bytes in the range 0x80 to 0xfd, so no ASCII byte can appear as part of another character and there are no problems with, for example, aq\0aq or aq/aq.

*

The lexicographic sorting order of UCS-4 strings is preserved.

*

All possible 2^31 UCS codes can be encoded using UTF-8.

*

The bytes 0xc0, 0xc1, 0xfe, and 0xff are never used in the UTF-8 encoding.

*

The first byte of a multibyte sequence which represents a single non-ASCII UCS character is always in the range 0xc2 to 0xfd and indicates how long this multibyte sequence is. All further bytes in a multibyte sequence are in the range 0x80 to 0xbf. This allows easy resynchronization and makes the encoding stateless and robust against missing bytes.

*

UTF-8 encoded UCS characters may be up to six bytes long, however the Unicode standard specifies no characters above 0x10ffff, so Unicode characters can be only up to four bytes long in UTF-8.

Encoding

The following byte sequences are used to represent a character. The sequence to be used depends on the UCS code number of the character:

0x00000000 - 0x0000007F:

0xxxxxxx

0x00000080 - 0x000007FF:

110xxxxx 10xxxxxx

0x00000800 - 0x0000FFFF:

1110xxxx 10xxxxxx 10xxxxxx

0x00010000 - 0x001FFFFF:

11110xxx 10xxxxxx 10xxxxxx 10xxxxxx

0x00200000 - 0x03FFFFFF:

111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx

0x04000000 - 0x7FFFFFFF:

1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx

The xxx bit positions are filled with the bits of the character code number in binary representation, most significant bit first (big-endian). Only the shortest possible multibyte sequence which can represent the code number of the character can be used.

The UCS code values 0xd800-0xdfff (UTF-16 surrogates) as well as 0xfffe and 0xffff (UCS noncharacters) should not appear in conforming UTF-8 streams. According to RFC 3629 no point above U+10FFFF should be used, which limits characters to four bytes.

Example

The Unicode character 0xa9 = 1010 1001 (the copyright sign) is encoded in UTF-8 as

11000010 10101001 = 0xc2 0xa9

and character 0x2260 = 0010 0010 0110 0000 (the "not equal" symbol) is encoded as:

11100010 10001001 10100000 = 0xe2 0x89 0xa0

Application notes

Users have to select a UTF-8 locale, for example with

export LANG=en_GB.UTF-8

in order to activate the UTF-8 support in applications.

Application software that has to be aware of the used character encoding should always set the locale with for example

setlocale(LC_CTYPE, "")

and programmers can then test the expression

strcmp(nl_langinfo(CODESET), "UTF-8") == 0

to determine whether a UTF-8 locale has been selected and whether therefore all plaintext standard input and output, terminal communication, plaintext file content, filenames and environment variables are encoded in UTF-8.

Programmers accustomed to single-byte encodings such as US-ASCII or ISO 8859 have to be aware that two assumptions made so far are no longer valid in UTF-8 locales. Firstly, a single byte does not necessarily correspond any more to a single character. Secondly, since modern terminal emulators in UTF-8 mode also support Chinese, Japanese, and Korean double-width characters as well as nonspacing combining characters, outputting a single character does not necessarily advance the cursor by one position as it did in ASCII. Library functions such as mbsrtowcs(3) and wcswidth(3) should be used today to count characters and cursor positions.

The official ESC sequence to switch from an ISO 2022 encoding scheme (as used for instance by VT100 terminals) to UTF-8 is ESC % G ("\x1b%G"). The corresponding return sequence from UTF-8 to ISO 2022 is ESC % @ ("\x1b%@"). Other ISO 2022 sequences (such as for switching the G0 and G1 sets) are not applicable in UTF-8 mode.

Security

The Unicode and UCS standards require that producers of UTF-8 shall use the shortest form possible, for example, producing a two-byte sequence with first byte 0xc0 is nonconforming. Unicode 3.1 has added the requirement that conforming programs must not accept non-shortest forms in their input. This is for security reasons: if user input is checked for possible security violations, a program might check only for the ASCII version of "/../" or ";" or NUL and overlook that there are many non-ASCII ways to represent these things in a non-shortest UTF-8 encoding.

Standards

ISO/IEC 10646-1:2000, Unicode 3.1, RFC 3629, Plan 9.

SEE ALSO

ascii(3), charsets(3)

COLOPHON

This page is part of release 4.15 of the Linux man-pages project. A description of the project, information about reporting bugs, and the latest version of this page, can be found at https://www.kernel.org/doc/man-pages/.

NAME DESCRIPTION Properties Encoding Example Application notes Security Standards SEE ALSO COLOPHON

This document was created by man2html using the manual pages.

Time: 16:33:50 GMT, September 14, 2024

dos2unix

TOC Index

NAME

dos2unix - DOS/Mac to Unix and vice versa text file format converter

SYNOPSIS

dos2unix [options] [FILE ...] [-n INFILE OUTFILE ...]

unix2dos [options] [FILE ...] [-n INFILE OUTFILE ...]

DESCRIPTION

The Dos2unix package includes utilities dos2unix

and unix2dos

to convert plain text files in DOS or Mac format to Unix format and vice versa.

In DOS/Windows text files a line break, also known as newline, is a combination of two characters: a Carriage Return (CR) followed by a Line Feed (LF). In Unix text files a line break is a single character: the Line Feed (LF). In Mac text files, prior to Mac OS X, a line break was single Carriage Return (CR) character. Nowadays Mac OS uses Unix style (LF) line breaks.

Besides line breaks Dos2unix can also convert the encoding of files. A few DOS code pages can be converted to Unix Latin-1. And Windows Unicode (UTF-16) files can be converted to Unix Unicode (UTF-8) files.

Binary files are automatically skipped, unless conversion is forced.

Non-regular files, such as directories and FIFOs, are automatically skipped.

Symbolic links and their targets are by default kept untouched. Symbolic links can optionally be replaced, or the output can be written to the symbolic link target. Writing to a symbolic link target is not supported on Windows.

Dos2unix was modelled after dos2unix under SunOS/Solaris. There is one important difference with the original SunOS/Solaris version. This version does by default in-place conversion (old file mode), while the original SunOS/Solaris version only supports paired conversion (new file mode). See also options -o

and -n

. Another difference is that the SunOS/Solaris version uses by default iso mode conversion while this version uses by default ascii mode conversion.

OPTIONS

--

Treat all following options as file names. Use this option if you want to convert files whose names start with a dash. For instance to convert a file named ``-foo'', you can use this command:

dos2unix -- -foo

Or in new file mode:

dos2unix -n -- -foo out.txt

--allow-chown

Allow file ownership change in old file mode.

When this option is used, the conversion will not be aborted when the user and/or group ownership of the original file can't be preserved in old file mode. Conversion will continue and the converted file will get the same new ownership as if it was converted in new file mode. See also options -o

and -n

. This option is only available if dos2unix has support for preserving the user and group ownership of files.

-ascii

Convert only line breaks. This is the default conversion mode.

-iso

Conversion between DOS and ISO-8859-1 character set. See also section CONVERSION MODES.

-1252

Use Windows code page 1252 (Western European).

-437

Use DOS code page 437 (US). This is the default code page used for ISO conversion.

-850

Use DOS code page 850 (Western European).

-860

Use DOS code page 860 (Portuguese).

-863

Use DOS code page 863 (French Canadian).

-865

Use DOS code page 865 (Nordic).

-7

Convert 8 bit characters to 7 bit space.

-b, --keep-bom

Keep Byte Order Mark (BOM). When the input file has a BOM, write a BOM in the output file. This is the default behavior when converting to DOS line breaks. See also option -r

.

-c, --convmode CONVMODE

Set conversion mode. Where CONVMODE is one of: ascii, 7bit, iso, mac with ascii being the default.

-D, --display-enc ENCODING

Set encoding of displayed text. Where ENCODING is one of: ansi, unicode, unicodebom, utf8, utf8bom with ansi being the default.

This option is only available in dos2unix for Windows with Unicode file name support. This option has no effect on the actual file names read and written, only on how they are displayed.

There are several methods for displaying text in a Windows console based on the encoding of the text. They all have their own advantages and disadvantages.

ansi

Dos2unix's default method is to use ANSI encoded text. The advantage is that it is backwards compatible. It works with raster and TrueType fonts. In some regions you may need to change the active DOS OEM code page to the Windows system ANSI code page using the chcp

command, because dos2unix uses the Windows system code page.

The disadvantage of ansi is that international file names with characters not inside the system default code page are not displayed properly. You will see a question mark, or a wrong symbol instead. When you don't work with foreign file names this method is OK.

unicode, unicodebom

The advantage of unicode (the Windows name for UTF-16) encoding is that text is usually properly displayed. There is no need to change the active code page. You may need to set the console's font to a TrueType font to have international characters displayed properly. When a character is not included in the TrueType font you usually see a small square, sometimes with a question mark in it.

When you use the ConEmu console all text is displayed properly, because ConEmu automatically selects a good font.

The disadvantage of unicode is that it is not compatible with ASCII. The output is not easy to handle when you redirect it to another program.

When method unicodebom

is used the Unicode text will be preceded with a BOM (Byte Order Mark). A BOM is required for correct redirection or piping in PowerShell.

utf8, utf8bom

The advantage of utf8 is that it is compatible with ASCII. You need to set the console's font to a TrueType font. With a TrueType font the text is displayed similar as with the unicode

encoding.

The disadvantage is that when you use the default raster font all non-ASCII characters are displayed wrong. Not only unicode file names, but also translated messages become unreadable. On Windows configured for an East-Asian region you may see a lot of flickering of the console when the messages are displayed.

In a ConEmu console the utf8 encoding method works well.

When method utf8bom

is used the UTF-8 text will be preceded with a BOM (Byte Order Mark). A BOM is required for correct redirection or piping in PowerShell.

The default encoding can be changed with environment variable DOS2UNIX_DISPLAY_ENC by setting it to unicode

, unicodebom

, utf8

, or utf8bom

.

-f, --force

Force conversion of binary files.

-gb, --gb18030

On Windows UTF-16 files are by default converted to UTF-8, regardless of the locale setting. Use this option to convert UTF-16 files to GB18030. This option is only available on Windows. See also section GB18030.

-h, --help

Display help and exit.

-i[FLAGS], --info[=FLAGS] FILE ...

Display file information. No conversion is done.

The following information is printed, in this order: number of DOS line breaks, number of Unix line breaks, number of Mac line breaks, byte order mark, text or binary, file name.

Example output:

6       0       0  no_bom    text    dos.txt

0       6       0  no_bom    text    unix.txt

0       0       6  no_bom    text    mac.txt

6       6       6  no_bom    text    mixed.txt

50       0       0  UTF-16LE  text    utf16le.txt

0      50       0  no_bom    text    utf8unix.txt

50       0       0  UTF-8     text    utf8dos.txt

2     418     219  no_bom    binary  dos2unix.exe

Note that sometimes a binary file can be mistaken for a text file. See also option -s

.

Optionally extra flags can be set to change the output. One or more flags can be added.

0

Print the file information lines followed by a null character instead of a newline character. This enables correct interpretation of file names with spaces or quotes when flag c is used. Use this flag in combination with xargs(1) option -0

or --null

.

d

Print number of DOS line breaks.

u

Print number of Unix line breaks.

m

Print number of Mac line breaks.

b

Print the byte order mark.

t

Print if file is text or binary.

c

Print only the files that would be converted.

With the c

flag dos2unix will print only the files that contain DOS line breaks, unix2dos will print only file names that have Unix line breaks.

h

Print a header.

p

Show file names without path.

Examples:

Show information for all *.txt files:

dos2unix -i *.txt

Show only the number of DOS line breaks and Unix line breaks:

dos2unix -idu *.txt

Show only the byte order mark:

dos2unix --info=b *.txt

List the files that have DOS line breaks:

dos2unix -ic *.txt

List the files that have Unix line breaks:

unix2dos -ic *.txt

Convert only files that have DOS line breaks and leave the other files untouched:

dos2unix -ic0 *.txt | xargs -0 dos2unix

Find text files that have DOS line breaks:

find -name '*.txt' -print0 | xargs -0 dos2unix -ic

-k, --keepdate

Keep the date stamp of output file same as input file.

-L, --license

Display program's license.

-l, --newline

Add additional newline.

dos2unix: Only DOS line breaks are changed to two Unix line breaks. In Mac mode only Mac line breaks are changed to two Unix line breaks.

unix2dos: Only Unix line breaks are changed to two DOS line breaks. In Mac mode Unix line breaks are changed to two Mac line breaks.

-m, --add-bom

Write a Byte Order Mark (BOM) in the output file. By default an UTF-8 BOM is written.

When the input file is UTF-16, and the option -u

is used, an UTF-16 BOM will be written.

Never use this option when the output encoding is other than UTF-8, UTF-16, or GB18030. See also section UNICODE.

-n, --newfile INFILE OUTFILE ...

New file mode. Convert file INFILE and write output to file OUTFILE. File names must be given in pairs and wildcard names should not be used or you will lose your files.

The person who starts the conversion in new file (paired) mode will be the owner of the converted file. The read/write permissions of the new file will be the permissions of the original file minus the umask(1) of the person who runs the conversion.

--no-allow-chown

Don't allow file ownership change in old file mode (default).

Abort conversion when the user and/or group ownership of the original file can't be preserved in old file mode. See also options -o

and -n

. This option is only available if dos2unix has support for preserving the user and group ownership of files.

-o, --oldfile FILE ...

Old file mode. Convert file FILE and overwrite output to it. The program defaults to run in this mode. Wildcard names may be used.

In old file (in-place) mode the converted file gets the same owner, group, and read/write permissions as the original file. Also when the file is converted by another user who has write permissions on the file (e.g. user root). The conversion will be aborted when it is not possible to preserve the original values. Change of owner could mean that the original owner is not able to read the file any more. Change of group could be a security risk, the file could be made readable for persons for whom it is not intended. Preservation of owner, group, and read/write permissions is only supported on Unix.

To check if dos2unix has support for preserving the user and group ownership of files type dos2unix -V

.

Conversion is always done via a temporary file. When an error occurs halfway the conversion, the temporary file is deleted and the original file stays intact. When the conversion is successful, the original file is replaced with the temporary file. You may have write permission on the original file, but no permission to put the same user and/or group ownership properties on the temporary file as the original file has. This means you are not able to preserve the user and/or group ownership of the original file. In this case you can use option --allow-chown

to continue with the conversion:

dos2unix --allow-chown foo.txt

Another option is to use new file mode:

dos2unix -n foo.txt foo.txt

The advantage of the --allow-chown

option is that you can use wildcards, and the ownership properties will be preserved when possible.

-q, --quiet

Quiet mode. Suppress all warnings and messages. The return value is zero. Except when wrong command-line options are used.

-r, --remove-bom

Remove Byte Order Mark (BOM). Do not write a BOM in the output file. This is the default behavior when converting to Unix line breaks. See also option -b

.

-s, --safe

Skip binary files (default).

The skipping of binary files is done to avoid accidental mistakes. Be aware that the detection of binary files is not 100% foolproof. Input files are scanned for binary symbols which are typically not found in text files. It is possible that a binary file contains only normal text characters. Such a binary file will mistakenly be seen as a text file.

-u, --keep-utf16

Keep the original UTF-16 encoding of the input file. The output file will be written in the same UTF-16 encoding, little or big endian, as the input file. This prevents transformation to UTF-8. An UTF-16 BOM will be written accordingly. This option can be disabled with the -ascii

option.

-ul, --assume-utf16le

Assume that the input file format is UTF-16LE.

When there is a Byte Order Mark in the input file the BOM has priority over this option.

When you made a wrong assumption (the input file was not in UTF-16LE format) and the conversion succeeded, you will get an UTF-8 output file with wrong text. You can undo the wrong conversion with iconv(1) by converting the UTF-8 output file back to UTF-16LE. This will bring back the original file.

The assumption of UTF-16LE works as a conversion mode. By switching to the default ascii mode the UTF-16LE assumption is turned off.

-ub, --assume-utf16be

Assume that the input file format is UTF-16BE.

This option works the same as option -ul

.

-v, --verbose

Display verbose messages. Extra information is displayed about Byte Order Marks and the amount of converted line breaks.

-F, --follow-symlink

Follow symbolic links and convert the targets.

-R, --replace-symlink

Replace symbolic links with converted files (original target files remain unchanged).

-S, --skip-symlink

Keep symbolic links and targets unchanged (default).

-V, --version

Display version information and exit.

MAC MODE

In normal mode line breaks are converted from DOS to Unix and vice versa. Mac line breaks are not converted.

In Mac mode line breaks are converted from Mac to Unix and vice versa. DOS line breaks are not changed.

To run in Mac mode use the command-line option -c mac

or use the commands mac2unix

or unix2mac

.

CONVERSION MODES

ascii

In mode ascii

only line breaks are converted. This is the default conversion mode.

Although the name of this mode is ASCII, which is a 7 bit standard, the actual mode is 8 bit. Use always this mode when converting Unicode UTF-8 files.

7bit

In this mode all 8 bit non-ASCII characters (with values from 128 to 255) are converted to a 7 bit space.

iso

Characters are converted between a DOS character set (code page) and ISO character set ISO-8859-1 (Latin-1) on Unix. DOS characters without ISO-8859-1 equivalent, for which conversion is not possible, are converted to a dot. The same counts for ISO-8859-1 characters without DOS counterpart.

When only option -iso

is used dos2unix will try to determine the active code page. When this is not possible dos2unix will use default code page CP437, which is mainly used in the USA. To force a specific code page use options -437

(US), -850

(Western European), -860

(Portuguese), -863

(French Canadian), or -865

(Nordic). Windows code page CP1252 (Western European) is also supported with option -1252

. For other code pages use dos2unix in combination with iconv(1). Iconv can convert between a long list of character encodings.

Never use ISO conversion on Unicode text files. It will corrupt UTF-8 encoded files.

Some examples:

Convert from DOS default code page to Unix Latin-1:

dos2unix -iso -n in.txt out.txt

Convert from DOS CP850 to Unix Latin-1:

dos2unix -850 -n in.txt out.txt

Convert from Windows CP1252 to Unix Latin-1:

dos2unix -1252 -n in.txt out.txt

Convert from Windows CP1252 to Unix UTF-8 (Unicode):

iconv -f CP1252 -t UTF-8 in.txt | dos2unix > out.txt

Convert from Unix Latin-1 to DOS default code page:

unix2dos -iso -n in.txt out.txt

Convert from Unix Latin-1 to DOS CP850:

unix2dos -850 -n in.txt out.txt

Convert from Unix Latin-1 to Windows CP1252:

unix2dos -1252 -n in.txt out.txt

Convert from Unix UTF-8 (Unicode) to Windows CP1252:

unix2dos < in.txt | iconv -f UTF-8 -t CP1252 > out.txt

See also <http://czyborra.com/charsets/codepages.html> and <http://czyborra.com/charsets/iso8859.html>.

UNICODE

Encodings

There exist different Unicode encodings. On Unix and Linux Unicode files are typically encoded in UTF-8 encoding. On Windows Unicode text files can be encoded in UTF-8, UTF-16, or UTF-16 big endian, but are mostly encoded in UTF-16 format.

Conversion

Unicode text files can have DOS, Unix or Mac line breaks, like regular text files.

All versions of dos2unix and unix2dos can convert UTF-8 encoded files, because UTF-8 was designed for backward compatibility with ASCII.

Dos2unix and unix2dos with Unicode UTF-16 support, can read little and big endian UTF-16 encoded text files. To see if dos2unix was built with UTF-16 support type dos2unix -V

.

On Unix/Linux UTF-16 encoded files are converted to the locale character encoding. Use the locale(1) command to find out what the locale character encoding is. When conversion is not possible a conversion error will occur and the file will be skipped.

On Windows UTF-16 files are by default converted to UTF-8. UTF-8 formatted text files are well supported on both Windows and Unix/Linux.

UTF-16 and UTF-8 encoding are fully compatible, there will no text be lost in the conversion. When an UTF-16 to UTF-8 conversion error occurs, for instance when the UTF-16 input file contains an error, the file will be skipped.

When option -u

is used, the output file will be written in the same UTF-16 encoding as the input file. Option -u

prevents conversion to UTF-8.

Dos2unix and unix2dos have no option to convert UTF-8 files to UTF-16.

ISO and 7-bit mode conversion do not work on UTF-16 files.

Byte Order Mark

On Windows Unicode text files typically have a Byte Order Mark (BOM), because many Windows programs (including Notepad) add BOMs by default. See also <http://en.wikipedia.org/wiki/Byte_order_mark>.

On Unix Unicode files typically don't have a BOM. It is assumed that text files are encoded in the locale character encoding.

Dos2unix can only detect if a file is in UTF-16 format if the file has a BOM. When an UTF-16 file doesn't have a BOM, dos2unix will see the file as a binary file.

Use option -ul

or -ub

to convert an UTF-16 file without BOM.

Dos2unix writes by default no BOM in the output file. With option -b

Dos2unix writes a BOM when the input file has a BOM.

Unix2dos writes by default a BOM in the output file when the input file has a BOM. Use option -r

to remove the BOM.

Dos2unix and unix2dos write always a BOM when option -m

is used.

Unicode file names on Windows

Dos2unix has optional support for reading and writing Unicode file names in the Windows Command Prompt. That means that dos2unix can open files that have characters in the name that are not part of the default system ANSI code page. To see if dos2unix for Windows was built with Unicode file name support type dos2unix -V

.

There are some issues with displaying Unicode file names in a Windows console. See option -D

, --display-enc

. The file names may be displayed wrongly in the console, but the files will be written with the correct name.

Unicode examples

Convert from Windows UTF-16 (with BOM) to Unix UTF-8:

dos2unix -n in.txt out.txt

Convert from Windows UTF-16LE (without BOM) to Unix UTF-8:

dos2unix -ul -n in.txt out.txt

Convert from Unix UTF-8 to Windows UTF-8 with BOM:

unix2dos -m -n in.txt out.txt

Convert from Unix UTF-8 to Windows UTF-16:

unix2dos < in.txt | iconv -f UTF-8 -t UTF-16 > out.txt

GB18030

GB18030 is a Chinese government standard. A mandatory subset of the GB18030 standard is officially required for all software products sold in China. See also <http://en.wikipedia.org/wiki/GB_18030>.

GB18030 is fully compatible with Unicode, and can be considered an unicode transformation format. Like UTF-8, GB18030 is compatible with ASCII. GB18030 is also compatible with Windows code page 936, also known as GBK.

On Unix/Linux UTF-16 files are converted to GB18030 when the locale encoding is set to GB18030. Note that this will only work if the locale is supported by the system. Use command locale -a

to get the list of supported locales.

On Windows you need to use option -gb

to convert UTF-16 files to GB18030.

GB18030 encoded files can have a Byte Order Mark, like Unicode files.

EXAMPLES

Read input from 'stdin' and write output to 'stdout':

dos2unix < a.txt

cat a.txt | dos2unix

Convert and replace a.txt. Convert and replace b.txt:

dos2unix a.txt b.txt

dos2unix -o a.txt b.txt

Convert and replace a.txt in ascii conversion mode:

dos2unix a.txt

Convert and replace a.txt in ascii conversion mode, convert and replace b.txt in 7bit conversion mode:

dos2unix a.txt -c 7bit b.txt

dos2unix -c ascii a.txt -c 7bit b.txt

dos2unix -ascii a.txt -7 b.txt

Convert a.txt from Mac to Unix format:

dos2unix -c mac a.txt

mac2unix a.txt

Convert a.txt from Unix to Mac format:

unix2dos -c mac a.txt

unix2mac a.txt

Convert and replace a.txt while keeping original date stamp:

dos2unix -k a.txt

dos2unix -k -o a.txt

Convert a.txt and write to e.txt:

dos2unix -n a.txt e.txt

Convert a.txt and write to e.txt, keep date stamp of e.txt same as a.txt:

dos2unix -k -n a.txt e.txt

Convert and replace a.txt, convert b.txt and write to e.txt:

dos2unix a.txt -n b.txt e.txt

dos2unix -o a.txt -n b.txt e.txt

Convert c.txt and write to e.txt, convert and replace a.txt, convert and replace b.txt, convert d.txt and write to f.txt:

dos2unix -n c.txt e.txt -o a.txt b.txt -n d.txt f.txt

RECURSIVE CONVERSION

In a Unix shell the find(1) and xargs(1) commands can be used to run dos2unix recursively over all text files in a directory tree. For instance to convert all .txt files in the directory tree under the current directory type:

find . -name '*.txt' -print0 |xargs -0 dos2unix

The find(1) option -print0

and corresponding xargs(1) option -0

are needed when there are files with spaces or quotes in the name. Otherwise these options can be omitted. Another option is to use find(1) with the -exec

option:

find . -name '*.txt' -exec dos2unix {} \;

In a Windows Command Prompt the following command can be used:

for /R %G in (*.txt) do dos2unix "%G"

PowerShell users can use the following command in Windows PowerShell:

get-childitem -path . -filter '*.txt' -recurse | foreach-object {dos2unix $_.Fullname}

LOCALIZATION

LANG

The primary language is selected with the environment variable LANG. The LANG variable consists out of several parts. The first part is in small letters the language code. The second is optional and is the country code in capital letters, preceded with an underscore. There is also an optional third part: character encoding, preceded with a dot. A few examples for POSIX standard type shells:

export LANG=nl               Dutch

export LANG=nl_NL            Dutch, The Netherlands

export LANG=nl_BE            Dutch, Belgium

export LANG=es_ES            Spanish, Spain

export LANG=es_MX            Spanish, Mexico

export LANG=en_US.iso88591   English, USA, Latin-1 encoding

export LANG=en_GB.UTF-8      English, UK, UTF-8 encoding

For a complete list of language and country codes see the gettext manual: <http://www.gnu.org/software/gettext/manual/html_node/Usual-Language-Codes.html>

On Unix systems you can use the command locale(1) to get locale specific information.

LANGUAGE

With the LANGUAGE environment variable you can specify a priority list of languages, separated by colons. Dos2unix gives preference to LANGUAGE over LANG. For instance, first Dutch and then German: LANGUAGE=nl:de

. You have to first enable localization, by setting LANG (or LC_ALL) to a value other than ``C'', before you can use a language priority list through the LANGUAGE variable. See also the gettext manual: <http://www.gnu.org/software/gettext/manual/html_node/The-LANGUAGE-variable.html>

If you select a language which is not available you will get the standard English messages.

DOS2UNIX_LOCALEDIR

With the environment variable DOS2UNIX_LOCALEDIR the LOCALEDIR set during compilation can be overruled. LOCALEDIR is used to find the language files. The GNU default value is /usr/local/share/locale

. Option --version will display the LOCALEDIR that is used.

Example (POSIX shell):

export DOS2UNIX_LOCALEDIR=$HOME/share/locale

RETURN VALUE

On success, zero is returned. When a system error occurs the last system error will be returned. For other errors 1 is returned.

The return value is always zero in quiet mode, except when wrong command-line options are used.

STANDARDS

<http://en.wikipedia.org/wiki/Text_file>

<http://en.wikipedia.org/wiki/Carriage_return>

<http://en.wikipedia.org/wiki/Newline>

<http://en.wikipedia.org/wiki/Unicode>

AUTHORS

Benjamin Lin - <blin@socs.uts.edu.au>, Bernd Johannes Wuebben (mac2unix mode) - <wuebben@kde.org>, Christian Wurll (add extra newline) - <wurll@ira.uka.de>, Erwin Waterlander - <waterlan@xs4all.nl> (maintainer)

Project page: <http://waterlan.home.xs4all.nl/dos2unix.html>

SourceForge page: <http://sourceforge.net/projects/dos2unix/>

SEE ALSO

file(1) find(1) iconv(1) locale(1) xargs(1)

NAME SYNOPSIS DESCRIPTION OPTIONS MAC MODE CONVERSION MODES UNICODE Encodings Conversion Byte Order Mark Unicode file names on Windows Unicode examples GB18030 EXAMPLES RECURSIVE CONVERSION LOCALIZATION RETURN VALUE STANDARDS AUTHORS SEE ALSO

This document was created by man2html using the manual pages.

Time: 16:33:32 GMT, September 14, 2024

dos2unix

TOC Index

NAME

dos2unix - DOS/Mac to Unix and vice versa text file format converter

SYNOPSIS

dos2unix [options] [FILE ...] [-n INFILE OUTFILE ...]

unix2dos [options] [FILE ...] [-n INFILE OUTFILE ...]

DESCRIPTION

The Dos2unix package includes utilities dos2unix

and unix2dos

to convert plain text files in DOS or Mac format to Unix format and vice versa.

In DOS/Windows text files a line break, also known as newline, is a combination of two characters: a Carriage Return (CR) followed by a Line Feed (LF). In Unix text files a line break is a single character: the Line Feed (LF). In Mac text files, prior to Mac OS X, a line break was single Carriage Return (CR) character. Nowadays Mac OS uses Unix style (LF) line breaks.

Besides line breaks Dos2unix can also convert the encoding of files. A few DOS code pages can be converted to Unix Latin-1. And Windows Unicode (UTF-16) files can be converted to Unix Unicode (UTF-8) files.

Binary files are automatically skipped, unless conversion is forced.

Non-regular files, such as directories and FIFOs, are automatically skipped.

Symbolic links and their targets are by default kept untouched. Symbolic links can optionally be replaced, or the output can be written to the symbolic link target. Writing to a symbolic link target is not supported on Windows.

Dos2unix was modelled after dos2unix under SunOS/Solaris. There is one important difference with the original SunOS/Solaris version. This version does by default in-place conversion (old file mode), while the original SunOS/Solaris version only supports paired conversion (new file mode). See also options -o

and -n

. Another difference is that the SunOS/Solaris version uses by default iso mode conversion while this version uses by default ascii mode conversion.

OPTIONS

--

Treat all following options as file names. Use this option if you want to convert files whose names start with a dash. For instance to convert a file named ``-foo'', you can use this command:

dos2unix -- -foo

Or in new file mode:

dos2unix -n -- -foo out.txt

--allow-chown

Allow file ownership change in old file mode.

When this option is used, the conversion will not be aborted when the user and/or group ownership of the original file can't be preserved in old file mode. Conversion will continue and the converted file will get the same new ownership as if it was converted in new file mode. See also options -o

and -n

. This option is only available if dos2unix has support for preserving the user and group ownership of files.

-ascii

Convert only line breaks. This is the default conversion mode.

-iso

Conversion between DOS and ISO-8859-1 character set. See also section CONVERSION MODES.

-1252

Use Windows code page 1252 (Western European).

-437

Use DOS code page 437 (US). This is the default code page used for ISO conversion.

-850

Use DOS code page 850 (Western European).

-860

Use DOS code page 860 (Portuguese).

-863

Use DOS code page 863 (French Canadian).

-865

Use DOS code page 865 (Nordic).

-7

Convert 8 bit characters to 7 bit space.

-b, --keep-bom

Keep Byte Order Mark (BOM). When the input file has a BOM, write a BOM in the output file. This is the default behavior when converting to DOS line breaks. See also option -r

.

-c, --convmode CONVMODE

Set conversion mode. Where CONVMODE is one of: ascii, 7bit, iso, mac with ascii being the default.

-D, --display-enc ENCODING

Set encoding of displayed text. Where ENCODING is one of: ansi, unicode, unicodebom, utf8, utf8bom with ansi being the default.

This option is only available in dos2unix for Windows with Unicode file name support. This option has no effect on the actual file names read and written, only on how they are displayed.

There are several methods for displaying text in a Windows console based on the encoding of the text. They all have their own advantages and disadvantages.

ansi

Dos2unix's default method is to use ANSI encoded text. The advantage is that it is backwards compatible. It works with raster and TrueType fonts. In some regions you may need to change the active DOS OEM code page to the Windows system ANSI code page using the chcp

command, because dos2unix uses the Windows system code page.

The disadvantage of ansi is that international file names with characters not inside the system default code page are not displayed properly. You will see a question mark, or a wrong symbol instead. When you don't work with foreign file names this method is OK.

unicode, unicodebom

The advantage of unicode (the Windows name for UTF-16) encoding is that text is usually properly displayed. There is no need to change the active code page. You may need to set the console's font to a TrueType font to have international characters displayed properly. When a character is not included in the TrueType font you usually see a small square, sometimes with a question mark in it.

When you use the ConEmu console all text is displayed properly, because ConEmu automatically selects a good font.

The disadvantage of unicode is that it is not compatible with ASCII. The output is not easy to handle when you redirect it to another program.

When method unicodebom

is used the Unicode text will be preceded with a BOM (Byte Order Mark). A BOM is required for correct redirection or piping in PowerShell.

utf8, utf8bom

The advantage of utf8 is that it is compatible with ASCII. You need to set the console's font to a TrueType font. With a TrueType font the text is displayed similar as with the unicode

encoding.

The disadvantage is that when you use the default raster font all non-ASCII characters are displayed wrong. Not only unicode file names, but also translated messages become unreadable. On Windows configured for an East-Asian region you may see a lot of flickering of the console when the messages are displayed.

In a ConEmu console the utf8 encoding method works well.

When method utf8bom

is used the UTF-8 text will be preceded with a BOM (Byte Order Mark). A BOM is required for correct redirection or piping in PowerShell.

The default encoding can be changed with environment variable DOS2UNIX_DISPLAY_ENC by setting it to unicode

, unicodebom

, utf8

, or utf8bom

.

-f, --force

Force conversion of binary files.

-gb, --gb18030

On Windows UTF-16 files are by default converted to UTF-8, regardless of the locale setting. Use this option to convert UTF-16 files to GB18030. This option is only available on Windows. See also section GB18030.

-h, --help

Display help and exit.

-i[FLAGS], --info[=FLAGS] FILE ...

Display file information. No conversion is done.

The following information is printed, in this order: number of DOS line breaks, number of Unix line breaks, number of Mac line breaks, byte order mark, text or binary, file name.

Example output:

6       0       0  no_bom    text    dos.txt

0       6       0  no_bom    text    unix.txt

0       0       6  no_bom    text    mac.txt

6       6       6  no_bom    text    mixed.txt

50       0       0  UTF-16LE  text    utf16le.txt

0      50       0  no_bom    text    utf8unix.txt

50       0       0  UTF-8     text    utf8dos.txt

2     418     219  no_bom    binary  dos2unix.exe

Note that sometimes a binary file can be mistaken for a text file. See also option -s

.

Optionally extra flags can be set to change the output. One or more flags can be added.

0

Print the file information lines followed by a null character instead of a newline character. This enables correct interpretation of file names with spaces or quotes when flag c is used. Use this flag in combination with xargs(1) option -0

or --null

.

d

Print number of DOS line breaks.

u

Print number of Unix line breaks.

m

Print number of Mac line breaks.

b

Print the byte order mark.

t

Print if file is text or binary.

c

Print only the files that would be converted.

With the c

flag dos2unix will print only the files that contain DOS line breaks, unix2dos will print only file names that have Unix line breaks.

h

Print a header.

p

Show file names without path.

Examples:

Show information for all *.txt files:

dos2unix -i *.txt

Show only the number of DOS line breaks and Unix line breaks:

dos2unix -idu *.txt

Show only the byte order mark:

dos2unix --info=b *.txt

List the files that have DOS line breaks:

dos2unix -ic *.txt

List the files that have Unix line breaks:

unix2dos -ic *.txt

Convert only files that have DOS line breaks and leave the other files untouched:

dos2unix -ic0 *.txt | xargs -0 dos2unix

Find text files that have DOS line breaks:

find -name '*.txt' -print0 | xargs -0 dos2unix -ic

-k, --keepdate

Keep the date stamp of output file same as input file.

-L, --license

Display program's license.

-l, --newline

Add additional newline.

dos2unix: Only DOS line breaks are changed to two Unix line breaks. In Mac mode only Mac line breaks are changed to two Unix line breaks.

unix2dos: Only Unix line breaks are changed to two DOS line breaks. In Mac mode Unix line breaks are changed to two Mac line breaks.

-m, --add-bom

Write a Byte Order Mark (BOM) in the output file. By default an UTF-8 BOM is written.

When the input file is UTF-16, and the option -u

is used, an UTF-16 BOM will be written.

Never use this option when the output encoding is other than UTF-8, UTF-16, or GB18030. See also section UNICODE.

-n, --newfile INFILE OUTFILE ...

New file mode. Convert file INFILE and write output to file OUTFILE. File names must be given in pairs and wildcard names should not be used or you will lose your files.

The person who starts the conversion in new file (paired) mode will be the owner of the converted file. The read/write permissions of the new file will be the permissions of the original file minus the umask(1) of the person who runs the conversion.

--no-allow-chown

Don't allow file ownership change in old file mode (default).

Abort conversion when the user and/or group ownership of the original file can't be preserved in old file mode. See also options -o

and -n

. This option is only available if dos2unix has support for preserving the user and group ownership of files.

-o, --oldfile FILE ...

Old file mode. Convert file FILE and overwrite output to it. The program defaults to run in this mode. Wildcard names may be used.

In old file (in-place) mode the converted file gets the same owner, group, and read/write permissions as the original file. Also when the file is converted by another user who has write permissions on the file (e.g. user root). The conversion will be aborted when it is not possible to preserve the original values. Change of owner could mean that the original owner is not able to read the file any more. Change of group could be a security risk, the file could be made readable for persons for whom it is not intended. Preservation of owner, group, and read/write permissions is only supported on Unix.

To check if dos2unix has support for preserving the user and group ownership of files type dos2unix -V

.

Conversion is always done via a temporary file. When an error occurs halfway the conversion, the temporary file is deleted and the original file stays intact. When the conversion is successful, the original file is replaced with the temporary file. You may have write permission on the original file, but no permission to put the same user and/or group ownership properties on the temporary file as the original file has. This means you are not able to preserve the user and/or group ownership of the original file. In this case you can use option --allow-chown

to continue with the conversion:

dos2unix --allow-chown foo.txt

Another option is to use new file mode:

dos2unix -n foo.txt foo.txt

The advantage of the --allow-chown

option is that you can use wildcards, and the ownership properties will be preserved when possible.

-q, --quiet

Quiet mode. Suppress all warnings and messages. The return value is zero. Except when wrong command-line options are used.

-r, --remove-bom

Remove Byte Order Mark (BOM). Do not write a BOM in the output file. This is the default behavior when converting to Unix line breaks. See also option -b

.

-s, --safe

Skip binary files (default).

The skipping of binary files is done to avoid accidental mistakes. Be aware that the detection of binary files is not 100% foolproof. Input files are scanned for binary symbols which are typically not found in text files. It is possible that a binary file contains only normal text characters. Such a binary file will mistakenly be seen as a text file.

-u, --keep-utf16

Keep the original UTF-16 encoding of the input file. The output file will be written in the same UTF-16 encoding, little or big endian, as the input file. This prevents transformation to UTF-8. An UTF-16 BOM will be written accordingly. This option can be disabled with the -ascii

option.

-ul, --assume-utf16le

Assume that the input file format is UTF-16LE.

When there is a Byte Order Mark in the input file the BOM has priority over this option.

When you made a wrong assumption (the input file was not in UTF-16LE format) and the conversion succeeded, you will get an UTF-8 output file with wrong text. You can undo the wrong conversion with iconv(1) by converting the UTF-8 output file back to UTF-16LE. This will bring back the original file.

The assumption of UTF-16LE works as a conversion mode. By switching to the default ascii mode the UTF-16LE assumption is turned off.

-ub, --assume-utf16be

Assume that the input file format is UTF-16BE.

This option works the same as option -ul

.

-v, --verbose

Display verbose messages. Extra information is displayed about Byte Order Marks and the amount of converted line breaks.

-F, --follow-symlink

Follow symbolic links and convert the targets.

-R, --replace-symlink

Replace symbolic links with converted files (original target files remain unchanged).

-S, --skip-symlink

Keep symbolic links and targets unchanged (default).

-V, --version

Display version information and exit.

MAC MODE

In normal mode line breaks are converted from DOS to Unix and vice versa. Mac line breaks are not converted.

In Mac mode line breaks are converted from Mac to Unix and vice versa. DOS line breaks are not changed.

To run in Mac mode use the command-line option -c mac

or use the commands mac2unix

or unix2mac

.

CONVERSION MODES

ascii

In mode ascii

only line breaks are converted. This is the default conversion mode.

Although the name of this mode is ASCII, which is a 7 bit standard, the actual mode is 8 bit. Use always this mode when converting Unicode UTF-8 files.

7bit

In this mode all 8 bit non-ASCII characters (with values from 128 to 255) are converted to a 7 bit space.

iso

Characters are converted between a DOS character set (code page) and ISO character set ISO-8859-1 (Latin-1) on Unix. DOS characters without ISO-8859-1 equivalent, for which conversion is not possible, are converted to a dot. The same counts for ISO-8859-1 characters without DOS counterpart.

When only option -iso

is used dos2unix will try to determine the active code page. When this is not possible dos2unix will use default code page CP437, which is mainly used in the USA. To force a specific code page use options -437

(US), -850

(Western European), -860

(Portuguese), -863

(French Canadian), or -865

(Nordic). Windows code page CP1252 (Western European) is also supported with option -1252

. For other code pages use dos2unix in combination with iconv(1). Iconv can convert between a long list of character encodings.

Never use ISO conversion on Unicode text files. It will corrupt UTF-8 encoded files.

Some examples:

Convert from DOS default code page to Unix Latin-1:

dos2unix -iso -n in.txt out.txt

Convert from DOS CP850 to Unix Latin-1:

dos2unix -850 -n in.txt out.txt

Convert from Windows CP1252 to Unix Latin-1:

dos2unix -1252 -n in.txt out.txt

Convert from Windows CP1252 to Unix UTF-8 (Unicode):

iconv -f CP1252 -t UTF-8 in.txt | dos2unix > out.txt

Convert from Unix Latin-1 to DOS default code page:

unix2dos -iso -n in.txt out.txt

Convert from Unix Latin-1 to DOS CP850:

unix2dos -850 -n in.txt out.txt

Convert from Unix Latin-1 to Windows CP1252:

unix2dos -1252 -n in.txt out.txt

Convert from Unix UTF-8 (Unicode) to Windows CP1252:

unix2dos < in.txt | iconv -f UTF-8 -t CP1252 > out.txt

See also <http://czyborra.com/charsets/codepages.html> and <http://czyborra.com/charsets/iso8859.html>.

UNICODE

Encodings

There exist different Unicode encodings. On Unix and Linux Unicode files are typically encoded in UTF-8 encoding. On Windows Unicode text files can be encoded in UTF-8, UTF-16, or UTF-16 big endian, but are mostly encoded in UTF-16 format.

Conversion

Unicode text files can have DOS, Unix or Mac line breaks, like regular text files.

All versions of dos2unix and unix2dos can convert UTF-8 encoded files, because UTF-8 was designed for backward compatibility with ASCII.

Dos2unix and unix2dos with Unicode UTF-16 support, can read little and big endian UTF-16 encoded text files. To see if dos2unix was built with UTF-16 support type dos2unix -V

.

On Unix/Linux UTF-16 encoded files are converted to the locale character encoding. Use the locale(1) command to find out what the locale character encoding is. When conversion is not possible a conversion error will occur and the file will be skipped.

On Windows UTF-16 files are by default converted to UTF-8. UTF-8 formatted text files are well supported on both Windows and Unix/Linux.

UTF-16 and UTF-8 encoding are fully compatible, there will no text be lost in the conversion. When an UTF-16 to UTF-8 conversion error occurs, for instance when the UTF-16 input file contains an error, the file will be skipped.

When option -u

is used, the output file will be written in the same UTF-16 encoding as the input file. Option -u

prevents conversion to UTF-8.

Dos2unix and unix2dos have no option to convert UTF-8 files to UTF-16.

ISO and 7-bit mode conversion do not work on UTF-16 files.

Byte Order Mark

On Windows Unicode text files typically have a Byte Order Mark (BOM), because many Windows programs (including Notepad) add BOMs by default. See also <http://en.wikipedia.org/wiki/Byte_order_mark>.

On Unix Unicode files typically don't have a BOM. It is assumed that text files are encoded in the locale character encoding.

Dos2unix can only detect if a file is in UTF-16 format if the file has a BOM. When an UTF-16 file doesn't have a BOM, dos2unix will see the file as a binary file.

Use option -ul

or -ub

to convert an UTF-16 file without BOM.

Dos2unix writes by default no BOM in the output file. With option -b

Dos2unix writes a BOM when the input file has a BOM.

Unix2dos writes by default a BOM in the output file when the input file has a BOM. Use option -r

to remove the BOM.

Dos2unix and unix2dos write always a BOM when option -m

is used.

Unicode file names on Windows

Dos2unix has optional support for reading and writing Unicode file names in the Windows Command Prompt. That means that dos2unix can open files that have characters in the name that are not part of the default system ANSI code page. To see if dos2unix for Windows was built with Unicode file name support type dos2unix -V

.

There are some issues with displaying Unicode file names in a Windows console. See option -D

, --display-enc

. The file names may be displayed wrongly in the console, but the files will be written with the correct name.

Unicode examples

Convert from Windows UTF-16 (with BOM) to Unix UTF-8:

dos2unix -n in.txt out.txt

Convert from Windows UTF-16LE (without BOM) to Unix UTF-8:

dos2unix -ul -n in.txt out.txt

Convert from Unix UTF-8 to Windows UTF-8 with BOM:

unix2dos -m -n in.txt out.txt

Convert from Unix UTF-8 to Windows UTF-16:

unix2dos < in.txt | iconv -f UTF-8 -t UTF-16 > out.txt

GB18030

GB18030 is a Chinese government standard. A mandatory subset of the GB18030 standard is officially required for all software products sold in China. See also <http://en.wikipedia.org/wiki/GB_18030>.

GB18030 is fully compatible with Unicode, and can be considered an unicode transformation format. Like UTF-8, GB18030 is compatible with ASCII. GB18030 is also compatible with Windows code page 936, also known as GBK.

On Unix/Linux UTF-16 files are converted to GB18030 when the locale encoding is set to GB18030. Note that this will only work if the locale is supported by the system. Use command locale -a

to get the list of supported locales.

On Windows you need to use option -gb

to convert UTF-16 files to GB18030.

GB18030 encoded files can have a Byte Order Mark, like Unicode files.

EXAMPLES

Read input from 'stdin' and write output to 'stdout':

dos2unix < a.txt

cat a.txt | dos2unix

Convert and replace a.txt. Convert and replace b.txt:

dos2unix a.txt b.txt

dos2unix -o a.txt b.txt

Convert and replace a.txt in ascii conversion mode:

dos2unix a.txt

Convert and replace a.txt in ascii conversion mode, convert and replace b.txt in 7bit conversion mode:

dos2unix a.txt -c 7bit b.txt

dos2unix -c ascii a.txt -c 7bit b.txt

dos2unix -ascii a.txt -7 b.txt

Convert a.txt from Mac to Unix format:

dos2unix -c mac a.txt

mac2unix a.txt

Convert a.txt from Unix to Mac format:

unix2dos -c mac a.txt

unix2mac a.txt

Convert and replace a.txt while keeping original date stamp:

dos2unix -k a.txt

dos2unix -k -o a.txt

Convert a.txt and write to e.txt:

dos2unix -n a.txt e.txt

Convert a.txt and write to e.txt, keep date stamp of e.txt same as a.txt:

dos2unix -k -n a.txt e.txt

Convert and replace a.txt, convert b.txt and write to e.txt:

dos2unix a.txt -n b.txt e.txt

dos2unix -o a.txt -n b.txt e.txt

Convert c.txt and write to e.txt, convert and replace a.txt, convert and replace b.txt, convert d.txt and write to f.txt:

dos2unix -n c.txt e.txt -o a.txt b.txt -n d.txt f.txt

RECURSIVE CONVERSION

In a Unix shell the find(1) and xargs(1) commands can be used to run dos2unix recursively over all text files in a directory tree. For instance to convert all .txt files in the directory tree under the current directory type:

find . -name '*.txt' -print0 |xargs -0 dos2unix

The find(1) option -print0

and corresponding xargs(1) option -0

are needed when there are files with spaces or quotes in the name. Otherwise these options can be omitted. Another option is to use find(1) with the -exec

option:

find . -name '*.txt' -exec dos2unix {} \;

In a Windows Command Prompt the following command can be used:

for /R %G in (*.txt) do dos2unix "%G"

PowerShell users can use the following command in Windows PowerShell:

get-childitem -path . -filter '*.txt' -recurse | foreach-object {dos2unix $_.Fullname}

LOCALIZATION

LANG

The primary language is selected with the environment variable LANG. The LANG variable consists out of several parts. The first part is in small letters the language code. The second is optional and is the country code in capital letters, preceded with an underscore. There is also an optional third part: character encoding, preceded with a dot. A few examples for POSIX standard type shells:

export LANG=nl               Dutch

export LANG=nl_NL            Dutch, The Netherlands

export LANG=nl_BE            Dutch, Belgium

export LANG=es_ES            Spanish, Spain

export LANG=es_MX            Spanish, Mexico

export LANG=en_US.iso88591   English, USA, Latin-1 encoding

export LANG=en_GB.UTF-8      English, UK, UTF-8 encoding

For a complete list of language and country codes see the gettext manual: <http://www.gnu.org/software/gettext/manual/html_node/Usual-Language-Codes.html>

On Unix systems you can use the command locale(1) to get locale specific information.

LANGUAGE

With the LANGUAGE environment variable you can specify a priority list of languages, separated by colons. Dos2unix gives preference to LANGUAGE over LANG. For instance, first Dutch and then German: LANGUAGE=nl:de

. You have to first enable localization, by setting LANG (or LC_ALL) to a value other than ``C'', before you can use a language priority list through the LANGUAGE variable. See also the gettext manual: <http://www.gnu.org/software/gettext/manual/html_node/The-LANGUAGE-variable.html>

If you select a language which is not available you will get the standard English messages.

DOS2UNIX_LOCALEDIR

With the environment variable DOS2UNIX_LOCALEDIR the LOCALEDIR set during compilation can be overruled. LOCALEDIR is used to find the language files. The GNU default value is /usr/local/share/locale

. Option --version will display the LOCALEDIR that is used.

Example (POSIX shell):

export DOS2UNIX_LOCALEDIR=$HOME/share/locale

RETURN VALUE

On success, zero is returned. When a system error occurs the last system error will be returned. For other errors 1 is returned.

The return value is always zero in quiet mode, except when wrong command-line options are used.

STANDARDS

<http://en.wikipedia.org/wiki/Text_file>

<http://en.wikipedia.org/wiki/Carriage_return>

<http://en.wikipedia.org/wiki/Newline>

<http://en.wikipedia.org/wiki/Unicode>

AUTHORS

Benjamin Lin - <blin@socs.uts.edu.au>, Bernd Johannes Wuebben (mac2unix mode) - <wuebben@kde.org>, Christian Wurll (add extra newline) - <wurll@ira.uka.de>, Erwin Waterlander - <waterlan@xs4all.nl> (maintainer)

Project page: <http://waterlan.home.xs4all.nl/dos2unix.html>

SourceForge page: <http://sourceforge.net/projects/dos2unix/>

SEE ALSO

file(1) find(1) iconv(1) locale(1) xargs(1)

NAME SYNOPSIS DESCRIPTION OPTIONS MAC MODE CONVERSION MODES UNICODE Encodings Conversion Byte Order Mark Unicode file names on Windows Unicode examples GB18030 EXAMPLES RECURSIVE CONVERSION LOCALIZATION RETURN VALUE STANDARDS AUTHORS SEE ALSO

This document was created by man2html using the manual pages.

Time: 16:33:38 GMT, September 14, 2024

mandoc

TOC Index

BSD mandoc

NAME

mandoc - format and display UNIX manuals

SYNOPSIS

mandoc [-V ] [-I os = name ] [-m format ] [-O option ] [-T output ] [-W level ] [ ]

DESCRIPTION

The utility formats UNIX manual pages for display.

By default, reads mdoc(7) or man(7) text from stdin, implying -m andoc , and produces -T ascii output.

The arguments are as follows:

-I os = name

Override the default operating system name for the mdoc(7) ` ' macro.

-m format

Input format. See Sx Input Formats for available formats. Defaults to -m andoc .

-O option

Comma-separated output options.

-T output

Output format. See Sx Output Formats for available formats. Defaults to -T ascii .

-V

Print version and exit.

-W level

Specify the minimum message level to be reported on the standard error output and to affect the exit status. The level can be warning , error , or fatal . The default is -W fatal ; -W all is an alias for -W warning . See Sx EXIT STATUS and Sx DIAGNOSTICS for details.

The special option -W stop tells to exit after parsing a file that causes warnings or errors of at least the requested level. No formatted output will be produced from that file. If both a level and stop are requested, they can be joined with a comma, for example -W error , stop .

file

Read input from zero or more files. If unspecified, reads from stdin. If multiple files are specified, will halt with the first failed parse.

Input Formats

The utility accepts mdoc(7) and man(7) input with -m doc and -m an , respectively. The mdoc(7) format is strongly recommended; man(7) should only be used for legacy manuals.

A third option, -m andoc , which is also the default, determines encoding on-the-fly: if the first non-comment macro is ` ' or ` ' the mdoc(7) parser is used; otherwise, the man(7) parser is used.

If multiple files are specified with -m andoc , each has its file-type determined this way. If multiple files are specified and -m doc or -m an is specified, then this format is used exclusively.

Output Formats

The utility accepts the following -T arguments, which correspond to output modes:

-T ascii

Produce 7-bit ASCII output. This is the default. See Sx ASCII Output .

-T html

Produce strict CSS1/HTML-4.01 output. See Sx HTML Output .

-T lint

Parse only: produce no output. Implies -W warning .

-T locale

Encode output using the current locale. See Sx Locale Output .

-T man

Produce man(7) format output. See Sx Man Output .

-T pdf

Produce PDF output. See Sx PDF Output .

-T ps

Produce PostScript output. See Sx PostScript Output .

-T tree

Produce an indented parse tree.

-T utf8

Encode output in the UTF-8 multi-byte format. See Sx UTF-8 Output .

-T xhtml

Produce strict CSS1/XHTML-1.0 output. See Sx XHTML Output .

If multiple input files are specified, these will be processed by the corresponding filter in-order.

ASCII Output

Output produced by -T ascii , which is the default, is rendered in standard 7-bit ASCII documented in ascii(7).

Font styles are applied by using back-spaced encoding such that an underlined character `c' is rendered as `_ \[bs] c , ' where `\[bs]' is the back-space character number 8. Emboldened characters are rendered as `c \[bs] c . '

The special characters documented in mandoc_char7 are rendered best-effort in an ASCII equivalent. If no equivalent is found, `?' is used instead.

Output width is limited to 78 visible columns unless literal input lines exceed this limit.

The following -O arguments are accepted:

indent = indent

The left margin for normal text is set to indent blank characters instead of the default of five for mdoc(7) and seven for man(7). Increasing this is not recommended; it may result in degraded formatting, for example overfull lines or ugly line breaks.

width = width

The output width is set to width , which will normalise to >60.

HTML Output

Output produced by -T html conforms to HTML-4.01 strict.

The example.style.css file documents style-sheet classes available for customising output. If a style-sheet is not specified with -O style , -T html defaults to simple output readable in any graphical or text-based web browser.

Special characters are rendered in decimal-encoded UTF-8.

The following -O arguments are accepted:

fragment

Omit the Aq !DOCTYPE declaration and the Aq html , Aq head , and Aq body elements and only emit the subtree below the Aq body element. The style argument will be ignored. This is useful when embedding manual content within existing documents.

includes = fmt

The string fmt , for example, ../src/%I.html , is used as a template for linked header files (usually via the `In ' macro). Instances of `%I' are replaced with the include filename. The default is not to present a hyperlink.

man = fmt

The string fmt , for example, ../html%S/%N.%S.html , is used as a template for linked manuals (usually via the ` ' macro). Instances of `%N' and `%S' are replaced with the linked manual's name and section, respectively. If no section is included, section 1 is assumed. The default is not to present a hyperlink.

style = style.css

The file style.css is used for an external style-sheet. This must be a valid absolute or relative URI.

Locale Output

Locale-depending output encoding is triggered with -T locale . This option is not available on all systems: systems without locale support, or those whose internal representation is not natively UCS-4, will fall back to -T ascii . See Sx ASCII Output for font style specification and available command-line arguments.

Man Output

Translate input format into man(7) output format. This is useful for distributing manual sources to legacy systems lacking mdoc(7) formatters.

If mdoc(7) is passed as input, it is translated into man(7). If the input format is man(7), the input is copied to the output, expanding any roff(7) `so' requests. The parser is also run, and as usual, the -W level controls which Sx DIAGNOSTICS are displayed before copying the input to the output.

PDF Output

PDF-1.1 output may be generated by -T pdf . See Sx PostScript Output for -O arguments and defaults.

PostScript Output

PostScript Qq Adobe-3.0 Level-2 pages may be generated by -T ps . Output pages default to letter sized and are rendered in the Times font family, 11-point. Margins are calculated as 1/9 the page length and width. Line-height is 1.4m.

Special characters are rendered as in Sx ASCII Output .

The following -O arguments are accepted:

paper = name

The paper size name may be one of a3 , a4 , a5 , legal , or letter . You may also manually specify dimensions as NNxNN , width by height in millimetres. If an unknown value is encountered, letter is used.

UTF-8 Output

Use -T utf8 to force a UTF-8 locale. See Sx Locale Output for details and options.

XHTML Output

Output produced by -T xhtml conforms to XHTML-1.0 strict.

See Sx HTML Output for details; beyond generating XHTML tags instead of HTML tags, these output modes are identical.

EXIT STATUS

The utility exits with one of the following values, controlled by the message level associated with the -W option:

0

No warnings or errors occurred, or those that did were ignored because they were lower than the requested level .

2

At least one warning occurred, but no error, and -W warning was specified.

3

At least one parsing error occurred, but no fatal error, and -W error or -W warning was specified.

4

A fatal parsing error occurred.

5

Invalid command line arguments were specified. No input files have been read.

6

An operating system error occurred, for example memory exhaustion or an error accessing input files. Such errors cause to exit at once, possibly in the middle of parsing or formatting a file.

Note that selecting -T lint output mode implies -W warning .

EXAMPLES

To page manuals to the terminal:

$ mandoc -Wall,stop mandoc.1 2&1 | less

$ mandoc mandoc.1 mdoc.3 mdoc.7 | less

To produce HTML manuals with style.css as the style-sheet:

$ mandoc -Thtml -Ostyle=style.css mdoc.7 mdoc.7.html

To check over a large set of manuals:

$ mandoc -Tlint `find /usr/src -name \*\.[1-9]`

To produce a series of PostScript manuals for A4 paper:

$ mandoc -Tps -Opaper=a4 mdoc.7 man.7 manuals.ps

Convert a modern mdoc(7) manual to the older man(7) format, for use on systems lacking an mdoc(7) parser:

$ mandoc -Tman foo.mdoc foo.man

DIAGNOSTICS

Messages displayed by follow this format:

Line and column numbers start at 1. Both are omitted for messages referring to an input file as a whole. Macro names and arguments are omitted where meaningless. Fatal messages about invalid command line arguments or operating system errors, for example when memory is exhausted, may also omit the file and level fields.

Message levels have the following meanings:

syserr

Opening or reading an input file failed, so the parser cannot even be started and no output is produced from that input file.

fatal

The parser is unable to parse a given input file at all. No formatted output is produced from that input file.

error

An input file contains syntax that cannot be safely interpreted, either because it is invalid or because does not implement it yet. By discarding part of the input or inserting missing tokens, the parser is able to continue, and the error does not prevent generation of formatted output, but typically, preparing that output involves information loss, broken document structure or unintended formatting.

warning

An input file uses obsolete, discouraged or non-portable syntax. All the same, the meaning of the input is unambiguous and a correct rendering can be produced. Documents causing warnings may render poorly when using other formatting tools instead of .

Messages of the warning and error levels are hidden unless their level, or a lower level, is requested using a -W option or -T lint output mode.

Warnings related to the document prologue

missing manual title, using UNTITLED

(mdoc) A macro has no arguments, or there is no macro before the first non-prologue macro.

missing manual title, using dqdq

(man) There is no TH macro, or it has no arguments.

lower case character in document title

(mdoc , man) The title is still used as given in the or TH macro.

missing manual section, using dqdq

(mdoc , man) A or TH macro lacks the mandatory section argument.

unknown manual section

(mdoc) The section number in a line is invalid, but still used.

unknown manual volume or arch

(mdoc) The volume name in a line is invalid, but still used. The manual is assumed to be architecture-independent.

missing date, using today's date

(mdoc, man) The document was parsed as mdoc(7) and it has no macro, or the macro has no arguments or only empty arguments; or the document was parsed as man(7) and it has no TH macro, or the TH macro has less than three arguments or its third argument is empty.

cannot parse date, using it verbatim

(mdoc , man) The date given in a or TH macro does not follow the conventional format.

missing macro, using dqdq

(mdoc) The default or current system is not shown in this case.

duplicate prologue macro

(mdoc) One of the prologue macros occurs more than once. The last instance overrides all previous ones.

late prologue macro

(mdoc) A or macro occurs after some non-prologue macro, but still takes effect.

skipping late title macro

(mdoc) The macro can only occur before the first non-prologue macro because traditional formatters write the page header before parsing the document body. Even though this technical restriction does not apply to , traditional semantics is preserved. The late macro is discarded including its arguments.

prologue macros out of order

(mdoc) The prologue macros are not given in the conventional order , . All three macros are used even when given in another order.

Warnings regarding document structure

.so is fragile, better use ln(1)

(roff) Including files only works when the parser program runs with the correct current working directory.

no document body

(mdoc , man) The document body contains neither text nor macros. An empty document is shown, consisting only of a header and a footer line.

content before first section header

(mdoc , man) Some macros or text precede the first

or SH section header. The offending macros and text are parsed and added to the top level of the syntax tree, outside any section block. Sy "first section is not NAME" (mdoc) The argument of the first

macro is not `NAME .' This may confuse makewhatis(8) and apropos(1). Sy "bad NAME section contents" (mdoc) The last node in the NAME section is not an - macro, or any preceding macro is not , or the NAME section is completely empty. This may confuse makewhatis(8) and apropos(1). Sy "sections out of conventional order" (mdoc) A standard section occurs after another section it usually precedes. All section titles are used as given, and the order of sections is not changed. Sy "duplicate section title" (mdoc) The same standard section title occurs more than once. Sy "unexpected section" (mdoc) A standard section header occurs in a section of the manual where it normally isn't useful.

Warnings related to macros and nesting

obsolete macro

(mdoc) See the mdoc(7) manual for replacements.

skipping paragraph macro

In mdoc(7) documents, this happens

at the beginning and end of sections and subsections

right before non-compact lists and displays

at the end of items in non-column, non-compact lists

and for multiple consecutive paragraph macros.

In man(7) documents, it happens

for empty P , PP , and LP macros

for IP macros having neither head nor body arguments

for br or sp right after SH or SS

moving paragraph macro out of list

(mdoc) A list item in a

list contains a trailing paragraph macro. The paragraph macro is moved after the end of the list.

skipping no-space macro

(mdoc) An input line begins with an macro. The macro is ignored.

blocks badly nested

(mdoc) If two blocks intersect, one should completely contain the other. Otherwise, rendered output is likely to look strange in any output format, and rendering in SGML-based output formats is likely to be outright wrong because such languages do not support badly nested blocks at all. Typical examples of badly nested blocks are Qq Ic Ao Bo Ac Bc and Qq Ic Ao Bq Ac . In these examples, Ac breaks Bo and Bq , respectively.

nested displays are not portable

(mdoc) A D1 , or

display occurs nested inside another display. This works with , but fails with most other implementations.

moving content out of list

(mdoc) A

list block contains text or macros before the first

macro. The offending children are moved before the beginning of the list.

.Vt block has child macro

(mdoc) The Vt macro supports plain text arguments only. Formatting may be ugly and semantic searching for the affected content might not work.

fill mode already enabled, skipping

(man) A fi request occurs even though the document is still in fill mode, or already switched back to fill mode. It has no effect.

fill mode already disabled, skipping

(man) An nf request occurs even though the document already switched to no-fill mode and did not switch back to fill mode yet. It has no effect.

line scope broken

(man) While parsing the next-line scope of the previous macro, another macro is found that prematurely terminates the previous one. The previous, interrupted macro is deleted from the parse tree.

Warnings related to missing arguments

skipping empty request

(roff) The macro name is missing from a macro definition request.

conditional request controls empty scope

(roff) A conditional request is only useful if any of the following follows it on the same logical input line:

The `\{' keyword to open a multi-line scope.

A request or macro or some text, resulting in a single-line scope.

The immediate end of the logical line without any intervening whitespace, resulting in next-line scope.

Here, a conditional request is followed by trailing whitespace only, and there is no other content on its logical input line. Note that it doesn't matter whether the logical input line is split across multiple physical input lines using `\' line continuation characters. This is one of the rare cases where trailing whitespace is syntactically significant. The conditional request controls a scope containing whitespace only, so it is unlikely to have a significant effect, except that it may control a following el clause.

skipping empty macro

(mdoc) The indicated macro has no arguments and hence no effect.

empty argument, using 0n

(mdoc) The required width is missing after or

-offset or -width.

argument count wrong

(mdoc , man) The indicated macro has too few or too many arguments. The syntax tree will contain the wrong number of arguments as given. Formatting behaviour depends on the specific macro in question. Note that the same message may also occur as an ERROR, see below.

missing display type, using -ragged

(mdoc) The macro is invoked without the required display type.

list type is not the first argument

(mdoc) In a

macro, at least one other argument precedes the type argument. The utility copes with any argument order, but some other mdoc(7) implementations do not.

missing -width in -tag list, using 8n

(mdoc) Every

macro having the -tag argument requires -width , too.

missing utility name, using dqdq

(mdoc) The Ex -std macro is called without an argument before has first been called with an argument.

empty head in list item

(mdoc) In a

-diag , -hang , -inset , -ohang , or -tag list, an

macro lacks the required argument. The item head is left empty.

empty list item

(mdoc) In a

-bullet , -dash , -enum , or -hyphen list, an

block is empty. An empty list item is shown.

missing font type

(mdoc) A Bf macro has no argument. It switches to the default font, \fR .

unknown font type

(mdoc) The Bf argument is invalid. The default font \fR is used instead.

missing -std argument, adding it

(mdoc) An Ex or Rv macro lacks the required -std argument. The utility assumes -std even when it is not specified, but other implementations may not.

Warnings related to bad macro arguments

unterminated quoted argument

(roff) Macro arguments can be enclosed in double quote characters such that space characters and macro names contained in the quoted argument need not be escaped. The closing quote of the last argument of a macro can be omitted. However, omitting it is not recommended because it makes the code harder to read.

duplicate argument

(mdoc) A or

macro has more than one -compact , more than one -offset , or more than one -width argument. All but the last instances of these arguments are ignored.

skipping duplicate argument

(mdoc) An An macro has more than one -split or -nosplit argument. All but the first of these arguments are ignored.

skipping duplicate display type

(mdoc) A macro has more than one type argument; the first one is used.

skipping duplicate list type

(mdoc) A

macro has more than one type argument; the first one is used.

skipping -width argument

(mdoc) A

-column , -diag , -ohang , -inset , or -item list has a -width argument. That has no effect.

unknown AT&T UNIX version

(mdoc) An AT&T System macro has an invalid argument. It is used verbatim, with Qq AT&T UNIX prefixed to it.

invalid content in

(mdoc) An

block contains plain text or non-% macros. The bogus content is left in the syntax tree. Formatting may be poor. Sy "invalid Boolean argument" (mdoc) An macro has an argument other than on or off . The invalid argument is moved out of the macro, which leaves the macro empty, causing it to toggle the spacing mode. Sy "unknown font, skipping request" (man) A roff(7) ft request has an invalid argument.

Warnings related to plain text

blank line in fill mode, using .sp

(mdoc) The meaning of blank input lines is only well-defined in non-fill mode: In fill mode, line breaks of text input lines are not supposed to be significant. However, for compatibility with groff, blank lines in fill mode are replaced with sp requests.

tab in filled text

(mdoc , man) The meaning of tab characters is only well-defined in non-fill mode: In fill mode, whitespace is not supposed to be significant on text input lines. As an implementation dependent choice, tab characters on text lines are passed through to the formatters in any case. Given that the text before the tab character will be filled, it is hard to predict which tab stop position the tab will advance to.

whitespace at end of input line

(mdoc , man , roff) Whitespace at the end of input lines is almost never semantically significant --- but in the odd case where it might be, it is extremely confusing when reviewing and maintaining documents.

bad comment style

(roff) Comment lines start with a dot, a backslash, and a double-quote character. The utility treats the line as a comment line even without the backslash, but leaving out the backslash might not be portable.

invalid escape sequence

(roff) An escape sequence has an invalid opening argument delimiter, lacks the closing argument delimiter, or the argument has too few characters. If the argument is incomplete, \* and \n expand to an empty string, \B to the digit `0 ,' and \w to the length of the incomplete argument. All other invalid escape sequences are ignored.

undefined string, using dqdq

(roff) If a string is used without being defined before, its value is implicitly set to the empty string. However, defining strings explicitly before use keeps the code more readable.

Errors related to equations

"unexpected equation scope closure"

"equation scope open on exit"

"overlapping equation scopes"

"unexpected end of equation"

"equation syntax error"

Errors related to tables

"bad table syntax"

"bad table option"

"bad table layout"

"no table layout cells specified"

"no table data cells specified"

"ignore data in cell"

"data block still open"

"ignoring extra data cells"

Errors related to roff, mdoc, and man code

input stack limit exceeded, infinite loop?

(roff) Explicit recursion limits are implemented for the following features, in order to prevent infinite loops:

expansion of nested escape sequences including expansion of strings and number registers,

expansion of nested user-defined macros,

and so file inclusion.

When a limit is hit, the output is incorrect, typically losing some content, but the parser can continue.

skipping bad character

(mdoc , man , roff) The input file contains a byte that is not a printable ascii(7) character. The message mentions the character number. The offending byte is replaced with a question mark (`? .' ) Consider editing the input file to replace the byte with an ASCII transliteration of the intended character.

skipping unknown macro

(mdoc , man , roff) The first identifier on a request or macro line is neither recognized as a roff(7) request, nor as a user-defined macro, nor, respectively, as an mdoc(7) or man(7) macro. It may be mistyped or unsupported. The request or macro is discarded including its arguments.

skipping item outside list

(mdoc) An

macro occurs outside any

list. It is discarded including its arguments.

skipping column outside column list

(mdoc) A Ta macro occurs outside any

block. It is discarded including its arguments.

skipping end of block that is not open

(mdoc , man , eqn , tbl , roff) Various syntax elements can only be used to explicitly close blocks that have previously been opened. An mdoc(7) block closing macro, a man(7) RE or UE macro, or the end of an equation, table, or roff(7) conditional request is encountered but no matching block is open. The offending request or macro is discarded.

inserting missing end of block

(mdoc , tbl) Various mdoc(7) macros as well as tables require explicit closing by dedicated macros. A block that doesn't support bad nesting ends before all of its children are properly closed. The open child nodes are closed implicitly.

scope open on exit

(mdoc , man , eqn , tbl , roff) At the end of the document, an explicit mdoc(7) block, a man(7) next-line scope or RS or UR block, an equation, table, or roff(7) conditional or ignore block is still open. The open block is closed implicitly.

escaped character not allowed in a name

(roff) Macro, string and register identifiers consist of printable, non-whitespace ASCII characters. Escape sequences and characters and strings expressed in terms of them cannot form part of a name. The first argument of an am , as , de , ds , nr , or rr request, or any argument of an rm request, or the name of a request or user defined macro being called, is terminated by an escape sequence. In the cases of as , ds , and nr , the request has no effect at all. In the cases of am , de , rr , and rm , what was parsed up to this point is used as the arguments to the request, and the rest of the input line is discarded including the escape sequence. When parsing for a request or a user-defined macro name to be called, only the escape sequence is discarded. The characters preceding it are used as the request or macro name, the characters following it are used as the arguments to the request or macro.

argument count wrong

(mdoc , man , roff) The indicated request or macro has too few or too many arguments. The syntax tree will contain the wrong number of arguments as given. Formatting behaviour depends on the specific request or macro in question. Note that the same message may also occur as a WARNING, see above.

missing list type, using -item

(mdoc) A

macro fails to specify the list type.

missing manual name, using dqdq

(mdoc) The first call to lacks the required argument.

uname(3) system call failed, using UNKNOWN

(mdoc) The macro is called without arguments, and the uname(3) system call failed. As a workaround, can be compiled with -D OSNAME=dq\dq string \dqdq .

unknown standard specifier

(mdoc) An St macro has an unknown argument and is discarded.

skipping request without numeric argument

(roff) An it request has a non-numeric or negative argument or no argument at all. The invalid request is ignored.

skipping all arguments

(mdoc , man , eqn , roff) An mdoc(7) is currently in beta test. , Ef , ,

or Ud macro, an

macro in a list that don't support item heads, a man(7) LP , P , or PP macro, an eqn(7) EN macro, or a roff(7) `..' block closing request is invoked with at least one argument. All arguments are ignored.

skipping excess arguments

(mdoc , roff) The Bf macro is invoked with more than one argument, or a request of the de family is invoked with more than two arguments. The excess arguments are ignored.

FATAL errors

input too large

(mdoc , man) Currently, cannot handle input files larger than its arbitrary size limit of 2^31 bytes (2 Gigabytes). Since useful manuals are always small, this is not a problem in practice. Parsing is aborted as soon as the condition is detected.

NOT IMPLEMENTED:

(mdoc) For security reasons, the macro does not support the -file argument. By requesting the inclusion of a sensitive file, a malicious document might otherwise trick a privileged user into inadvertently displaying the file on the screen, revealing the file content to bystanders. The parser exits immediately.

NOT IMPLEMENTED: .so with absolute path or dq..dq

(roff) For security reasons, allows so file inclusion requests only with relative paths and only without ascending to any parent directory. By requesting the inclusion of a sensitive file, a malicious document might otherwise trick a privileged user into inadvertently displaying the file on the screen, revealing the file content to bystanders. The parser exits immediately.

.so request failed

(roff) Servicing a so request requires reading an external file. While trying to do so, an open(2), stat(2), or read(2) system call failed. The parser exits immediately. Before showing this message, always shows another message explaining why the system call failed.

COMPATIBILITY

This section summarises compatibility with GNU troff. Each input and output format is separately noted.

ASCII Compatibility

- Unrenderable unicode codepoints specified with `\[uNNNN]' escapes are printed as `?' in mandoc. In GNU troff, these raise an error.

- The `
'

and

`

'

macros of

mdoc(7)

in

-T ascii

are synonyms, as are -filled and -ragged.

- In historic GNU troff, the

`

'

mdoc(7)

macro does not underline when scoped under an

`

- '

in the FILES section.

This behaves correctly in

.

- A list or display following the

`

' mdoc(7) macro in -T ascii does not assert a prior vertical break, just as it doesn't with `
.
' The `na' man(7) macro in -T ascii has no effect. Words aren't hyphenated.

HTML/XHTML Compatibility

- The `\fP' escape will revert the font to the previous `\f' escape, not to the last rendered decoration, which is now dictated by CSS instead of hard-coded. It also will not span past the current scope, for the same reason. Note that in Sx ASCII Output mode, this will work fine.

- The mdoc(7) `
' and `

' list types render similarly (no break following overreached left-hand side) due to the expressive constraints of HTML.

The man(7) `IP' and `TP' lists render similarly.

SEE ALSO

eqn(7), man(7), mandoc_char7, mdoc(7), roff(7), tbl(7)

AUTHORS
The utility was written by An Kristaps Dzonsons Aq Mt kristaps@bsd.lv .
CAVEATS
In -T html and -T xhtml , the maximum size of an element attribute is determined by BUFSIZ , which is usually 1024 bytes. Be aware of this when setting long link formats such as -O style = really/long/link .
Nesting elements within next-line element scopes of -m an , such as `br' within an empty `B ,' will confuse -T html and -T xhtml and cause them to forget the formatting of the prior next-line scope.

The `aq' control character is an alias for the standard macro control character and does not emit a line-break as stipulated in GNU troff.

NAME SYNOPSIS DESCRIPTION Input Formats Output Formats ASCII Output HTML Output Locale Output Man Output PDF Output PostScript Output UTF-8 Output XHTML Output EXIT STATUS EXAMPLES DIAGNOSTICS Warnings related to the document prologue Warnings regarding document structure Warnings related to macros and nesting Warnings related to missing arguments Warnings related to bad macro arguments Warnings related to plain text Errors related to equations Errors related to tables Errors related to roff, mdoc, and man code FATAL errors COMPATIBILITY ASCII Compatibility . HTML/XHTML Compatibility SEE ALSO AUTHORS CAVEATS
This document was created by man2html using the manual pages.

Time: 16:33:39 GMT, September 14, 2024

MouseFinder.cfg

TOC Index

NAME

MouseFinder.cfg - configuration file for MouseFinder

SYNOPSIS

etc/MouseFinder.cfg

AVAILABILITY

WA2L/WinTools

DESCRIPTION

This is the configuration file for the MouseFinder command.

FILEFORMAT

Rows starting with a # are considered as comments.

The file format is OPTION=VALUE

Between the OPTION , the = and the VALUE are no spaces.

OPTIONS

X

x coordinate of the MouseFinder arrow on screen.

The coordinate can be a formula, where the variables MONITOR_WIDTH_# and MONITOR_HEIGHT_# can be used ( # is the number of the monitor).

Example: X=20

Default: X=

Y

y coordinate of the MouseFinder arrow on screen.

The coordinate can be a formula, where the variables MONITOR_WIDTH_# and MONITOR_HEIGHT_# can be used ( # is the number of the monitor).

Example: Y=20

Default: Y=

POSITION

predefined calculated positions of the MouseFinder arrow on screen.

Possible settings are: CENTER, NORTH, NORTHEAST, EAST, SOUTHEAST, SOUTH, SOUTHWEST, WEST and NORTHWEST.

Example: POSITION=SOUTHWEST

Default: POSITION=CENTER

MARGIN

margin to the screen when using the POSITION setting.

Example: MARGIN=10

Default: MARGIN=5

TASKBAR

height of the task bar when using the POSITION setting.

Example: MARGIN=60

Default: MARGIN=42

LANG

language of the user interface.

Possible language settings are: en and de.

Example: LANG=de

Default: LANG=en

SEE ALSO

wintoolsintro(1), mousefinder(1)

NOTES

-

BUGS

-

AUTHOR

MouseFinder.cfg was developed by by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/doc/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

x=x-coordinate

y=y-coordinate

lang=language

language of the user interface.

Possible language settings are: en and de.

NAME SYNOPSIS AVAILABILITY DESCRIPTION FILEFORMAT OPTIONS SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:28 GMT, September 14, 2024

pack.cfg

TOC Index

NAME

pack.cfg - configuration file for pack

SYNOPSIS

WA2LWinTools/lib/pack.cfg

AVAILABILITY

WA2L/WinTools

DESCRIPTION

This is the configuration file for the pack command.

FILEFORMAT

Rows starting with a # are considered as comments.

The file format is OPTION=VALUE

Between the OPTION, the = and the VALUE are no spaces.

OPTIONS

VERSION

major and minor version number in the format MAJOR.MINOR. Where the minor version number is a one digit number and the major version number grows over time to multiple digits.

Example: VERSION=1.5

Default: VERSION=1.0

PATCH

two digit patch version number.

Example: PATCH=74

Default: PATCH=00

EXAMPLES

-

SEE ALSO

wintoolsintro(1), pack(1m)

NOTES

-

BUGS

-

AUTHOR

pack.cfg was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION FILEFORMAT OPTIONS EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:32:34 GMT, September 14, 2024

pdfinfo

TOC Index

NAME

pdfinfo - Portable Document Format (PDF) document information extractor (version 3.03)

SYNOPSIS

pdfinfo [options] [PDF-file]

DESCRIPTION

Pdfinfo prints the contents of the 'Info' dictionary (plus some other useful information) from a Portable Document Format (PDF) file.

The 'Info' dictionary contains the following values:

title

subject

keywords

author

creator

producer

creation date

modification date

In addition, the following information is printed:

tagged (yes/no)

form (AcroForm / XFA / none)

javascript (yes/no)

page count

encrypted flag (yes/no)

print and copy permissions (if encrypted)

page size

file size

linearized (yes/no)

PDF version

metadata (only if requested)

OPTIONS

-f number

Specifies the first page to examine. If multiple pages are requested using the "-f" and "-l" options, the size of each requested page (and, optionally, the bounding boxes for each requested page) are printed. Otherwise, only page one is examined.

-l number

Specifies the last page to examine.

-box

Prints the page box bounding boxes: MediaBox, CropBox, BleedBox, TrimBox, and ArtBox.

-meta

Prints document-level metadata. (This is the "Metadata" stream from the PDF file's Catalog object.)

-js

Prints all JavaScript in the PDF.

-rawdates

Prints the raw (undecoded) date strings, directly from the PDF file.

-enc encoding-name

Sets the encoding to use for text output. This defaults to "UTF-8".

-listenc

Lits the available encodings

-opw password

Specify the owner password for the PDF file. Providing this will bypass all security restrictions.

-upw password

Specify the user password for the PDF file.

-v

Print copyright and version information.

-h

Print usage information. (-help and --help are equivalent.)

EXIT CODES

The Xpdf tools use the following exit codes:

0

No error.

1

Error opening a PDF file.

2

Error opening an output file.

3

Error related to PDF permissions.

99

Other error.

AUTHOR

The pdfinfo software and documentation are copyright 1996-2011 Glyph & Cog, LLC.

SEE ALSO

pdfdetach(1), pdffonts(1), pdfimages(1), pdftocairo(1), pdftohtml(1), pdftoppm(1), pdftops(1), pdftotext(1)

NAME SYNOPSIS DESCRIPTION OPTIONS EXIT CODES AUTHOR SEE ALSO

This document was created by man2html using the manual pages.

Time: 16:33:40 GMT, September 14, 2024

startprog

TOC Index

NAME

startprog - start batch commands or executables thru an *.exe file

SYNOPSIS

WA2LWinTools/lib/startprog

WA2LWinTools/bin/command [ startprog_options | command_options ]

startprog_options ::= [ -h ][ -i ][ -u ][ -V ]

Hint: the startprog_options can be individually enabled/disabled/changed using the command.opt file. See: startprog.opt(4) for more information.

AVAILABILITY

WA2L/WinTools

DESCRIPTION

startprog(3) indirectly starts commands or executables.

This to provide/show an *.exe file to the end user independent of the command implementation.

For each command to be started, create a copy of the lib/startprog.exe command file with the desired command name in the bin/ directory of WA2L/WinTools.

OPTIONS

command_options

command line options to be passed to the target command.

startprog_options

This options enable some functions that are used to handle the started command.

-h

display usage.

-i

create shortcut in 'Send To' menu or 'Startup' menu depending on the SHORTCUTLOC setting in the command.opt file.

-u

remove shortcut from 'Send To' menu or 'Startup' menu depending on the SHORTCUTLOC setting in the command.opt file.

-V

print command version and author based on the settings VERSION and AUTHOR in the command.opt file.

The startprog_options can be individually enabled/disabled/changed using the command.opt file to avoid clashes with options provided by the command. See: startprog.opt(4) for more information.

ENVIRONMENT

The following environment variables are computed by the startprog command to be used in the option file command.opt :

See also: startprog.opt(4) for more information where the (environment) variables can be used.

%APPDATA%

path to user application data.

%LOCALAPPDATA%

path to local user application data.

%COMPUTERNAME%

host name.

%ProgramFiles%

path to 32Bit software installed in Windows™.

%ProgramFiles(x86)%

path to 64Bit software installed in Windows™.

%TEMP%

temporary directory.

%TMP%

temporary directory.

%USERDOMAIN%

domain name.

%USERNAME%

user name.

%USERPROFILE%

path to user profile.

The following variables are computed by the startprog command to be used in the option file command.opt :

%INSTALLDIR%

installation base directory of the WA2L/WinTools package.

%INSTALLDRIVE%

installation drive letter (without colon) of the WA2L/WinTools package.

%ARCHITECTURE%

Operating system type: 32 for a 32-bit and 64 for a 64-bit operating system.

The following environment variables are added to the environment by the startprog command and are therefore available within the started commands:

%WA2L_START_FROM_TTY%

this variable is set to True when the startprog command was started from a command window (aka. tty), when started thru a double click directly or via 'Send To' menu the variable is set to False.

This environment variable then can be used in started *.cmd or *.bat files to react accordingly based on the start situation.

%WA2L_INSTALLDIR%

installation base directory of the WA2L/WinTools package.

EXIT STATUS

x

return status of started type SYSTEM command.

2

shortcut in 'Send To' or 'Startup' menu could not be removed when using -u from the startprog_options.

4

usage message displayed when using -h from the startprog_options.

5

version message displayed when using -V from the startprog_options.

FILES

bin/command.exe

command variant of lib/startprog.exe to be used to start the target command thru an *.exe file.

lib/command.opt

option file of target command to be read by bin/command.exe . See: startprog.opt(4) for more information.

lib/startprog.exe

command to create a copy from in bin/.

%APPDATA%/Microsoft/Windows/SendTo/

directory that holds all shortcuts from the 'Send To' menu in Microsoft Windows™ Explorer.

%APPDATA%/Microsoft/Windows/Start Menu/Programs/Startup/

directory holding all shortcuts to programs that are started automatically when you log in to Microsoft Windows™.

%USERPROFILE%/Desktop/

directory representing the user's desktop.

var/db/counter/command

statistics file for the called command. The var/db/counter/command file is a binary file that contains the time stamps of each command start.

If the var/db/counter/ directory does not exist no command start statistics are recorded.

To print a statistics table of all conducted command starts, use the progstats(1) command. To print a list of time stamps for a command, use the lib/timestampslist command.

To record time stamps to a var/db/counter/command file from a script that is not started thru startprog use the lib/timestampsrecord command.

EXAMPLES

-

SEE ALSO

wintoolsintro(1), config(1m), progstats(1), run(1), startprog.opt(4)

NOTES

-

BUGS

-

AUTHOR

startprog was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2020 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION OPTIONS ENVIRONMENT EXIT STATUS FILES EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:33:03 GMT, September 14, 2024

startprog.opt

TOC Index

NAME

startprog.opt - configuration file for startprog

SYNOPSIS

WA2LWinTools/lib/startprog.opt

WA2LWinTools/lib/command.opt

AVAILABILITY

WA2L/WinTools

DESCRIPTION

This is the configuration file for the renamed variants of the startprog command.

The option file must have the same name as the related command variant ( e.g.: command.opt ).

FILEFORMAT

Rows starting with # are considered as comments.

The file format is OPTION=VALUE

Between the OPTION , the = and the VALUE are no spaces.

You can comment out any OPTION or completely remove the related setting line to use the default settings.

OPTIONS

VERBOSE

verbose output of the startprog command variant.

Example: VERBOSE=True

Default: VERBOSE=False

DISABLESTATS

if set to True disable command startup statistics collection. This option exists to avoid double recording when the started command already performs a statistics collection.

Example: DISABLESTATS=True

Default: DISABLESTATS=False

TYPE

type of the command to be started indirectly thru the startprog command variant.

Possible settings are: SYS, SYSTEM, SHELL, EXECSHELL, EXEC, JAVA@SYS, JAVA@SYSTEM, JAVA@SHELL , JAVA@EXECSHELL and JAVA@EXEC.

Where the JAVA@... types load the JAVA_PATH=path;path;path... from the optional etc/java.cfg configuration file to allow to define additional locations of the COMMAND=java.exe command on the system.

Example: TYPE=SYSTEM

Default: TYPE=EXEC

SHOWWINDOW

when set to True the configured command (COMMAND= command) is started in a window, when set to False the command is started completely in the background.

Example: SHOWWINDOW=False

Default: SHOWWINDOW=True

HIDECONSOLE

hide the console window, when not started from the command window (cmd.exe).

Example: HIDECONSOLE=False

Default: HIDECONSOLE=True

PATH

Extend system %PATH% to find additional commands.

In the PATH setting the environment variables %USERNAME%, %USERPROFILE%, %ProgramFiles%, %ProgramFiles(x86)%, %APPDATA%, %LOCALAPPDATA%, %INSTALLDIR%, %INSTALLDRIVE% and %ARCHITECTURE% can be used.

Where the %INSTALLDIR% variable contains the installation base directory of the WA2L/WinTools package, %INSTALLDRIVE% the drive letter (without colon) and the %ARCHITECTURE% is set to 32 on a 32-bit and to 64 on a 64-bit operating system.

Example: PATH=%USERPROFILE%\Documents\bin\FirefoxPortable;d:\bin\FirefoxPortable

Default: PATH=

PREEXEC

Command to be executed prior to the command specified in the COMMAND=command setting.

This might be useful to do some preparations prior to the command execution.

The PREEXEC command is always started as type SYSTEM.

Example: PREEXEC="%INSTALLDIR%\lib\WScheduler.cmd"

Default: PREEXEC=

COMMAND

command to be started thru the startprog command variant.

If this setting is a *.bat or *.cmd file, the TYPE=type shall be set to SYSTEM or SHELL.

If this setting is a *.exe or *.com file, the TYPE=type shall be set to EXEC.

In the COMMAND=... setting the same environment variables as in PATH=... can be used.

Example: COMMAND="%INSTALLDIR%\lib\Notepad2.exe"

Default: COMMAND=

OPTIONS

options to the COMMAND=command option, that are not provided thru the command line.

In the OPTIONS=... setting the same environment variables as in PATH=... can be used.

Example: OPTIONS=/o0 /f "%INSTALLDIR%\etc\Notepad2.cfg"

Default: OPTIONS=

WORKINGDIR

set specific working directory on startup.

Example: OPTIONS=%INSTALLDIR%\lib\folderspopup

Default: OPTIONS=

ESCAPEOPTIONS

escape options specified on command line.

Most likely this setting is needed on TYPE=SYSTEM when command line options containing special characters, as: (, ) and & have to be computed and a *.bat or *.cmd command is specified in the COMMAND=... setting.

Example: ESCAPEOPTIONS=True

Default: ESCAPEOPTIONS=False

VERSION

Version of started COMMAND to be displayed by the -V command line option (VERSIONOPT).

Example: VERSION=0.8.15

Default: VERSION=

AUTHOR

Author of started COMMAND to be displayed by the -V command line option (VERSIONOPT).

Example: AUTHOR=John Doe

Default: AUTHOR=

HELPOPT

Command line option to be used to display the usage message.

If HELPOPT is set empty, startprog will not display a usage message when invoking the -h option and passes that option to the command defined in the COMMAND setting. The usage display can then be handled by the started COMMAND.

Example: HELPOPT=

Example: HELPOPT=--help

Default: HELPOPT=-h

INSTALLOPT

Command line option to be used to install the COMMAND to the 'SendTo' or 'Autostart' menu.

If INSTALLOPT is set empty, startprog will not handle the installation and the option is also not listed when displaying the usage message after invoking the HELPOPT command line option.

Example: INSTALLOPT=

Example: INSTALLOPT=--install

Default: INSTALLOPT=-i

UNINSTALLOPT

Command line option to be used to remove the COMMAND from the 'SendTo' or 'Autostart' menu.

If UNINSTALLOPT is set empty, startprog will not handle the de-installation and the option is also not listed when displaying the usage message after invoking the HELPOPT command line option.

Example: UNINSTALLOPT=

Example: UNINSTALLOPT=--uninstall

Default: UNINSTALLOPT=-u

VERSIONOPT

Command line option to be used to display the version and author information defined in the VERSION and AUTHOR setting.

If VERSIONOPT is set empty, startprog will not handle the version display and the option is also not listed when displaying the usage message after invoking the HELPOPT command line option.

Example: VERSIONOPT=

Example: VERSIONOPT=--version

Default: VERSIONOPT=-V

MOREOPTIONS

additional options of the usage message. Multiple MOREOPTIONS=text lines are allowed.

Example: MOREOPTIONS=

Example: MOREOPTIONS=options

Default: MOREOPTIONS=[ options ]

MOREOPTDESC

description of the additional options in the usage output. Multiple MOREOPTDESC=text lines are allowed.

Example: MOREOPTDESC=

Example: MOREOPTDESC=-l list definitions

Default: MOREOPTDESC=[ options ] additional options

SHORTCUTLOC

Location of the shortcut that is created in the when using the INSTALLOPT command line option.

When SHORTCUTLOC is set to SENDTO COMMAND can be used thru the 'SendTo' menu.

If set to STARTUP it is installed to the 'Autostart' menu and the COMMAND will be executed 'On Login'.

If set to DESKTOP it is installed on the user's 'Desktop'.

Example: SHORTCUTLOC=STARTUP

Default: SHORTCUTLOC=SENDTO

SHORTCUTNAME

Prefix name of the 'SendTo' shortcut.

This prefix is seen in the 'SendTo' menu when SHORTCUTLOC=SENDTO is defined.

Example: SHORTCUTNAME= vi

Default: SHORTCUTDESC=command

SHORTCUTDESC

Description text of the shortcut.

This text is seen in the 'SendTo' menu when SHORTCUTLOC=SENDTO is defined.

Example: SHORTCUTDESC=enhanced Notepad

Default: SHORTCUTDESC=

SHORTCUTOPTS

Additional options for the shortcut.

In the SHORTCUTOPTS setting the same environment variables as in PATH= can be used.

Example: SHORTCUTOPTS=--verbose

Default: SHORTCUTOPTS=

SHORTCUTDIR

Set a specific start directory in the shortcut.

In the SHORTCUTDIR setting the same environment variables as in PATH= can be used.

Caution: do *not* set quotes ( ) around directories (even if there are spaces in a directory) and do *not* define a backslash ( \ ) at the end of a directory path.

Example: SHORTCUTDIR=%INSTALLDIR%\lib

Default: SHORTCUTDIR=

SHORTCUTMODE

Display mode of the command started thru the shortcut: 1: normal window, 3: maximized window, 7: minimized window.

Example: SHORTCUTMODE=1

Default: SHORTCUTMODE=7

EXAMPLES

1) example .opt file to start Notepad2 from bin/np.exe

#

# lib/np.opt - startprog options for: Notepad2

#

# [00] 01.07.2017 CWa   Initial Version

#

VERBOSE=False

COMMAND="%INSTALLDIR%\lib\Notepad2.exe"

OPTIONS=/o0 /f "%INSTALLDIR%\etc\Notepad2.cfg" +

VERSION=4.2.25

AUTHOR=Florian Balmer

SEE ALSO

wintoolsintro(1), java.cfg(4), startprog(3)

NOTES

-

BUGS

-

AUTHOR

startprog.opt was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2023 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME SYNOPSIS AVAILABILITY DESCRIPTION FILEFORMAT OPTIONS EXAMPLES SEE ALSO NOTES BUGS AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:33:03 GMT, September 14, 2024

dos2unix

TOC Index

NAME

dos2unix - DOS/Mac to Unix and vice versa text file format converter

SYNOPSIS

dos2unix [options] [FILE ...] [-n INFILE OUTFILE ...]

unix2dos [options] [FILE ...] [-n INFILE OUTFILE ...]

DESCRIPTION

The Dos2unix package includes utilities dos2unix

and unix2dos

to convert plain text files in DOS or Mac format to Unix format and vice versa.

In DOS/Windows text files a line break, also known as newline, is a combination of two characters: a Carriage Return (CR) followed by a Line Feed (LF). In Unix text files a line break is a single character: the Line Feed (LF). In Mac text files, prior to Mac OS X, a line break was single Carriage Return (CR) character. Nowadays Mac OS uses Unix style (LF) line breaks.

Besides line breaks Dos2unix can also convert the encoding of files. A few DOS code pages can be converted to Unix Latin-1. And Windows Unicode (UTF-16) files can be converted to Unix Unicode (UTF-8) files.

Binary files are automatically skipped, unless conversion is forced.

Non-regular files, such as directories and FIFOs, are automatically skipped.

Symbolic links and their targets are by default kept untouched. Symbolic links can optionally be replaced, or the output can be written to the symbolic link target. Writing to a symbolic link target is not supported on Windows.

Dos2unix was modelled after dos2unix under SunOS/Solaris. There is one important difference with the original SunOS/Solaris version. This version does by default in-place conversion (old file mode), while the original SunOS/Solaris version only supports paired conversion (new file mode). See also options -o

and -n

. Another difference is that the SunOS/Solaris version uses by default iso mode conversion while this version uses by default ascii mode conversion.

OPTIONS

--

Treat all following options as file names. Use this option if you want to convert files whose names start with a dash. For instance to convert a file named ``-foo'', you can use this command:

dos2unix -- -foo

Or in new file mode:

dos2unix -n -- -foo out.txt

--allow-chown

Allow file ownership change in old file mode.

When this option is used, the conversion will not be aborted when the user and/or group ownership of the original file can't be preserved in old file mode. Conversion will continue and the converted file will get the same new ownership as if it was converted in new file mode. See also options -o

and -n

. This option is only available if dos2unix has support for preserving the user and group ownership of files.

-ascii

Convert only line breaks. This is the default conversion mode.

-iso

Conversion between DOS and ISO-8859-1 character set. See also section CONVERSION MODES.

-1252

Use Windows code page 1252 (Western European).

-437

Use DOS code page 437 (US). This is the default code page used for ISO conversion.

-850

Use DOS code page 850 (Western European).

-860

Use DOS code page 860 (Portuguese).

-863

Use DOS code page 863 (French Canadian).

-865

Use DOS code page 865 (Nordic).

-7

Convert 8 bit characters to 7 bit space.

-b, --keep-bom

Keep Byte Order Mark (BOM). When the input file has a BOM, write a BOM in the output file. This is the default behavior when converting to DOS line breaks. See also option -r

.

-c, --convmode CONVMODE

Set conversion mode. Where CONVMODE is one of: ascii, 7bit, iso, mac with ascii being the default.

-D, --display-enc ENCODING

Set encoding of displayed text. Where ENCODING is one of: ansi, unicode, unicodebom, utf8, utf8bom with ansi being the default.

This option is only available in dos2unix for Windows with Unicode file name support. This option has no effect on the actual file names read and written, only on how they are displayed.

There are several methods for displaying text in a Windows console based on the encoding of the text. They all have their own advantages and disadvantages.

ansi

Dos2unix's default method is to use ANSI encoded text. The advantage is that it is backwards compatible. It works with raster and TrueType fonts. In some regions you may need to change the active DOS OEM code page to the Windows system ANSI code page using the chcp

command, because dos2unix uses the Windows system code page.

The disadvantage of ansi is that international file names with characters not inside the system default code page are not displayed properly. You will see a question mark, or a wrong symbol instead. When you don't work with foreign file names this method is OK.

unicode, unicodebom

The advantage of unicode (the Windows name for UTF-16) encoding is that text is usually properly displayed. There is no need to change the active code page. You may need to set the console's font to a TrueType font to have international characters displayed properly. When a character is not included in the TrueType font you usually see a small square, sometimes with a question mark in it.

When you use the ConEmu console all text is displayed properly, because ConEmu automatically selects a good font.

The disadvantage of unicode is that it is not compatible with ASCII. The output is not easy to handle when you redirect it to another program.

When method unicodebom

is used the Unicode text will be preceded with a BOM (Byte Order Mark). A BOM is required for correct redirection or piping in PowerShell.

utf8, utf8bom

The advantage of utf8 is that it is compatible with ASCII. You need to set the console's font to a TrueType font. With a TrueType font the text is displayed similar as with the unicode

encoding.

The disadvantage is that when you use the default raster font all non-ASCII characters are displayed wrong. Not only unicode file names, but also translated messages become unreadable. On Windows configured for an East-Asian region you may see a lot of flickering of the console when the messages are displayed.

In a ConEmu console the utf8 encoding method works well.

When method utf8bom

is used the UTF-8 text will be preceded with a BOM (Byte Order Mark). A BOM is required for correct redirection or piping in PowerShell.

The default encoding can be changed with environment variable DOS2UNIX_DISPLAY_ENC by setting it to unicode

, unicodebom

, utf8

, or utf8bom

.

-f, --force

Force conversion of binary files.

-gb, --gb18030

On Windows UTF-16 files are by default converted to UTF-8, regardless of the locale setting. Use this option to convert UTF-16 files to GB18030. This option is only available on Windows. See also section GB18030.

-h, --help

Display help and exit.

-i[FLAGS], --info[=FLAGS] FILE ...

Display file information. No conversion is done.

The following information is printed, in this order: number of DOS line breaks, number of Unix line breaks, number of Mac line breaks, byte order mark, text or binary, file name.

Example output:

6       0       0  no_bom    text    dos.txt

0       6       0  no_bom    text    unix.txt

0       0       6  no_bom    text    mac.txt

6       6       6  no_bom    text    mixed.txt

50       0       0  UTF-16LE  text    utf16le.txt

0      50       0  no_bom    text    utf8unix.txt

50       0       0  UTF-8     text    utf8dos.txt

2     418     219  no_bom    binary  dos2unix.exe

Note that sometimes a binary file can be mistaken for a text file. See also option -s

.

Optionally extra flags can be set to change the output. One or more flags can be added.

0

Print the file information lines followed by a null character instead of a newline character. This enables correct interpretation of file names with spaces or quotes when flag c is used. Use this flag in combination with xargs(1) option -0

or --null

.

d

Print number of DOS line breaks.

u

Print number of Unix line breaks.

m

Print number of Mac line breaks.

b

Print the byte order mark.

t

Print if file is text or binary.

c

Print only the files that would be converted.

With the c

flag dos2unix will print only the files that contain DOS line breaks, unix2dos will print only file names that have Unix line breaks.

h

Print a header.

p

Show file names without path.

Examples:

Show information for all *.txt files:

dos2unix -i *.txt

Show only the number of DOS line breaks and Unix line breaks:

dos2unix -idu *.txt

Show only the byte order mark:

dos2unix --info=b *.txt

List the files that have DOS line breaks:

dos2unix -ic *.txt

List the files that have Unix line breaks:

unix2dos -ic *.txt

Convert only files that have DOS line breaks and leave the other files untouched:

dos2unix -ic0 *.txt | xargs -0 dos2unix

Find text files that have DOS line breaks:

find -name '*.txt' -print0 | xargs -0 dos2unix -ic

-k, --keepdate

Keep the date stamp of output file same as input file.

-L, --license

Display program's license.

-l, --newline

Add additional newline.

dos2unix: Only DOS line breaks are changed to two Unix line breaks. In Mac mode only Mac line breaks are changed to two Unix line breaks.

unix2dos: Only Unix line breaks are changed to two DOS line breaks. In Mac mode Unix line breaks are changed to two Mac line breaks.

-m, --add-bom

Write a Byte Order Mark (BOM) in the output file. By default an UTF-8 BOM is written.

When the input file is UTF-16, and the option -u

is used, an UTF-16 BOM will be written.

Never use this option when the output encoding is other than UTF-8, UTF-16, or GB18030. See also section UNICODE.

-n, --newfile INFILE OUTFILE ...

New file mode. Convert file INFILE and write output to file OUTFILE. File names must be given in pairs and wildcard names should not be used or you will lose your files.

The person who starts the conversion in new file (paired) mode will be the owner of the converted file. The read/write permissions of the new file will be the permissions of the original file minus the umask(1) of the person who runs the conversion.

--no-allow-chown

Don't allow file ownership change in old file mode (default).

Abort conversion when the user and/or group ownership of the original file can't be preserved in old file mode. See also options -o

and -n

. This option is only available if dos2unix has support for preserving the user and group ownership of files.

-o, --oldfile FILE ...

Old file mode. Convert file FILE and overwrite output to it. The program defaults to run in this mode. Wildcard names may be used.

In old file (in-place) mode the converted file gets the same owner, group, and read/write permissions as the original file. Also when the file is converted by another user who has write permissions on the file (e.g. user root). The conversion will be aborted when it is not possible to preserve the original values. Change of owner could mean that the original owner is not able to read the file any more. Change of group could be a security risk, the file could be made readable for persons for whom it is not intended. Preservation of owner, group, and read/write permissions is only supported on Unix.

To check if dos2unix has support for preserving the user and group ownership of files type dos2unix -V

.

Conversion is always done via a temporary file. When an error occurs halfway the conversion, the temporary file is deleted and the original file stays intact. When the conversion is successful, the original file is replaced with the temporary file. You may have write permission on the original file, but no permission to put the same user and/or group ownership properties on the temporary file as the original file has. This means you are not able to preserve the user and/or group ownership of the original file. In this case you can use option --allow-chown

to continue with the conversion:

dos2unix --allow-chown foo.txt

Another option is to use new file mode:

dos2unix -n foo.txt foo.txt

The advantage of the --allow-chown

option is that you can use wildcards, and the ownership properties will be preserved when possible.

-q, --quiet

Quiet mode. Suppress all warnings and messages. The return value is zero. Except when wrong command-line options are used.

-r, --remove-bom

Remove Byte Order Mark (BOM). Do not write a BOM in the output file. This is the default behavior when converting to Unix line breaks. See also option -b

.

-s, --safe

Skip binary files (default).

The skipping of binary files is done to avoid accidental mistakes. Be aware that the detection of binary files is not 100% foolproof. Input files are scanned for binary symbols which are typically not found in text files. It is possible that a binary file contains only normal text characters. Such a binary file will mistakenly be seen as a text file.

-u, --keep-utf16

Keep the original UTF-16 encoding of the input file. The output file will be written in the same UTF-16 encoding, little or big endian, as the input file. This prevents transformation to UTF-8. An UTF-16 BOM will be written accordingly. This option can be disabled with the -ascii

option.

-ul, --assume-utf16le

Assume that the input file format is UTF-16LE.

When there is a Byte Order Mark in the input file the BOM has priority over this option.

When you made a wrong assumption (the input file was not in UTF-16LE format) and the conversion succeeded, you will get an UTF-8 output file with wrong text. You can undo the wrong conversion with iconv(1) by converting the UTF-8 output file back to UTF-16LE. This will bring back the original file.

The assumption of UTF-16LE works as a conversion mode. By switching to the default ascii mode the UTF-16LE assumption is turned off.

-ub, --assume-utf16be

Assume that the input file format is UTF-16BE.

This option works the same as option -ul

.

-v, --verbose

Display verbose messages. Extra information is displayed about Byte Order Marks and the amount of converted line breaks.

-F, --follow-symlink

Follow symbolic links and convert the targets.

-R, --replace-symlink

Replace symbolic links with converted files (original target files remain unchanged).

-S, --skip-symlink

Keep symbolic links and targets unchanged (default).

-V, --version

Display version information and exit.

MAC MODE

In normal mode line breaks are converted from DOS to Unix and vice versa. Mac line breaks are not converted.

In Mac mode line breaks are converted from Mac to Unix and vice versa. DOS line breaks are not changed.

To run in Mac mode use the command-line option -c mac

or use the commands mac2unix

or unix2mac

.

CONVERSION MODES

ascii

In mode ascii

only line breaks are converted. This is the default conversion mode.

Although the name of this mode is ASCII, which is a 7 bit standard, the actual mode is 8 bit. Use always this mode when converting Unicode UTF-8 files.

7bit

In this mode all 8 bit non-ASCII characters (with values from 128 to 255) are converted to a 7 bit space.

iso

Characters are converted between a DOS character set (code page) and ISO character set ISO-8859-1 (Latin-1) on Unix. DOS characters without ISO-8859-1 equivalent, for which conversion is not possible, are converted to a dot. The same counts for ISO-8859-1 characters without DOS counterpart.

When only option -iso

is used dos2unix will try to determine the active code page. When this is not possible dos2unix will use default code page CP437, which is mainly used in the USA. To force a specific code page use options -437

(US), -850

(Western European), -860

(Portuguese), -863

(French Canadian), or -865

(Nordic). Windows code page CP1252 (Western European) is also supported with option -1252

. For other code pages use dos2unix in combination with iconv(1). Iconv can convert between a long list of character encodings.

Never use ISO conversion on Unicode text files. It will corrupt UTF-8 encoded files.

Some examples:

Convert from DOS default code page to Unix Latin-1:

dos2unix -iso -n in.txt out.txt

Convert from DOS CP850 to Unix Latin-1:

dos2unix -850 -n in.txt out.txt

Convert from Windows CP1252 to Unix Latin-1:

dos2unix -1252 -n in.txt out.txt

Convert from Windows CP1252 to Unix UTF-8 (Unicode):

iconv -f CP1252 -t UTF-8 in.txt | dos2unix > out.txt

Convert from Unix Latin-1 to DOS default code page:

unix2dos -iso -n in.txt out.txt

Convert from Unix Latin-1 to DOS CP850:

unix2dos -850 -n in.txt out.txt

Convert from Unix Latin-1 to Windows CP1252:

unix2dos -1252 -n in.txt out.txt

Convert from Unix UTF-8 (Unicode) to Windows CP1252:

unix2dos < in.txt | iconv -f UTF-8 -t CP1252 > out.txt

See also <http://czyborra.com/charsets/codepages.html> and <http://czyborra.com/charsets/iso8859.html>.

UNICODE

Encodings

There exist different Unicode encodings. On Unix and Linux Unicode files are typically encoded in UTF-8 encoding. On Windows Unicode text files can be encoded in UTF-8, UTF-16, or UTF-16 big endian, but are mostly encoded in UTF-16 format.

Conversion

Unicode text files can have DOS, Unix or Mac line breaks, like regular text files.

All versions of dos2unix and unix2dos can convert UTF-8 encoded files, because UTF-8 was designed for backward compatibility with ASCII.

Dos2unix and unix2dos with Unicode UTF-16 support, can read little and big endian UTF-16 encoded text files. To see if dos2unix was built with UTF-16 support type dos2unix -V

.

On Unix/Linux UTF-16 encoded files are converted to the locale character encoding. Use the locale(1) command to find out what the locale character encoding is. When conversion is not possible a conversion error will occur and the file will be skipped.

On Windows UTF-16 files are by default converted to UTF-8. UTF-8 formatted text files are well supported on both Windows and Unix/Linux.

UTF-16 and UTF-8 encoding are fully compatible, there will no text be lost in the conversion. When an UTF-16 to UTF-8 conversion error occurs, for instance when the UTF-16 input file contains an error, the file will be skipped.

When option -u

is used, the output file will be written in the same UTF-16 encoding as the input file. Option -u

prevents conversion to UTF-8.

Dos2unix and unix2dos have no option to convert UTF-8 files to UTF-16.

ISO and 7-bit mode conversion do not work on UTF-16 files.

Byte Order Mark

On Windows Unicode text files typically have a Byte Order Mark (BOM), because many Windows programs (including Notepad) add BOMs by default. See also <http://en.wikipedia.org/wiki/Byte_order_mark>.

On Unix Unicode files typically don't have a BOM. It is assumed that text files are encoded in the locale character encoding.

Dos2unix can only detect if a file is in UTF-16 format if the file has a BOM. When an UTF-16 file doesn't have a BOM, dos2unix will see the file as a binary file.

Use option -ul

or -ub

to convert an UTF-16 file without BOM.

Dos2unix writes by default no BOM in the output file. With option -b

Dos2unix writes a BOM when the input file has a BOM.

Unix2dos writes by default a BOM in the output file when the input file has a BOM. Use option -r

to remove the BOM.

Dos2unix and unix2dos write always a BOM when option -m

is used.

Unicode file names on Windows

Dos2unix has optional support for reading and writing Unicode file names in the Windows Command Prompt. That means that dos2unix can open files that have characters in the name that are not part of the default system ANSI code page. To see if dos2unix for Windows was built with Unicode file name support type dos2unix -V

.

There are some issues with displaying Unicode file names in a Windows console. See option -D

, --display-enc

. The file names may be displayed wrongly in the console, but the files will be written with the correct name.

Unicode examples

Convert from Windows UTF-16 (with BOM) to Unix UTF-8:

dos2unix -n in.txt out.txt

Convert from Windows UTF-16LE (without BOM) to Unix UTF-8:

dos2unix -ul -n in.txt out.txt

Convert from Unix UTF-8 to Windows UTF-8 with BOM:

unix2dos -m -n in.txt out.txt

Convert from Unix UTF-8 to Windows UTF-16:

unix2dos < in.txt | iconv -f UTF-8 -t UTF-16 > out.txt

GB18030

GB18030 is a Chinese government standard. A mandatory subset of the GB18030 standard is officially required for all software products sold in China. See also <http://en.wikipedia.org/wiki/GB_18030>.

GB18030 is fully compatible with Unicode, and can be considered an unicode transformation format. Like UTF-8, GB18030 is compatible with ASCII. GB18030 is also compatible with Windows code page 936, also known as GBK.

On Unix/Linux UTF-16 files are converted to GB18030 when the locale encoding is set to GB18030. Note that this will only work if the locale is supported by the system. Use command locale -a

to get the list of supported locales.

On Windows you need to use option -gb

to convert UTF-16 files to GB18030.

GB18030 encoded files can have a Byte Order Mark, like Unicode files.

EXAMPLES

Read input from 'stdin' and write output to 'stdout':

dos2unix < a.txt

cat a.txt | dos2unix

Convert and replace a.txt. Convert and replace b.txt:

dos2unix a.txt b.txt

dos2unix -o a.txt b.txt

Convert and replace a.txt in ascii conversion mode:

dos2unix a.txt

Convert and replace a.txt in ascii conversion mode, convert and replace b.txt in 7bit conversion mode:

dos2unix a.txt -c 7bit b.txt

dos2unix -c ascii a.txt -c 7bit b.txt

dos2unix -ascii a.txt -7 b.txt

Convert a.txt from Mac to Unix format:

dos2unix -c mac a.txt

mac2unix a.txt

Convert a.txt from Unix to Mac format:

unix2dos -c mac a.txt

unix2mac a.txt

Convert and replace a.txt while keeping original date stamp:

dos2unix -k a.txt

dos2unix -k -o a.txt

Convert a.txt and write to e.txt:

dos2unix -n a.txt e.txt

Convert a.txt and write to e.txt, keep date stamp of e.txt same as a.txt:

dos2unix -k -n a.txt e.txt

Convert and replace a.txt, convert b.txt and write to e.txt:

dos2unix a.txt -n b.txt e.txt

dos2unix -o a.txt -n b.txt e.txt

Convert c.txt and write to e.txt, convert and replace a.txt, convert and replace b.txt, convert d.txt and write to f.txt:

dos2unix -n c.txt e.txt -o a.txt b.txt -n d.txt f.txt

RECURSIVE CONVERSION

In a Unix shell the find(1) and xargs(1) commands can be used to run dos2unix recursively over all text files in a directory tree. For instance to convert all .txt files in the directory tree under the current directory type:

find . -name '*.txt' -print0 |xargs -0 dos2unix

The find(1) option -print0

and corresponding xargs(1) option -0

are needed when there are files with spaces or quotes in the name. Otherwise these options can be omitted. Another option is to use find(1) with the -exec

option:

find . -name '*.txt' -exec dos2unix {} \;

In a Windows Command Prompt the following command can be used:

for /R %G in (*.txt) do dos2unix "%G"

PowerShell users can use the following command in Windows PowerShell:

get-childitem -path . -filter '*.txt' -recurse | foreach-object {dos2unix $_.Fullname}

LOCALIZATION

LANG

The primary language is selected with the environment variable LANG. The LANG variable consists out of several parts. The first part is in small letters the language code. The second is optional and is the country code in capital letters, preceded with an underscore. There is also an optional third part: character encoding, preceded with a dot. A few examples for POSIX standard type shells:

export LANG=nl               Dutch

export LANG=nl_NL            Dutch, The Netherlands

export LANG=nl_BE            Dutch, Belgium

export LANG=es_ES            Spanish, Spain

export LANG=es_MX            Spanish, Mexico

export LANG=en_US.iso88591   English, USA, Latin-1 encoding

export LANG=en_GB.UTF-8      English, UK, UTF-8 encoding

For a complete list of language and country codes see the gettext manual: <http://www.gnu.org/software/gettext/manual/html_node/Usual-Language-Codes.html>

On Unix systems you can use the command locale(1) to get locale specific information.

LANGUAGE

With the LANGUAGE environment variable you can specify a priority list of languages, separated by colons. Dos2unix gives preference to LANGUAGE over LANG. For instance, first Dutch and then German: LANGUAGE=nl:de

. You have to first enable localization, by setting LANG (or LC_ALL) to a value other than ``C'', before you can use a language priority list through the LANGUAGE variable. See also the gettext manual: <http://www.gnu.org/software/gettext/manual/html_node/The-LANGUAGE-variable.html>

If you select a language which is not available you will get the standard English messages.

DOS2UNIX_LOCALEDIR

With the environment variable DOS2UNIX_LOCALEDIR the LOCALEDIR set during compilation can be overruled. LOCALEDIR is used to find the language files. The GNU default value is /usr/local/share/locale

. Option --version will display the LOCALEDIR that is used.

Example (POSIX shell):

export DOS2UNIX_LOCALEDIR=$HOME/share/locale

RETURN VALUE

On success, zero is returned. When a system error occurs the last system error will be returned. For other errors 1 is returned.

The return value is always zero in quiet mode, except when wrong command-line options are used.

STANDARDS

<http://en.wikipedia.org/wiki/Text_file>

<http://en.wikipedia.org/wiki/Carriage_return>

<http://en.wikipedia.org/wiki/Newline>

<http://en.wikipedia.org/wiki/Unicode>

AUTHORS

Benjamin Lin - <blin@socs.uts.edu.au>, Bernd Johannes Wuebben (mac2unix mode) - <wuebben@kde.org>, Christian Wurll (add extra newline) - <wurll@ira.uka.de>, Erwin Waterlander - <waterlan@xs4all.nl> (maintainer)

Project page: <http://waterlan.home.xs4all.nl/dos2unix.html>

SourceForge page: <http://sourceforge.net/projects/dos2unix/>

SEE ALSO

file(1) find(1) iconv(1) locale(1) xargs(1)

NAME SYNOPSIS DESCRIPTION OPTIONS MAC MODE CONVERSION MODES UNICODE Encodings Conversion Byte Order Mark Unicode file names on Windows Unicode examples GB18030 EXAMPLES RECURSIVE CONVERSION LOCALIZATION RETURN VALUE STANDARDS AUTHORS SEE ALSO

This document was created by man2html using the manual pages.

Time: 16:33:49 GMT, September 14, 2024

dos2unix

TOC Index

NAME

dos2unix - DOS/Mac to Unix and vice versa text file format converter

SYNOPSIS

dos2unix [options] [FILE ...] [-n INFILE OUTFILE ...]

unix2dos [options] [FILE ...] [-n INFILE OUTFILE ...]

DESCRIPTION

The Dos2unix package includes utilities dos2unix

and unix2dos

to convert plain text files in DOS or Mac format to Unix format and vice versa.

In DOS/Windows text files a line break, also known as newline, is a combination of two characters: a Carriage Return (CR) followed by a Line Feed (LF). In Unix text files a line break is a single character: the Line Feed (LF). In Mac text files, prior to Mac OS X, a line break was single Carriage Return (CR) character. Nowadays Mac OS uses Unix style (LF) line breaks.

Besides line breaks Dos2unix can also convert the encoding of files. A few DOS code pages can be converted to Unix Latin-1. And Windows Unicode (UTF-16) files can be converted to Unix Unicode (UTF-8) files.

Binary files are automatically skipped, unless conversion is forced.

Non-regular files, such as directories and FIFOs, are automatically skipped.

Symbolic links and their targets are by default kept untouched. Symbolic links can optionally be replaced, or the output can be written to the symbolic link target. Writing to a symbolic link target is not supported on Windows.

Dos2unix was modelled after dos2unix under SunOS/Solaris. There is one important difference with the original SunOS/Solaris version. This version does by default in-place conversion (old file mode), while the original SunOS/Solaris version only supports paired conversion (new file mode). See also options -o

and -n

. Another difference is that the SunOS/Solaris version uses by default iso mode conversion while this version uses by default ascii mode conversion.

OPTIONS

--

Treat all following options as file names. Use this option if you want to convert files whose names start with a dash. For instance to convert a file named ``-foo'', you can use this command:

dos2unix -- -foo

Or in new file mode:

dos2unix -n -- -foo out.txt

--allow-chown

Allow file ownership change in old file mode.

When this option is used, the conversion will not be aborted when the user and/or group ownership of the original file can't be preserved in old file mode. Conversion will continue and the converted file will get the same new ownership as if it was converted in new file mode. See also options -o

and -n

. This option is only available if dos2unix has support for preserving the user and group ownership of files.

-ascii

Convert only line breaks. This is the default conversion mode.

-iso

Conversion between DOS and ISO-8859-1 character set. See also section CONVERSION MODES.

-1252

Use Windows code page 1252 (Western European).

-437

Use DOS code page 437 (US). This is the default code page used for ISO conversion.

-850

Use DOS code page 850 (Western European).

-860

Use DOS code page 860 (Portuguese).

-863

Use DOS code page 863 (French Canadian).

-865

Use DOS code page 865 (Nordic).

-7

Convert 8 bit characters to 7 bit space.

-b, --keep-bom

Keep Byte Order Mark (BOM). When the input file has a BOM, write a BOM in the output file. This is the default behavior when converting to DOS line breaks. See also option -r

.

-c, --convmode CONVMODE

Set conversion mode. Where CONVMODE is one of: ascii, 7bit, iso, mac with ascii being the default.

-D, --display-enc ENCODING

Set encoding of displayed text. Where ENCODING is one of: ansi, unicode, unicodebom, utf8, utf8bom with ansi being the default.

This option is only available in dos2unix for Windows with Unicode file name support. This option has no effect on the actual file names read and written, only on how they are displayed.

There are several methods for displaying text in a Windows console based on the encoding of the text. They all have their own advantages and disadvantages.

ansi

Dos2unix's default method is to use ANSI encoded text. The advantage is that it is backwards compatible. It works with raster and TrueType fonts. In some regions you may need to change the active DOS OEM code page to the Windows system ANSI code page using the chcp

command, because dos2unix uses the Windows system code page.

The disadvantage of ansi is that international file names with characters not inside the system default code page are not displayed properly. You will see a question mark, or a wrong symbol instead. When you don't work with foreign file names this method is OK.

unicode, unicodebom

The advantage of unicode (the Windows name for UTF-16) encoding is that text is usually properly displayed. There is no need to change the active code page. You may need to set the console's font to a TrueType font to have international characters displayed properly. When a character is not included in the TrueType font you usually see a small square, sometimes with a question mark in it.

When you use the ConEmu console all text is displayed properly, because ConEmu automatically selects a good font.

The disadvantage of unicode is that it is not compatible with ASCII. The output is not easy to handle when you redirect it to another program.

When method unicodebom

is used the Unicode text will be preceded with a BOM (Byte Order Mark). A BOM is required for correct redirection or piping in PowerShell.

utf8, utf8bom

The advantage of utf8 is that it is compatible with ASCII. You need to set the console's font to a TrueType font. With a TrueType font the text is displayed similar as with the unicode

encoding.

The disadvantage is that when you use the default raster font all non-ASCII characters are displayed wrong. Not only unicode file names, but also translated messages become unreadable. On Windows configured for an East-Asian region you may see a lot of flickering of the console when the messages are displayed.

In a ConEmu console the utf8 encoding method works well.

When method utf8bom

is used the UTF-8 text will be preceded with a BOM (Byte Order Mark). A BOM is required for correct redirection or piping in PowerShell.

The default encoding can be changed with environment variable DOS2UNIX_DISPLAY_ENC by setting it to unicode

, unicodebom

, utf8

, or utf8bom

.

-f, --force

Force conversion of binary files.

-gb, --gb18030

On Windows UTF-16 files are by default converted to UTF-8, regardless of the locale setting. Use this option to convert UTF-16 files to GB18030. This option is only available on Windows. See also section GB18030.

-h, --help

Display help and exit.

-i[FLAGS], --info[=FLAGS] FILE ...

Display file information. No conversion is done.

The following information is printed, in this order: number of DOS line breaks, number of Unix line breaks, number of Mac line breaks, byte order mark, text or binary, file name.

Example output:

6       0       0  no_bom    text    dos.txt

0       6       0  no_bom    text    unix.txt

0       0       6  no_bom    text    mac.txt

6       6       6  no_bom    text    mixed.txt

50       0       0  UTF-16LE  text    utf16le.txt

0      50       0  no_bom    text    utf8unix.txt

50       0       0  UTF-8     text    utf8dos.txt

2     418     219  no_bom    binary  dos2unix.exe

Note that sometimes a binary file can be mistaken for a text file. See also option -s

.

Optionally extra flags can be set to change the output. One or more flags can be added.

0

Print the file information lines followed by a null character instead of a newline character. This enables correct interpretation of file names with spaces or quotes when flag c is used. Use this flag in combination with xargs(1) option -0

or --null

.

d

Print number of DOS line breaks.

u

Print number of Unix line breaks.

m

Print number of Mac line breaks.

b

Print the byte order mark.

t

Print if file is text or binary.

c

Print only the files that would be converted.

With the c

flag dos2unix will print only the files that contain DOS line breaks, unix2dos will print only file names that have Unix line breaks.

h

Print a header.

p

Show file names without path.

Examples:

Show information for all *.txt files:

dos2unix -i *.txt

Show only the number of DOS line breaks and Unix line breaks:

dos2unix -idu *.txt

Show only the byte order mark:

dos2unix --info=b *.txt

List the files that have DOS line breaks:

dos2unix -ic *.txt

List the files that have Unix line breaks:

unix2dos -ic *.txt

Convert only files that have DOS line breaks and leave the other files untouched:

dos2unix -ic0 *.txt | xargs -0 dos2unix

Find text files that have DOS line breaks:

find -name '*.txt' -print0 | xargs -0 dos2unix -ic

-k, --keepdate

Keep the date stamp of output file same as input file.

-L, --license

Display program's license.

-l, --newline

Add additional newline.

dos2unix: Only DOS line breaks are changed to two Unix line breaks. In Mac mode only Mac line breaks are changed to two Unix line breaks.

unix2dos: Only Unix line breaks are changed to two DOS line breaks. In Mac mode Unix line breaks are changed to two Mac line breaks.

-m, --add-bom

Write a Byte Order Mark (BOM) in the output file. By default an UTF-8 BOM is written.

When the input file is UTF-16, and the option -u

is used, an UTF-16 BOM will be written.

Never use this option when the output encoding is other than UTF-8, UTF-16, or GB18030. See also section UNICODE.

-n, --newfile INFILE OUTFILE ...

New file mode. Convert file INFILE and write output to file OUTFILE. File names must be given in pairs and wildcard names should not be used or you will lose your files.

The person who starts the conversion in new file (paired) mode will be the owner of the converted file. The read/write permissions of the new file will be the permissions of the original file minus the umask(1) of the person who runs the conversion.

--no-allow-chown

Don't allow file ownership change in old file mode (default).

Abort conversion when the user and/or group ownership of the original file can't be preserved in old file mode. See also options -o

and -n

. This option is only available if dos2unix has support for preserving the user and group ownership of files.

-o, --oldfile FILE ...

Old file mode. Convert file FILE and overwrite output to it. The program defaults to run in this mode. Wildcard names may be used.

In old file (in-place) mode the converted file gets the same owner, group, and read/write permissions as the original file. Also when the file is converted by another user who has write permissions on the file (e.g. user root). The conversion will be aborted when it is not possible to preserve the original values. Change of owner could mean that the original owner is not able to read the file any more. Change of group could be a security risk, the file could be made readable for persons for whom it is not intended. Preservation of owner, group, and read/write permissions is only supported on Unix.

To check if dos2unix has support for preserving the user and group ownership of files type dos2unix -V

.

Conversion is always done via a temporary file. When an error occurs halfway the conversion, the temporary file is deleted and the original file stays intact. When the conversion is successful, the original file is replaced with the temporary file. You may have write permission on the original file, but no permission to put the same user and/or group ownership properties on the temporary file as the original file has. This means you are not able to preserve the user and/or group ownership of the original file. In this case you can use option --allow-chown

to continue with the conversion:

dos2unix --allow-chown foo.txt

Another option is to use new file mode:

dos2unix -n foo.txt foo.txt

The advantage of the --allow-chown

option is that you can use wildcards, and the ownership properties will be preserved when possible.

-q, --quiet

Quiet mode. Suppress all warnings and messages. The return value is zero. Except when wrong command-line options are used.

-r, --remove-bom

Remove Byte Order Mark (BOM). Do not write a BOM in the output file. This is the default behavior when converting to Unix line breaks. See also option -b

.

-s, --safe

Skip binary files (default).

The skipping of binary files is done to avoid accidental mistakes. Be aware that the detection of binary files is not 100% foolproof. Input files are scanned for binary symbols which are typically not found in text files. It is possible that a binary file contains only normal text characters. Such a binary file will mistakenly be seen as a text file.

-u, --keep-utf16

Keep the original UTF-16 encoding of the input file. The output file will be written in the same UTF-16 encoding, little or big endian, as the input file. This prevents transformation to UTF-8. An UTF-16 BOM will be written accordingly. This option can be disabled with the -ascii

option.

-ul, --assume-utf16le

Assume that the input file format is UTF-16LE.

When there is a Byte Order Mark in the input file the BOM has priority over this option.

When you made a wrong assumption (the input file was not in UTF-16LE format) and the conversion succeeded, you will get an UTF-8 output file with wrong text. You can undo the wrong conversion with iconv(1) by converting the UTF-8 output file back to UTF-16LE. This will bring back the original file.

The assumption of UTF-16LE works as a conversion mode. By switching to the default ascii mode the UTF-16LE assumption is turned off.

-ub, --assume-utf16be

Assume that the input file format is UTF-16BE.

This option works the same as option -ul

.

-v, --verbose

Display verbose messages. Extra information is displayed about Byte Order Marks and the amount of converted line breaks.

-F, --follow-symlink

Follow symbolic links and convert the targets.

-R, --replace-symlink

Replace symbolic links with converted files (original target files remain unchanged).

-S, --skip-symlink

Keep symbolic links and targets unchanged (default).

-V, --version

Display version information and exit.

MAC MODE

In normal mode line breaks are converted from DOS to Unix and vice versa. Mac line breaks are not converted.

In Mac mode line breaks are converted from Mac to Unix and vice versa. DOS line breaks are not changed.

To run in Mac mode use the command-line option -c mac

or use the commands mac2unix

or unix2mac

.

CONVERSION MODES

ascii

In mode ascii

only line breaks are converted. This is the default conversion mode.

Although the name of this mode is ASCII, which is a 7 bit standard, the actual mode is 8 bit. Use always this mode when converting Unicode UTF-8 files.

7bit

In this mode all 8 bit non-ASCII characters (with values from 128 to 255) are converted to a 7 bit space.

iso

Characters are converted between a DOS character set (code page) and ISO character set ISO-8859-1 (Latin-1) on Unix. DOS characters without ISO-8859-1 equivalent, for which conversion is not possible, are converted to a dot. The same counts for ISO-8859-1 characters without DOS counterpart.

When only option -iso

is used dos2unix will try to determine the active code page. When this is not possible dos2unix will use default code page CP437, which is mainly used in the USA. To force a specific code page use options -437

(US), -850

(Western European), -860

(Portuguese), -863

(French Canadian), or -865

(Nordic). Windows code page CP1252 (Western European) is also supported with option -1252

. For other code pages use dos2unix in combination with iconv(1). Iconv can convert between a long list of character encodings.

Never use ISO conversion on Unicode text files. It will corrupt UTF-8 encoded files.

Some examples:

Convert from DOS default code page to Unix Latin-1:

dos2unix -iso -n in.txt out.txt

Convert from DOS CP850 to Unix Latin-1:

dos2unix -850 -n in.txt out.txt

Convert from Windows CP1252 to Unix Latin-1:

dos2unix -1252 -n in.txt out.txt

Convert from Windows CP1252 to Unix UTF-8 (Unicode):

iconv -f CP1252 -t UTF-8 in.txt | dos2unix > out.txt

Convert from Unix Latin-1 to DOS default code page:

unix2dos -iso -n in.txt out.txt

Convert from Unix Latin-1 to DOS CP850:

unix2dos -850 -n in.txt out.txt

Convert from Unix Latin-1 to Windows CP1252:

unix2dos -1252 -n in.txt out.txt

Convert from Unix UTF-8 (Unicode) to Windows CP1252:

unix2dos < in.txt | iconv -f UTF-8 -t CP1252 > out.txt

See also <http://czyborra.com/charsets/codepages.html> and <http://czyborra.com/charsets/iso8859.html>.

UNICODE

Encodings

There exist different Unicode encodings. On Unix and Linux Unicode files are typically encoded in UTF-8 encoding. On Windows Unicode text files can be encoded in UTF-8, UTF-16, or UTF-16 big endian, but are mostly encoded in UTF-16 format.

Conversion

Unicode text files can have DOS, Unix or Mac line breaks, like regular text files.

All versions of dos2unix and unix2dos can convert UTF-8 encoded files, because UTF-8 was designed for backward compatibility with ASCII.

Dos2unix and unix2dos with Unicode UTF-16 support, can read little and big endian UTF-16 encoded text files. To see if dos2unix was built with UTF-16 support type dos2unix -V

.

On Unix/Linux UTF-16 encoded files are converted to the locale character encoding. Use the locale(1) command to find out what the locale character encoding is. When conversion is not possible a conversion error will occur and the file will be skipped.

On Windows UTF-16 files are by default converted to UTF-8. UTF-8 formatted text files are well supported on both Windows and Unix/Linux.

UTF-16 and UTF-8 encoding are fully compatible, there will no text be lost in the conversion. When an UTF-16 to UTF-8 conversion error occurs, for instance when the UTF-16 input file contains an error, the file will be skipped.

When option -u

is used, the output file will be written in the same UTF-16 encoding as the input file. Option -u

prevents conversion to UTF-8.

Dos2unix and unix2dos have no option to convert UTF-8 files to UTF-16.

ISO and 7-bit mode conversion do not work on UTF-16 files.

Byte Order Mark

On Windows Unicode text files typically have a Byte Order Mark (BOM), because many Windows programs (including Notepad) add BOMs by default. See also <http://en.wikipedia.org/wiki/Byte_order_mark>.

On Unix Unicode files typically don't have a BOM. It is assumed that text files are encoded in the locale character encoding.

Dos2unix can only detect if a file is in UTF-16 format if the file has a BOM. When an UTF-16 file doesn't have a BOM, dos2unix will see the file as a binary file.

Use option -ul

or -ub

to convert an UTF-16 file without BOM.

Dos2unix writes by default no BOM in the output file. With option -b

Dos2unix writes a BOM when the input file has a BOM.

Unix2dos writes by default a BOM in the output file when the input file has a BOM. Use option -r

to remove the BOM.

Dos2unix and unix2dos write always a BOM when option -m

is used.

Unicode file names on Windows

Dos2unix has optional support for reading and writing Unicode file names in the Windows Command Prompt. That means that dos2unix can open files that have characters in the name that are not part of the default system ANSI code page. To see if dos2unix for Windows was built with Unicode file name support type dos2unix -V

.

There are some issues with displaying Unicode file names in a Windows console. See option -D

, --display-enc

. The file names may be displayed wrongly in the console, but the files will be written with the correct name.

Unicode examples

Convert from Windows UTF-16 (with BOM) to Unix UTF-8:

dos2unix -n in.txt out.txt

Convert from Windows UTF-16LE (without BOM) to Unix UTF-8:

dos2unix -ul -n in.txt out.txt

Convert from Unix UTF-8 to Windows UTF-8 with BOM:

unix2dos -m -n in.txt out.txt

Convert from Unix UTF-8 to Windows UTF-16:

unix2dos < in.txt | iconv -f UTF-8 -t UTF-16 > out.txt

GB18030

GB18030 is a Chinese government standard. A mandatory subset of the GB18030 standard is officially required for all software products sold in China. See also <http://en.wikipedia.org/wiki/GB_18030>.

GB18030 is fully compatible with Unicode, and can be considered an unicode transformation format. Like UTF-8, GB18030 is compatible with ASCII. GB18030 is also compatible with Windows code page 936, also known as GBK.

On Unix/Linux UTF-16 files are converted to GB18030 when the locale encoding is set to GB18030. Note that this will only work if the locale is supported by the system. Use command locale -a

to get the list of supported locales.

On Windows you need to use option -gb

to convert UTF-16 files to GB18030.

GB18030 encoded files can have a Byte Order Mark, like Unicode files.

EXAMPLES

Read input from 'stdin' and write output to 'stdout':

dos2unix < a.txt

cat a.txt | dos2unix

Convert and replace a.txt. Convert and replace b.txt:

dos2unix a.txt b.txt

dos2unix -o a.txt b.txt

Convert and replace a.txt in ascii conversion mode:

dos2unix a.txt

Convert and replace a.txt in ascii conversion mode, convert and replace b.txt in 7bit conversion mode:

dos2unix a.txt -c 7bit b.txt

dos2unix -c ascii a.txt -c 7bit b.txt

dos2unix -ascii a.txt -7 b.txt

Convert a.txt from Mac to Unix format:

dos2unix -c mac a.txt

mac2unix a.txt

Convert a.txt from Unix to Mac format:

unix2dos -c mac a.txt

unix2mac a.txt

Convert and replace a.txt while keeping original date stamp:

dos2unix -k a.txt

dos2unix -k -o a.txt

Convert a.txt and write to e.txt:

dos2unix -n a.txt e.txt

Convert a.txt and write to e.txt, keep date stamp of e.txt same as a.txt:

dos2unix -k -n a.txt e.txt

Convert and replace a.txt, convert b.txt and write to e.txt:

dos2unix a.txt -n b.txt e.txt

dos2unix -o a.txt -n b.txt e.txt

Convert c.txt and write to e.txt, convert and replace a.txt, convert and replace b.txt, convert d.txt and write to f.txt:

dos2unix -n c.txt e.txt -o a.txt b.txt -n d.txt f.txt

RECURSIVE CONVERSION

In a Unix shell the find(1) and xargs(1) commands can be used to run dos2unix recursively over all text files in a directory tree. For instance to convert all .txt files in the directory tree under the current directory type:

find . -name '*.txt' -print0 |xargs -0 dos2unix

The find(1) option -print0

and corresponding xargs(1) option -0

are needed when there are files with spaces or quotes in the name. Otherwise these options can be omitted. Another option is to use find(1) with the -exec

option:

find . -name '*.txt' -exec dos2unix {} \;

In a Windows Command Prompt the following command can be used:

for /R %G in (*.txt) do dos2unix "%G"

PowerShell users can use the following command in Windows PowerShell:

get-childitem -path . -filter '*.txt' -recurse | foreach-object {dos2unix $_.Fullname}

LOCALIZATION

LANG

The primary language is selected with the environment variable LANG. The LANG variable consists out of several parts. The first part is in small letters the language code. The second is optional and is the country code in capital letters, preceded with an underscore. There is also an optional third part: character encoding, preceded with a dot. A few examples for POSIX standard type shells:

export LANG=nl               Dutch

export LANG=nl_NL            Dutch, The Netherlands

export LANG=nl_BE            Dutch, Belgium

export LANG=es_ES            Spanish, Spain

export LANG=es_MX            Spanish, Mexico

export LANG=en_US.iso88591   English, USA, Latin-1 encoding

export LANG=en_GB.UTF-8      English, UK, UTF-8 encoding

For a complete list of language and country codes see the gettext manual: <http://www.gnu.org/software/gettext/manual/html_node/Usual-Language-Codes.html>

On Unix systems you can use the command locale(1) to get locale specific information.

LANGUAGE

With the LANGUAGE environment variable you can specify a priority list of languages, separated by colons. Dos2unix gives preference to LANGUAGE over LANG. For instance, first Dutch and then German: LANGUAGE=nl:de

. You have to first enable localization, by setting LANG (or LC_ALL) to a value other than ``C'', before you can use a language priority list through the LANGUAGE variable. See also the gettext manual: <http://www.gnu.org/software/gettext/manual/html_node/The-LANGUAGE-variable.html>

If you select a language which is not available you will get the standard English messages.

DOS2UNIX_LOCALEDIR

With the environment variable DOS2UNIX_LOCALEDIR the LOCALEDIR set during compilation can be overruled. LOCALEDIR is used to find the language files. The GNU default value is /usr/local/share/locale

. Option --version will display the LOCALEDIR that is used.

Example (POSIX shell):

export DOS2UNIX_LOCALEDIR=$HOME/share/locale

RETURN VALUE

On success, zero is returned. When a system error occurs the last system error will be returned. For other errors 1 is returned.

The return value is always zero in quiet mode, except when wrong command-line options are used.

STANDARDS

<http://en.wikipedia.org/wiki/Text_file>

<http://en.wikipedia.org/wiki/Carriage_return>

<http://en.wikipedia.org/wiki/Newline>

<http://en.wikipedia.org/wiki/Unicode>

AUTHORS

Benjamin Lin - <blin@socs.uts.edu.au>, Bernd Johannes Wuebben (mac2unix mode) - <wuebben@kde.org>, Christian Wurll (add extra newline) - <wurll@ira.uka.de>, Erwin Waterlander - <waterlan@xs4all.nl> (maintainer)

Project page: <http://waterlan.home.xs4all.nl/dos2unix.html>

SourceForge page: <http://sourceforge.net/projects/dos2unix/>

SEE ALSO

file(1) find(1) iconv(1) locale(1) xargs(1)

NAME SYNOPSIS DESCRIPTION OPTIONS MAC MODE CONVERSION MODES UNICODE Encodings Conversion Byte Order Mark Unicode file names on Windows Unicode examples GB18030 EXAMPLES RECURSIVE CONVERSION LOCALIZATION RETURN VALUE STANDARDS AUTHORS SEE ALSO

This document was created by man2html using the manual pages.

Time: 16:33:49 GMT, September 14, 2024

WinToolsRevision

TOC Index

NAME

WinToolsRevision - revision history of WA2L/WinTools

AVAILABILITY

WA2L/WinTools

DESCRIPTION

This manpage gives you an overview of changes between the different releases of WA2L/WinTools.

For an explanation of the revision number system see section RELEASE-NUMBERS and for an explanation of used shortcuts in the REVISION-HISTORY see section SHORTCUTS .

RELEASE-NUMBERS

The release number format is: <major>.<update>.<patch_level> .

If the <major> part changes, major design changes were applied, therefore you have to upgrade your installation.

If the <update> part changes, important bugfixes were applied, you should upgrade your WA2L/WinTools installation to the current version.

If the <patch_level> part changes, minor changes or bugfixes were applied, it is not urgent to upgrade your installation, but recommended.

SHORTCUTS

OBJECT

cmd

command

man

manual page

doc

plain documentation

cfg

configuration

var

dynamic (varia) files

opt

option

dir

directory

lib

dependent library files

ACTION

new

new function, configuration parameter, option, behavior

chg

change

fix

bugfix

cor

correction of descriptions, comments, logfile output, typing errors

REVISION-HISTORY

1.2.08

Sun April 02 22:22:22 W. Europe Time 2023 Sajama release

-

cfg/chg pack.cfg: new release 1.2.08 (02.04.2023 22:22)

1.2.07

Sun Feb 12 12:12:00 W. Europe Time 2023 Illimani release

-

cfg/chg pack.cfg: new release 1.2.07 (12.02.2023 12:12)

1.2.06

Sat Nov 30 18:30:00 W. Europe Time 2019 Winter release

-

cfg/chg pack.cfg: new release 1.2.06 (30.11.2019 18:30)

1.2.05

Sat Mar 30 13:26:07 W. Europe Daylight Time 2019 Spring release

MAIN IMPROVEMENTS:

-

man/chg many: several improvements.

-

cmd/chg many: several improvements.

ALL CHANGES:

-

cfg/chg pack.cfg: new release 1.2.05 (30.03.2019 12:30)

-

man/chg many: several improvements.

-

cmd/chg many: several improvements.

1.2.04

Sun Oct 21 13:27:37 W. Europe Daylight Time 2018 Winter release

MAIN IMPROVEMENTS:

-

man/chg many: several improvements.

-

cmd/chg many: several improvements.

ALL CHANGES:

-

cfg/chg pack.cfg: new release 1.2.04 (21.10.2018 13:28)

-

man/chg many: several improvements.

-

cmd/chg many: several improvements.

1.2.03

Fri May 18 18:00:00 METDST 2018 Summer release

MAIN IMPROVEMENTS:

-

cmd/new shell/lscomp: list compressed archive contents (short format).

-

cmd/new shell/llcomp: list compressed archive contents (long format).

-

cmd/new shell/cdmydoc: cd to myDocuments folder.

-

cmd/new 7-zip: handle (compressed) archives.

ALL CHANGES:

-

cfg/chg pack.cfg: new release 1.2.03 (17.04.2018 01:02)

-

cmd/new shell/lscomp: list compressed archive contents (short format).

-

cmd/new shell/llcomp: list compressed archive contents (long format).

-

cmd/new shell/cdmydoc: cd to myDocuments folder.

-

cmd/new 7-zip: handle (compressed) archives.

1.2.02

Fri Mar 20 00:23:24 METDST 2018 Spring release

MAIN IMPROVEMENTS:

-

cmd/new safehouseexplorer: handle secure file container.

-

cmd/new pdf2ppt: to convert PDF to PowerPoint presentations.

-

man/new userinfo.cfg.4

-

man/new textnote2html.3

-

cmd/chg dsubst: now has a config file dsubst.cfg.

-

cmd/chg wtinit: renamed to svcinit.

ALL CHANGES:

-

cfg/chg pack.cfg: new release 1.2.02 (10.03.2018 12:42)

-

cfg/new dsubst.cfg: configuration file for dsubst.

-

man/new pdf2ppt.1

-

man/new userinfo.cfg.4

-

man/new textnote2html.3

-

man/new dsubst.cfg.4

-

cmd/new safehouseexplorer: handle secure file container.

-

cmd/new pdf2ppt: to convert PDF to PowerPoint presentations.

-

cmd/chg dsubst: now has a config file dsubst.cfg.

-

cmd/chg dsubst: -l to list existing shortcuts.

-

cmd/chg dsubst: -i and -u option function enhanced.

-

cmd/chg wtinit: renamed to svcinit.

1.2.01

Tue Oct 31 23:59:59 METDST 2017 Halloween release

MAIN IMPROVEMENTS:

-

cmd/chg *: many improvements.

-

man/new wintoolsdownload.1m

-

man/new citesdownload.1m

-

man/new csvfileview.1

-

cmd/new citesdownload: download lib/cites.js.

ALL CHANGES:

-

cfg/chg pack.cfg: new release 1.2.01 (27.10.2017 00:30)

-

man/new wintoolsdownload.1m

-

man/new wintoolsdownload.cfg.4

-

man/new citesdownload.1m

-

man/new citesdownload.cfg.4

-

man/new csvfileview.1

-

man/chg wintoolsintro.1

-

cmd/chg *: many improvements.

-

cmd/new citesdownload: download lib/cites.js.

1.2.00

Tue Oct 19 22:59:41 METDST 2017 release

MAIN IMPROVEMENTS:

-

man/new pdfrotate.1

-

cmd/new WinFontsForAll: use additional Windows fonts without admin rights.

-

cmd/new pdfrotate: rotate/select pages in a PDF document.

-

cmd/new meta2cover: create PDF cover page from meta data.

ALL CHANGES:

-

cfg/chg pack.cfg: new release 1.2.00 (31.07.2017 14:00)

-

man/chg *: cleanup.

-

man/new pdfrotate.1

-

cmd/chg *: cleanup.

-

cmd/new meta2cover: create PDF cover page from meta data.

-

cmd/new WinFontsForAll: use additional Windows fonts without admin rights.

-

cmd/new pdfrotate: rotate/select pages in a PDF document.

1.1.99

Fri Jul 28 02:36:07 METDST 2017 release

MAIN IMPROVEMENTS:

-

cmd/chg *: all commands in bin/ are now *.exe files.

-

cmd/chg setup: is replaced by config.

-

cmd/chg uninstall: is replaced by unconfig.

-

cmd/chg metadata: metadata of the viewed data record is available in clipboard (after closing of the editor).

-

cmd/new shell/ptime: print running time of process.

ALL CHANGES:

-

cfg/chg pack.cfg: new release 1.1.99 (28.07.2017 00:01)

-

man/chg setup.1m: replaced by config.1m

-

man/chg setup.cfg.4: replaced by config.cfg.4

-

cmd/chg setup: is replaced by config.

-

cmd/chg uninstall: is replaced by unconfig.

-

cmd/chg *: all commands in bin/ are now *.exe files.

-

cmd/chg shell/usage: improvements.

-

cmd/new shell/ptime: print running time of process.

-

cmd/chg metadata: metadata of the viewed data record is available in clipboard (after closing of the editor).

1.1.98

Tue Jul 25 17:38:06 METDST 2017 release

MAIN IMPROVEMENTS:

-

cmd/chg metadata: export to xml improved.

-

cmd/new plink: ssh client.

-

cmd/new psftp: sftp client.

-

cmd/chg history: output improved.

ALL CHANGES:

-

cfg/chg pack.cfg: new release 1.1.98 (24.07.2017 20:00)

-

chg/man wtshell.1m: plink, psftp added.

-

cmd/chg metadata: export to xml improved.

-

cmd/chg shell/go: support "special" characters in path.

-

cmd/chg history: output improved.

-

cmd/new plink: ssh client.

-

cmd/new psftp: sftp client.

-

cmd/chg bib2xml: character encoding improved.

-

cmd/chg meta2bib: character encoding improved.

1.1.97

Sat Jul 22 23:31:34 METDST 2017 release

MAIN IMPROVEMENTS:

-

new/cmd vim: vi improved (console) version.

ALL CHANGES:

-

cfg/chg pack.cfg: new release 1.1.97 (22.07.2017 00:01)

-

man/new vim.1

-

man/chg wintoolsintro.1: vim added.

-

man/chg wintools.1: vim added.

-

cmd/new vim: vi improved (console) version.

-

cmd/fix metadata: pop-up WARNING message on files containing spaces.

-

cmd/chg manvi: use vim when started from remote thru Bitvise SSH server.

-

cmd/chg wtshell: start vim on vi call when started from remote thru Bitvise SSH server.

-

cmd/chg shell/usage: avoid line breaks on lines exceeding console window width.

-

cmd/chg shell/name: avoid line breaks on lines exceeding console window width.

-

cmd/chg metadata: now also can export MS-Word xml file.

-

lib/chg meta2bib: -V option to print program version.

-

lib/chg meta2csv: -V option to print program version.

1.1.96

Thu Jul 20 22:44:18 METDST 2017 release

MAIN IMPROVEMENTS:

-

cmd/fix fileindex: html file generation does not contain cryptic characters in first entry any more.

-

cmd/chg metadata: does not create .meta file for directories any more.

-

cmd/chg metadata: pop-up message if file for a clicked file does not exist.

ALL CHANGES:

-

cfg/chg pack.cfg: new release 1.1.96 (17.07.2017 17:07)

-

man/chg metadata.bib: update with available templates.

-

man/chg metadata.bib: add @_REF@, @_SUBTITLE@ description.

-

cmd/chg metadata: does not create .meta file for directories any more.

-

man/chg softwarelist: enhanced.

-

cmd/new shell/expl: start Windows explorer with current dir when no directory is specified on the command line.

-

cmd/chg shell/a: improved variable setting.

-

cmd/chg shell/b: improved variable setting.

-

cmd/chg shell/c: improved variable setting.

-

cmd/chg shell/d: improved variable setting.

-

cmd/chg shell/history: now prints 30 history entries from last session.

-

cmd/fix fileindex: html file generation does not contain cryptic characters in first entry any more.

-

cmd/chg fileindex: version output improved.

-

cmd/chg metadata: does not create .meta file for directories any more.

-

cmd/chg metadata: pop-up message if file for a clicked file does not exist.

-

cmd/chg wallpaper: version output improved.

-

cmd/chg ppt2png: version output improved.

-

lib/chg meta2bib: provide @_REF@, @_SUBTITLE@ field.

-

lib/chg metadata.*.bib: replace @REF@ with @_REF@.

-

lib/chg metadata.*.bib: replace title = {@TITLE@} with title = {@TITLE@@_SUBTITLE@}.

-

lib/new .bib templates: metadata.booklet.bib, metadata.inbook.bib, metadata.incollection.bib, metadata.inproceedings.bib, metadata.masterthesis.bib, metadata.phdthesis.bib, metadata.proceedings.bib, metadata.techreport.bib, metadata.unpublished.bib.

1.1.95

Sun Jul 16 17:50:36 METDST 2017 release

MAIN IMPROVEMENTS:

-

cmd/chg metadata: new option -e to export the metadata repository to csv, sqlite3 and BibTeX files.

-

man/new metadata.bib.4

-

doc/chg html manual pages: now has also an image as title page.

-

lib/chg gxps.exe: upgraded to version 9.21. gxps is used by xps2pdf and xps2png.

-

lib/chg gawk.exe: upgraded to version 4.1.4.

ALL CHANGES:

-

cfg/chg pack.cfg: new release 1.1.95 (11.07.2017 22:23)

-

man/chg gawk.3: upgrade to version 4 manual page.

-

man/chg awk.3: correct awk man page provided.

-

man/chg wintoolsintro: add gawk.2 to SEE ALSO.

-

man/new metadata.bib.4

-

doc/chg html manual pages: now has also an image as title page.

-

cmd/cor metadata: usage info corrected.

-

cmd/chg metadata: new option -e to export the metadata repository to csv, sqlite3 and BibTeX files.

-

cmd/fix a, b, c, d: when setting the variables no longer a tailing space is saved.

-

lib/chg gxps.exe: upgraded to version 9.21. gxps is used by xps2pdf and xps2png.

-

lib/chg gawk.exe: upgraded to version 4.1.4.

-

lib/fix awkfunlib.awk: variables changed to be able to use the library also for gawk 4.x.

1.1.94

Sun Jul 9 20:22:44 METDST 2017 release

MAIN IMPROVEMENTS:

-

man/new metadata.template.4

-

lib/new iconv: convert text from one to another encoding.

-

cmd/new shell/go: change directory and record directory to use ret to return to that directory.

-

cmd/chg shell/cd: is now an alias to the go command.

-

cmd/new shell/ret: return to previous directory.

ALL CHANGES:

-

cfg/chg pack.cfg: new release 1.1.94 (07.07.2017 18:43)

-

man/new iconv.3

-

man/new metadata.template.4

-

man/chg metadata.1: add metadata.template.4 to SEE ALSO.

-

man/chg metadata.cfg.4: add metadata.template.4 to SEE ALSO.

-

man/chg wintoolsintro.1: add metadata.template.4 to SEE ALSO.

-

man/chg wintools.1: add metadata.template.4.

-

man/chg wtshell: documentation of ret, go and history commands.

-

man/chg fileindex.1: add -V option description and exit code.

-

man/chg dsubst.1: add -V option description and exit code.

-

man/chg edszip.1: add -V option description and exit code.

-

man/chg vcp.1: add -V option description and exit code.

-

man/chg sav.1: add -V option description and exit code.

-

man/chg savnow.1: add -V option description and exit code.

-

man/chg ppt2png.1: add -V option description and exit code.

-

man/chg todayprefix.1: add -V option description and exit code.

-

man/chg vcp.1: add -V option description and exit code.

-

man/chg man.1: add -V option description and exit code.

-

man/chg setup.1: add -V option description and exit code.

-

man/chg manvi.1: add -V option description and exit code.

-

man/chg man.1: add -V option description and exit code.

-

man/chg typertask.1: add -V option description and exit code.

-

man/chg pmeter.1: add -V option description and exit code.

-

man/chg spanishaccents.1: add -V option description and exit code.

-

man/chg iyf.1: add -V option description and exit code.

-

man/chg desktopok.1: add -V option description and exit code.

-

man/chg caffeine.1: add -V option description and exit code.

-

man/chg calculator.1: add -V option description and exit code.

-

man/chg pdf-copy-paster.1: add -V option description and exit code.

-

man/chg mycview.1: add -V option description and exit code.

-

man/chg pstart.1: add -V option description and exit code.

-

cmd/fix redirect2web: now does also encode the + character to hexadecimal.

-

cmd/fix copyaslink: now does also encode the + character to hexadecimal.

-

cmd/chg copyaslink: sorted output of resulting links.

-

cmd/chg copyaspath: sorted output of resulting links.

-

cmd/new shell/go: change directory and record directory to use ret to return to that directory.

-

cmd/new shell/ret: return to previous directory.

-

cmd/chg shell/cd*: cd* commands record the directories visited so that you can go back to them using the ret command.

-

cmd/new shell/history: print command history.

-

cmd/chg WinToolsRevision: also provide console output.

-

cmd/chg fileindex: new option -V to display program version.

-

cmd/chg EDSzip: new option -V to display program version.

-

cmd/chg dsubst: new option -V to display program version.

-

cmd/chg sav: new option -V to display program version.

-

cmd/chg savnow: new option -V to display program version.

-

cmd/chg todayprefix: new option -V to display program version.

-

cmd/chg man: new option -V to display program version.

-

cmd/chg setup: new option -V to display program version.

-

cmd/chg vcp: new option -V to display program version.

-

cmd/chg copyaslink: new option -V to display program version.

-

cmd/chg copyaspath: new option -V to display program version.

-

cmd/chg ppt2png: new option -V to display program version.

-

cmd/chg dsubst: new option -V to display program version.

-

cmd/chg BES: change version output on -V call.

-

lib/new iconv: convert text from one to another encoding.

-

var/fix var/wallpaper/wallpaper.js: "Webcams" not defined in row 430 error.

1.1.93

Tue Jul 4 01:47:48 METDST 2017 release

MAIN IMPROVEMENTS:

-

cmd/chg several commands: are now provided as .exe files.

-

cmd/fix several commands: now can also handle file names containing special characters.

-

cmd/fix xps2png: now generates a PNG file.

-

cmd/chg metadata: several improvements.

ALL CHANGES:

-

cfg/chg pack.cfg: new release 1.1.93 (04.07.2017 01:40)

-

man/new cat.1

-

man/new tac.1

-

man/new join.1

-

man/new wc.1

-

cmd/chg sav: is now an .exe file.

-

cmd/fix sav: now can also handle file names containing special characters.

-

cmd/chg savnow: is now an .exe file.

-

cmd/fix savnow: now can also handle file names containing special characters.

-

cmd/chg todayprefix: is now an .exe file.

-

cmd/fix todayprefix: now can also handle file names containing special characters.

-

cmd/chg copyaspath: is now an .exe file.

-

cmd/fix copyaspath: now can also handle file names containing special characters.

-

cmd/chg copyaslink: is now an .exe file.

-

cmd/fix copyaslink: now can also handle file names containing special characters.

-

cmd/chg vcp: is now an .exe file.

-

cmd/fix vcp: now can also handle file names containing special characters.

-

cmd/chg metadata: is now an .exe file.

-

cmd/fix metadata: now can also handle file names containing special characters.

-

cmd/chg metadata: several improvements.

-

cmd/new cat: in shell.

-

cmd/new tac: in shell.

-

cmd/new join: in shell.

-

cmd/fix xps2png: now generates a PNG file.

1.1.92

Sun Jul 2 01:30:08 METDST 2017 release

MAIN IMPROVEMENTS:

-

cmd/new uxfind: in wtshell.

-

cmd/new metadata: save/handle meta information of files.

ALL CHANGES:

-

cfg/chg pack.cfg: new release 1.1.92 (28.06.2017 23:26)

-

man/new uxfind.1

-

man/chg wtshell.1m: add uxfind.

-

man/new metadata.1

-

man/new metadata.cfg.1

-

man/chg setup.cfg.4: add metadata.

-

man/cor setup.cfg.4: default of VI corrected to NO.

-

man/new exiftool.3

-

man/new pdfinfo.3

-

man/new sqlite3.3

-

man/chg wintoolsintro.1: add rcedit, metadata.

-

man/chg bes.1: improve OPTIONS description.

-

man/chg bes.cfg.4: improve BES_OPTIONS description.

-

cmd/new uxfind: in wtshell.

-

cmd/new metadata: save/handle meta information of files.

-

cmd/fix redirect2web: @INSTALLDIR@ and %INSTALLDIR% resolution.

-

cmd/chg bes: new -V option to display program version.

1.1.91

Sat Jun 24 14:19:36 METDST 2017 release

MAIN IMPROVEMENTS:

-

man/chg div: documentation enhancements.

-

cmd/cor redirect2web: handling of selected directories.

-

cfg/chg redirect2web.cfg: %INSTALLDIR% can be defined in PATH= setting.

-

cfg/chg redirect2web.map: viewer can now also be defined on rule level.

ALL CHANGES:

-

cfg/chg pack.cfg: new release 1.1.91 (16.06.2017 11:01)

-

cfg/chg redirect2web.cfg: %INSTALLDIR% can be defined in PATH= setting.

-

cfg/chg redirect2web.map: viewer can now also be defined on rule level.

-

man/chg softwarelist.1: add CarotDAV.

-

man/chg softwarelist.1: add description to some entries.

-

man/cor redirect2web.map.4: map entry example EXMP-23.

-

man/new banner.1

-

cmd/cor redirect2web: handling of selected directories.

-

cmd/chg redirect2web: viewer can now also be defined on rule level.

-

cmd/chg redirect2web: %INSTALLDIR% can be defined in PATH= setting in redirect2web.cfg.

1.1.90

Sun Jun 11 17:50:02 METDST 2017 release

MAIN IMPROVEMENTS:

-

cmd/new redirect2web: redirect selected file to web server location.

-

cmd/new BES: limit CPU usage.

ALL CHANGES:

-

cfg/chg pack.cfg: new release 1.1.90 (10.06.2017 21:03)

-

man/chg wtshell.1: add max, norm, fgrep and change structure.

-

man/new redirect2web.1

-

man/new redirect2web.cfg.4

-

man/new redirect2web.map.4

-

man/new fgrep.1

-

man/new bes.1

-

man/new bes.cfg.4

-

cmd/new redirect2web: redirect selected file to web server location.

-

cmd/new max: maximize command window to full screen in shell.

-

cmd/new norm: resize command window to normal size in shell.

-

cmd/new fgrep: grep for strings in files in shell.

-

cmd/new cut: print selected part of a line in files in shell.

-

cmd/new BES: limit CPU usage.

-

cmd/chg lsmv: list all files when no option is specified.

1.1.89

Thu May 11 23:19:18 METDST 2017 release

MAIN IMPROVEMENTS:

-

cmd/chg usage: also list files in var/scripts.

ALL CHANGES:

-

cfg/chg pack.cfg: new release 1.1.89 (03.05.2017 22:21)

-

man/new softwarelist.1: list of free software.

-

cmd/chg usage: also list files in var/scripts.

-

cmd/chg wtshell: also include var/scripts in %PATH%.

-

cmd/chg lsmv: does not include dots and directories any more.

1.1.88

Thu Apr 20 01:48:38 METDST 2017 release

MAIN IMPROVEMENTS:

-

-

cmd/chg lsmv: also includes files having a dot '.' as first character.

ALL CHANGES:

-

cfg/chg pack.cfg: new release 1.1.88 (15.04.2017 17:28)

-

cmd/chg lsmv: also includes files having a dot '.' as first character.

-

cmd/chg name: avoid error output.

1.1.87

Fri Apr 7 19:10:59 METDST 2017 release

MAIN IMPROVEMENTS:

-

man/chg div: move library commands manual pages to section 3.

ALL CHANGES:

-

cfg/chg pack.cfg: new release 1.1.87 (07.04.2017 18:11)

-

chg/man awk.1: move to section 3

-

chg/man jq.1: move to section 3

-

chg/man zip.1: move to section 3

-

chg/man unzip.1: move to section 3

-

chg/man wget.1: move to section 3

1.1.86

Thu Mar 30 20:26:51 METDST 2017 release

MAIN IMPROVEMENTS:

-

cmd/new svg2png: convert SVG to PNG.

ALL CHANGES:

-

cfg/chg pack.cfg: new release 1.1.86 (29.03.2017 20:30)

-

cfg/new svg2png.cfg: optional configuration file for svg2png.

-

man/new svg2png.1

-

man/new svg2png.cfg.4

-

man/chg wintools.1: add svg2png.1 and svg2png.cfg.4.

-

man/chg wintoolsintro.1: add svg2png description nd convert source information.

-

man/chg vcp.1: correct links to Wikipedia in SEE ALSO section.

-

man/new convert.3

-

cmd/new svg2png: convert SVG to PNG.

1.1.85

Wed Mar 22 20:55:05 METDST 2017 release

MAIN IMPROVEMENTS:

-

cmd/chg wtshell: some command improvements.

ALL CHANGES:

-

cfg/chg pack.cfg: new release 1.1.85 (18.03.2017 23:00)

-

man/chg manvi.1: description of working directory location.

-

man/chg wtshell.1: descriptin of %w% variable and cdw command.

-

cmd/new cdw: in wtshell to change to the directory saved in %w%.

-

cmd/chg wtshell: the working directory before wtshell is started is saved in the %w% variable.

-

cmd/chg abc: in wtshell displays also the contents of the %w% variable.

-

cmd/chg manvi: the working directory of the editor (vi) is now the var/tmp directory.

-

cmd/chg name: use less as pager.

-

cmd/chg revision: use less as pager.

-

cmd/chg usage: use less as pager.

-

cmd/chg newslibrary: output to console added.

-

cmd/chg man: show -- Less -- prompt instead of :.

-

cmd/new month: in wtshell.

1.1.84

Thu Mar 16 22:26:30 METDST 2017 release

MAIN IMPROVEMENTS:

-

-

cmd/new manvi: edit manual pages in vi.

ALL CHANGES:

-

cfg/chg pack.cfg: new release 1.1.84 (16.03.2017 22:17)

-

cmd/chg name: internal improvement, now also ..name_index files are used to print file information.

-

cmd/chg revision: internal improvement.

-

cmd/new manvi: edit manual pages in vi.

-

man/new manvi.1

1.1.83

Sat Mar 11 02:36:19 MET 2017 release

MAIN IMPROVEMENTS:

-

cmd/chg Calculator: now provides two variants of RPN calculators.

-

cmd/new manuals: open HTML manual pages in Windows™ help.

ALL CHANGES:

-

cfg/chg pack.cfg: new release 1.1.83 (23.02.2017 22:14)

-

cmd/fix Calculator: avoid error message.

-

cmd/chg Calculator: now provides two variants of RPN calculators.

-

man/new newslibrary.1

-

man/chg wintoolsintro.1: add newslibrary description.

-

man/new manuals.1

-

man/chg calculator.1: document configuration settings in calculator.cfg

-

man/chg wintoolsintro.1: add RPN_Calculator.exe as additional source.

-

cmd/new NewsLibrary: show WA2L/NewsLibrary in default web browser.

-

cmd/new manuals: open HTML manual pages in Windows™ help.

-

cmd/chg wtshell: add hint to man command to wtshell banner.

-

cmd/new banner: in wtshell.

-

lib/fix awkfunlib.awk: now() error fixed.

-

lib/fix awkfunlib.awk: logmsg() improved.

1.1.82

Sat Feb 11 23:11:11 MET 2017 release

MAIN IMPROVEMENTS:

-

cmd/new np: short start for notepad2.

-

cmd/chg epub2mobi: if no file is specified a dialog appears to select one file to be processed.

ALL CHANGES:

-

cfg/chg pack.cfg: new release 1.1.82 (01.02.2017 19:00)

-

man/chg setup.cfg: add link to epub2mobi(1).

-

man/chg epub2mobi.1: description of -V option.

-

man/chg xps2pdf.1: description of -V option.

-

man/chg office2pdf.1: description of -V option.

-

man/new np.1

-

cmd/chg epub2mobi: if no file is specified a dialog appears to select one file to be processed.

-

cmd/chg epub2mobi: new option -V to print program version.

-

cmd/chg xps2pdf: new option -V to print program version.

-

cmd/chg office2pdf: new option -V to print program version.

-

cmd/new np: short start for notepad2.

-

lib/chg src: all source files moved from lib/ to lib/src/.

1.1.81

Fri Jan 27 22:21:10 MET 2017 release

MAIN IMPROVEMENTS:

-

cmd/new epub2mobi: convert ePUB to MOBI.

-

doc/new wintools_manpages-*.mobi: also MOBI eBook version is distributed now.

ALL CHANGES:

-

cfg/chg pack.cfg: new release 1.1.81 (25.01.2017 22:57)

-

man/chg wtshell.1m: add ps and kill.

-

man/chg wintools.1: add epub2mobi.

-

man/chg wintoolsintro.1: add epub2mobi.

-

man/new epub2mobi.1

-

doc/new wintools_manpages-*.mobi: also MOBI eBook version is distributed now.

-

cmd/new ps: in wtshell.

-

cmd/new kill: in wtshell.

-

cmd/new epub2mobi: convert ePUB to MOBI.

-

cmd/chg setup: add epub2mobi installation.

-

cmd/fix xps2png: internal error fixed.

-

cmd/fix xps2pdf: internal error fixed.

-

cmd/chg typertask: avoid usage of default config file.

1.1.80

Mon Jan 23 19:10:31 MET 2017 release

MAIN IMPROVEMENTS:

-

doc/new wintools_manpages-*.epub: also ePUB eBook version is distributed now.

-

cmd/new typertask: automate keyboard typing.

ALL CHANGES:

-

cfg/chg pack.cfg: new release 1.1.80 (19.01.2017 01:02)

-

man/chg wintools.1: link to eBook version.

-

man/new typertask.1

-

man/chg wintools.1: add typertask manpage.

-

man/chg wintoolsintro.1: add typertask short description.

-

man/chg setup.1m: add WinToolsDownload-postexec.cmd to FILES.

-

doc/new wintools_manpages-*.epub: also ePUB eBook version is distributed now.

-

cmd/chg pack: internal improvements.

-

cmd/fix DesktopOK: fix Start menu entry.

-

cmd/new typertask: automate keyboard typing.

-

cmd/chg setup: integrate typertask.

1.1.79

Wed Jan 18 22:55:59 MET 2017 release

MAIN IMPROVEMENTS:

-

lib/chg awklib.awk: renamed to awkfunlib.awk

-

lib/chg WintoolsDownload-postexec: now also cleans up obsoleted manual page files.

ALL CHANGES:

-

cfg/chg pack.cfg: new release 1.1.79 (10.01.2017 15:10)

-

man/new grep.1

-

man/new regexintro.4

-

cmd/chg wallpaperindex: uses now awkfunlib.awk.

-

cmd/chg wallpaper: uses now awkfunlib.awk.

-

cmd/chg vcp: uses now awkfunlib.awk.

-

cmd/chg fileindex: uses now awkfunlib.awk.

-

cmd/chg setup: now also uses WintoolsDownload-postexec to clean up corpses.

-

lib/chg awklib.awk: renamed to awkfunlib.awk

-

lib/chg WintoolsDownload-postexec: now also cleans up obsoleted manual page files.

-

lib/chg pack: excludes adjustments.

-

lib/new shell/grep: grep command in wtshell.

-

lib/chg Makefile.inc: update copyright.

1.1.78

Mon Jan 9 21:42:20 MET 2017 release

MAIN IMPROVEMENTS:

-

*/chg *: internal improvements.

ALL CHANGES:

-

cfg/chg pack.cfg: new release 1.1.78 (16.12.2016 16:12)

-

man/chg man.css: CSS file for tables in html manual pages improved.

-

man/chg wtshell.1m: internal improvements.

-

man/cor setup.cfg.4: reference to notepad2 (1) man page.

-

man/new touch.1

-

cmd/chg setup: return to working directory on exit.

-

cmd/chg WinToolsRevision: handle title and cwd.

-

lib/chg Makefile.inc: handle tables in html manual pages.

-

lib/chg shell/shellrc: replace hard-coded title in banner.

1.1.77

Mon Dec 12 23:07:03 MET 2016 release

MAIN IMPROVEMENTS:

-

cmd/new wtshell: interactive shell to work within WA2L/WinTools.

ALL CHANGES:

-

cfg/chg pack.cfg: new release 1.1.77 (05.12.2016 18:30)

-

var/chg var/wallpaper/whalefin.*: no longer distribute it with the package.

-

var/chg var/wallpaper/wallpaper.css improvements.

-

var/chg var/wallpaper/(shark|wallpaper|rega|sharkfin|window).html: style changes to avoid scrollbar on generated image file on secondary monitors on systems running Windows 7.

-

var/new var/wallpaper/porthole.html

-

var/new var/wallpaper/webcams.html

-

man/new wtshell.1m

-

man/chg wintoolsintro.1: add wtshell description.

-

man/chg wintools.1: add wtshell(1m).

-

man/new mv.1

-

man/new comm.1

-

man/new egrep.1

-

man/new uxsort.1

-

man/new diff.1

-

man/new which.1

-

man/new egrep.1

-

man/cor wintoolsdownload.1m: install directory in FILES.

-

cmd/chg wallpaper: now silently starts the command when executed from the 'Autostart' menu.

-

cmd/chg wtinit: improvements to properly run on Windows 7.

-

cmd/new wtshell: interactive shell to work within WA2L/WinTools.

-

cmd/chg setup: add wtshell to Start menu.

-

cmd/chg bin/*: improvements on setting the console title.

-

cmd/chg bin/*: improvements on handling the working directory.

-

cmd/chg vcp: default VERSIONSTART changed from _v10 to v1.0.0 .

-

cmd/chg wallpaper: default WALLPAPER_CLEANUP changed from False to True.

-

cmd/chg wallpaperindex: files saved using sav or savnow are excluded from wallpaper index.

1.1.76

Sun Dec 4 13:21:33 MET 2016 release

MAIN IMPROVEMENTS:

-

cmd/chg wtinit: new option eject to stop any running WA2L/WinTools command.

ALL CHANGES:

-

cfg/chg pack.cfg: new release 1.1.76 (04.12.2016 12:00)

-

man/chg wtinit.1m: description of eject option.

-

cmd/chg wtinit: new option eject to stop any running WA2L/WinTools command.

1.1.75

Sat Dec 3 20:48:32 MET 2016 release

MAIN IMPROVEMENTS:

-

cmd/chg wallpaper: default settings for WALLPAPER_HEIGHT and WALLPAPER_WIDTH are the current monitor height and monitor width of the primary monitor.

-

cmd/chg wallpaper: the desktop background color can now be set thru the WALLPAPER_BGCOLOR setting in the configuration file, therefore it is no more needed to set the background color thru the 'Windows Control Panel'.

-

cmd/new PMeter: pixel meter or screen ruler.

-

cmd/new wtinit: to start/stop/restart WA2L/WinTools commands defined in 'Startup'.

ALL CHANGES:

-

cfg/chg pack.cfg: new release 1.1.75 (26.11.2016 17:55)

-

cfg/chg wallpaper.cfg: new variables MONITOR_WIDTH_# and MONITOR_HEIGHT_# in WALLPAPER_HEIGHT and WALLPAPER_WIDTH to react dynamically on current settings.

-

cfg/chg wallpaper.cfg: WALLPAPER_HEIGHT and WALLPAPER_WIDTH allows calculation formulas.

-

cfg/chg wallpaper.cfg: WALLPAPER_HEIGHT and WALLPAPER_WIDTH changed defaults.

-

cfg/chg wallpaper.cfg: WALLPAPER_BGCOLOR to define desktop background color.

-

cfg/chg setup.cfg: new setting VERBOSE to control setup verbosity.

-

var/chg var/wallpaper/wallpaper.js: code improvements.

-

var/chg var/wallpaper/wallpaper.css: css improvements.

-

var/new var/wallpaper/window.*: wallpaper having a 'window' to internet webcams.

-

man/chg wintoolsintro.1: PMeter added.

-

man/chg wintools.1: PMeter added.

-

man/chg setup.cfg.4: description of VERBOSE setting.

-

man/new wtinit.1m

-

cmd/chg wallpaper: can now react on the actual monitor sizes thru the usage of MONITOR_* variables in the wallpaper.cfg.

-

cmd/chg wallpaper: the desktop background color can now be set thru the WALLPAPER_BGCOLOR setting in the configuration file, therefore it is no more needed to set the background color thru the 'Windows Control Panel'.

-

cmd/chg wallpaper: default settings for WALLPAPER_HEIGHT and WALLPAPER_WIDTH are the current monitor height and monitor width of the primary monitor.

-

cmd/new PMeter: pixel meter or screen ruler.

-

cmd/chg setup: is now less verbose. To switch verbose output on again, set VERBOSE=YES in setup.cfg.

-

cmd/new wtinit: to start/stop/restart WA2L/WinTools commands defined in 'Startup'.

1.1.74

Thu Nov 24 22:21:11 MET 2016 release

MAIN IMPROVEMENTS:

-

cmd/new SimpleRecorder: lightweight audio recorder.

-

cmd/chg xps2png, xps2pdf, ppt2png: opens a file dialog box when called directly without options.

ALL CHANGES:

-

cfg/chg pack.cfg: new release 1.1.74 (20.11.2016 11:05)

-

man/chg wintoolsintro.1: OpenFileBox, min added.

-

man/chg wintoolsintro.1: SimpleRecorder added.

-

man/chg wintools.1: simplerecorder added.

-

man/chg xps2png.1: description of file query by an open file box.

-

man/chg xps2pdf.1: description of file query by an open file box.

-

man/chg ppr2png.1: description of file query by an open file box.

-

cmd/chg xps2png: opens a file dialog box when called directly without options.

-

cmd/chg xps2pdf: opens a file dialog box when called directly without options.

-

cmd/chg ppt2png: opens a file dialog box when called directly without options.

-

cmd/new SimpleRecorder: lightweight audio recorder.

-

cmd/chg setup: add vi, mtail, xps2pdf, xps2png, ppt2png to WA2L/WinTools start menu.

1.1.73

Thu Nov 17 22:00:36 MET 2016 release

MAIN IMPROVEMENTS:

-

cmd/new Calculator: RPN calculator.

-

cmd/new ppt2png: save slides of a PowerPoint™ presentation as image files.

ALL CHANGES:

-

cfg/chg pack.cfg: new release 1.1.73 (14.11.2016 21:20)

-

cfg/new ppt2png.cfg: optional configuration file for ppt2png.

-

man/chg caffeine.1: add description how to fix the 'side-by-side-configuration' error.

-

man/cor man.cfg.4: MANSECT description.

-

man/chg setup.cfg.4: review.

-

man/cor mycview.1: 'developed by' corrected in NOTES section.

-

man/cor mycview.1: no bold text in NOTES section.

-

man/cor 1by1.1: no bold text in NOTES section.

-

man/cor xps2png: setting of XPS2PNG_RESOLUTION setting.

-

man/chg wintools.1: add calculator (1).

-

man/chg wintoolsintro.1: add calculator short description.

-

man/new calculator.1

-

man/new ppt2png.1

-

man/new ppt2png.cfg.4

-

cmd/new Calculator: RPN calculator.

-

cmd/new ppt2png: save slides of a PowerPoint™ presentation as image files.

1.1.72

Sat Nov 12 18:22:55 MET 2016 release

MAIN IMPROVEMENTS:

-

cmd/new MycView: fast and small image viewer.

-

cmd/new 1by1: small directory music player.

ALL CHANGES:

-

cfg/chg pack.cfg: new release 1.1.72 (06.11.2016 16:46)

-

man/chg edszip.1: header text.

-

man/chg spanishaccents.1: add header text.

-

man/chg setup.cfg.4: add IYF, CAFFEINE, DESKTOPOK, VI, SPANISHACCENTS and PDFCOPYPASTER settings description.

-

man/chg wintoolsdownload.cfg.4: more detailed description of the PROXY settings including a tested example configuration file that enables package upgrades when sitting behind a proxy.

-

man/chg man.1: hint to use the arrow keys to recall inputs added.

-

man/chg wintools.1: add mycview, 1by1.

-

man/cor caffeine.cfg.4: remove [VCP] section hint.

-

man/new 1by1.1

-

man/new 1by1.cfg.4

-

man/new mycview.1

-

man/new mycview.cfg.4

-

cmd/cor WinToolsDownload: reads now all elements of settings having spaces (as when specifying multiple options in the WGETOPTIONS setting).

-

cmd/new MycView: fast and small image viewer.

-

cmd/new 1by1: small directory music player.

-

lib/chg gxps.exe: upgraded to version 9.20. gxps is used by xps2pdf and xps2png.

1.1.71

Sat Nov 5 15:54:46 METDST 2016 release

MAIN IMPROVEMENTS:

-

cmd/new SpanishAccents: Type Spanish accents using the CapsLock key.

-

cmd/chg setup: add support for PDF Copy-Paster and SpanishAccents.

-

cmd/chg wallpaper: now also reads host or domain dependent configuration files.

ALL CHANGES:

-

cfg/chg pack.cfg: new release 1.1.71 (28.09.2016 22:49)

-

man/new pdf-copy-paster.1

-

man/new spanishaccents.1

-

man/chg wintools.1: add spanishaccents, pdf-copy-paster.

-

man/chg wintoolsintro.1: add SpanishAccents and PDF Copy-Paster short description.

-

man/chg wallpaper.1: describe host/domain dependent config file.

-

man/chg wallpaper.cfg.4: describe host/domain dependent config file.

-

cmd/new PDF-Copy-Paster: Copy-Paste text from PDF viewers without line feeds.

-

cmd/new SpanishAccents: Type Spanish accents using the CapsLock key.

-

cmd/chg setup: add support for PDF Copy-Paster and SpanishAccents.

-

cmd/chg setup: when you toggle a setting from YES to NO it is no longer needed to first uninstall everything and then install it again, simply hit 'i' for install and the new setting will be applied also when a setting is changed fro YES to NO.

-

cmd/chg wallpaper: now also reads host or domain dependent configuration files.

-

cmd/chg WinToolsDownload: can now run PostExec commands after the package upgrade - this to perform cleanup actions.

-

lib/new WinToolsDownload-postexec.cmd: PostExec to the WinToolsDownload command.

1.1.70

Tue Aug 23 14:00:21 METDST 2016 release

MAIN IMPROVEMENTS:

-

cmd/new DesktopOK: to save icon locations on desktop.

ALL CHANGES:

-

cfg/chg pack.cfg: new release 1.1.70 (Tue Aug 23 23:22:11 METDST 2016)

-

cmd/new DesktopOK: to save icon locations on desktop.

-

cmd/chg setup: integration of DesktopOK.

-

cmd/chg setup: add Caffeine and DesktopOK to Windows Start menu.

1.1.69

Tue Aug 9 00:48:44 METDST 2016 release

MAIN IMPROVEMENTS:

-

cmd/new caffeine: to prevent hibernating, sleeping or locking of the system.

-

man/new caffeine.1

ALL CHANGES:

-

cfg/chg pack.cfg: new release 1.1.69 (Sat Aug 6 18:18:29 METDST 2016)

-

cfg/new caffeine.cfg: optional config file for caffeine.

-

man/new caffeine.1

-

man/new caffeine.cfg.4

-

man/chg wintoolsintro.1: add caffeine description.

-

man/chg wintools.1: add caffeine.1 and caffeine.cfg.4.

-

cmd/new caffeine: to prevent hibernating, sleeping or locking of the system.

-

cmd/chg setup: add caffeine to setup settings menu.

1.1.68

Sun Jul 10 19:16:29 METDST 2016 release

MAIN IMPROVEMENTS:

-

cmd/chg vcp: now can handle a more wide range of version formats.

ALL CHANGES:

-

cfg/chg pack.cfg: new release 1.1.68 (Sun Jul 10 17:07:12 METDST 2016)

-

man/chg vcp.1: description of VERSION formats adjusted.

-

man/chg wintoolsintro.1: several command references added to NOTES section.

-

cmd/chg vcp: now can handle a more wide range of version formats.

1.1.67

Sat Jul 2 15:22:02 METDST 2016 release

MAIN IMPROVEMENTS:

-

cmd/chg setup: internal improvements.

ALL CHANGES:

-

cfg/chg pack.cfg: new release 1.1.67 (Sat Jul 2 12:12:33 METDST 2016)

-

cmd/chg setup: cleanup of files that are no longer part of the package.

-

cmd/chg setup: internal improvements.

1.1.66

Sat Jul 2 01:21:04 METDST 2016 release

MAIN IMPROVEMENTS:

-

cmd/fix setup: menu point handling. On some OS versions the menu was not handled correctly.

-

cmd/chg Notepad2: was excluded from package (by error). Now it is included again.

ALL CHANGES:

-

cfg/chg pack.cfg: new release 1.1.66 (Wed Jun 29 19:23:38 METDST 2016)

-

man/chg man.1: add less to SEE ALSO.

-

man/chg edszip.1: add zip and unzip to SEE ALSO.

-

man/chg wintoolsintro.1: add less and mandoc to NOTES.

-

man/chg wintoolsintro.1: add info of generating a *.exe file to short description of pack.

-

man/chg setup.1m: documentation of -i option.

-

man/chg iyf.1: hint in BUGS to relocate the iyf database files.

-

man/cor iyf.cfg.4: DATABASEDIR description.

-

cmd/chg iyf: minimized start of the iyf GUI.

-

cmd/chg Notepad2: was excluded from package (by error). Now it is included again.

-

cmd/fix pack: Notepad2 was excluded from package.

-

cmd/fix setup: menu point handling. On some OS versions the menu was not handled correctly.

-

cmd/chg setup: set console size when started thru 'Start' menu or during installing the application using the *.exe package.

-

cmd/chg setup: does a cleanup of the file bin/rmdir.exe which was unintentionally distributed with the package.

1.1.65

Wed Jun 29 01:18:50 METDST 2016 release

MAIN IMPROVEMENTS:

-

cmd/new iyf: index your files.

ALL CHANGES:

-

cfg/chg pack.cfg: new release 1.1.65 (Mon Jun 27 23:51:25 METDST 2016)

-

man/new iyf.1

-

man/new iyf.cfg.4

-

cmd/new iyf: index your files.

1.1.64

Sun Jun 26 15:22:45 METDST 2016 release

MAIN IMPROVEMENTS:

-

cmd/chg pack: also create a self extracting *.exe file.

ALL CHANGES:

-

cfg/chg pack.cfg: new release 1.1.64 (Sun Jun 26 15:13:35 METDST 2016)

-

cmd/chg pack: also create a self extracting *.exe file.

1.1.63

Sat Jun 11 17:13:01 METDST 2016 release

MAIN IMPROVEMENTS:

-

cmd/new office2pdf: convert Microsoft™ Office files to PDF.

ALL CHANGES:

-

cfg/chg pack.cfg: new release 1.1.63 (Sat Jun 11 16:54:56 METDST 2016)

-

man/new office2pdf.1

-

man/chg wintoolsintro.1: add description of office2pdf.

-

cmd/new office2pdf: convert Microsoft™ Office files to PDF.

1.1.62

Sat May 28 16:37:49 METDST 2016 release

MAIN IMPROVEMENTS:

-

cmd/chg setup: allows switch between install/uninstall menu.

-

cmd/chg vi: settings (residing in windows registry) are saved to vi.cfg at each vi start up.

ALL CHANGES:

-

cfg/chg pack.cfg: new release 1.1.62 (Sat May 28 13:14:54 WEDT 2016)

-

man/chg vi.1: description of vi.cfg.

-

cmd/chg setup: allows switch between install/uninstall menu.

-

cmd/chg setup: removes settings of vi from registry on uninstall/setup -u.

-

cmd/chg vi: start up enhanced.

-

cmd/chg vi: settings (residing in windows registry) are saved to vi.cfg at each vi start up.

1.1.61

Fri May 27 17:18:11 METDST 2016 release

MAIN IMPROVEMENTS:

-

cmd/chg Notepad2: change of revision 1.1.60 reverted.

ALL CHANGES:

-

cfg/chg pack.cfg: new release 1.1.61 (Fri May 27 15:00:58 WEDT 2016)

-

man/chg setup: start of Notepad2 changed.

-

cmd/chg Notepad2: change of revision 1.1.60 reverted.

-

man/chg vi: start mode changed.

1.1.60

Thu May 26 19:58:36 METDST 2016 release

MAIN IMPROVEMENTS:

-

cmd/new vi: vi editor.

ALL CHANGES:

-

cfg/chg pack.cfg: new release 1.1.60 (Thu May 26 03:47:35 WEDT 2016)

-

man/new vi.1

-

cmd/new vi: vi editor.

-

cmd/chg Notepad2: now Notepad2.cfg is placed in etc/ directory, too.

-

cmd/chg Notepad2: can open multiple files now thru 'Send To'.

1.1.59

Sat May 21 23:44:53 METDST 2016 release

MAIN IMPROVEMENTS:

-

cmd/new copyaspath: copy path of files selected in explorer -> SendTo to clipboard (as when you press the shift key and use 'copy as path'.

-

cmd/new copyaslink: copy path of files selected in explorer -> SendTo as hyperlink to clipboard.

-

cmd/chg vcp: now can also handle files in directories having umlaut characters.

ALL CHANGES:

-

cfg/chg pack.cfg: new release 1.1.59 (Thu May 12 12:00:04 WEDT 2016)

-

cmd/chg vcp: now can also handle files in directories having umlaut characters.

-

cmd/new copyaspath: copy path of files selected in explorer -> SendTo to clipboard (as when you press the shift key and use 'copy as path'.

-

cmd/new copyaslink: copy path of files selected in explorer -> SendTo as hyperlink to clipboard.

-

lib/chg awklib.awk: add freespace function.

-

man/chg vcp.1: remove BUGS contents.

-

man/chg wintoolsintro.1: description of copyaspath and copyaslink.

-

man/chg wintools.1: add copyaspath and copyaslink.

-

man/new copyaspath.1

-

man/new copyaslink.1

1.1.58

Wed May 11 13:53:15 METDST 2016 release

MAIN IMPROVEMENTS:

-

cmd/chg man: allows now to enter man page when double clicked.

-

cmd/chg fileindex: inserts data table in report between <tbody> and </tbody> and makes the comment lines containing TABLEBODY_* obsolete.

ALL CHANGES:

-

man/new zip.1

-

man/new unzip.1

-

man/new less.1

-

man/new awk.1

-

cfg/chg pack.cfg: new release 1.1.58 (Tue May 10 20:00:14 METDST 2016)

-

cmd/chg man: allows now to enter man page when double clicked.

-

cmd/chg fileindex: inserts data table in report between <tbody> and </tbody> and makes the comment lines containing TABLEBODY_* obsolete.

-

lib/chg fileindex.html: remove TABLEBODY_* lines.

-

lib/cor fileindex.html: html syntax errors.

1.1.57

Mon May 9 15:17:26 METDST 2016 release

MAIN IMPROVEMENTS:

-

cmd/chg WinToolsDownload: now also enables the installation of the downloaded file.

-

lib/chg awklib.awk: functional enhancements.

-

cfg/chg wallpaper.cfg: WALLPAPER_SET, WALLPAPER_GENERATE, WALLPAPER_CLEANUP can also be specified with True/False.

-

cfg/chg wallpaper.cfg: WALLPAPER_PICK understands also RANDOM and ROUNDROBIN as settings.

ALL CHANGES:

-

cfg/chg pack.cfg: new release 1.1.57 (Thu May 5 22:16:08 WEDT 2016)

-

cfg/chg wallpaper.cfg: WALLPAPER_SET, WALLPAPER_GENERATE, WALLPAPER_CLEANUP can also be specified with True/False.

-

cfg/chg wallpaper.cfg: WALLPAPER_PICK understands also RANDOM and ROUNDROBIN as settings.

-

man/chg wallpaper.cfg.4: description of WALLPAPER_SET, WALLPAPER_GENERATE, WALLPAPER_CLEANUP, WALLPAPER_PICK.

-

doc/chg man.css: improvement of HTML manual page formatting.

-

cmd/chg WinToolsDownload: now also enables the installation of the downloaded file.

-

cmd/chg wallpaper: Now computes words as configuration settings.

-

lib/chg awklib.awk: functional enhancements.

1.1.56

Tue May 3 13:12:29 METDST 2016 release

MAIN IMPROVEMENTS:

-

man/cor many: headers.

-

doc/cor *.pdf: toc.

ALL CHANGES:

-

cfg/chg pack.cfg: new release 1.1.56 (Tue May 3 12:07:16 METDST 2016)

-

man/cor many: headers.

-

doc/cor *.pdf: toc.

1.1.55

Mon May 2 19:11:47 METDST 2016 release

MAIN IMPROVEMENTS:

-

cmd/chg setup: implementation improved.

-

cmd/chg mtail: version upgrade.

-

cmd/chg gxps: version upgrade.

-

man/new man.1

-

man/new mtail.1

ALL CHANGES:

-

cfg/chg pack.cfg: new release 1.1.55 (Mon May 2 12:43:16 WEDT 2016)

-

man/new man.cfg.4

-

man/new man.1

-

man/new mtail.1

-

cmd/chg setup: implementation improved.

-

cmd/chg man: on multiple matches last manual page in MANPATH is displayed.

-

cmd/chg mtail: upgrade from version 1.8.0 to 1.9.6 (source: http://www.mtail.com/ ).

-

cmd/chg gxps: (used by xps2*) upgrade from version 9.18 to 9.19 (source: http://ghostscript.com/download/gxpsdnld.html ).

1.1.54

Sat Apr 30 12:45:04 METDST 2016 release

MAIN IMPROVEMENTS:

-

man/chg *: appearance of HTML manual pages improved.

ALL CHANGES:

-

cfg/chg pack.cfg: new release 1.1.54 (Fri Apr 29 14:43:25 WEDT 2016)

-

man/chg *: now the style of man pages is defined in man/man.css.

-

cmd/chg less.exe: moved from bin/ to lib/.

1.1.53

Thu Apr 28 21:26:32 METDST 2016 release

MAIN IMPROVEMENTS:

-

cmd/chg man: some functional enhancements.

ALL CHANGES:

-

cfg/chg pack.cfg: new release 1.1.53 (Thu Apr 28 19:00:00 METDST 2016)

-

cmd/chg man: now can compute a MANPATH having a comma separated list of manual page locations.

-

cmd/chg man: beside the configuration file, also respects the %MANPATH% environment variable.

-

cmd/chg man: option -w to display MANPATH and MANSECT settings.

-

cmd/chg WinToolsRevision: internal implementation improvements.

-

cmd/chg WinToolsDownload: internal implementation improvements.

1.1.52

Sat Apr 23 23:33:52 METDST 2016 release

MAIN IMPROVEMENTS:

-

cmd/new man: display man pages.

ALL CHANGES:

-

cfg/chg pack.cfg: new release 1.1.52 (Sat Apr 23 19:25:24 METDST 2016)

-

cmd/new man: display man pages.

1.1.51

Mon Apr 18 22:25:39 METDST 2016 release

MAIN IMPROVEMENTS:

-

cmd/new WinToolsDownload: download most recent WA2L/WinTools package.

ALL CHANGES:

-

cfg/chg pack.cfg: new release 1.1.51 (Sun Apr 17 23:25:24 METDST 2016)

-

cfg/new WinToolsDownload.cfg: configuration file for WinToolsDownload.

-

man/new wintoolsdownload.1m

-

man/new wintoolsdownload.cfg.4

-

man/chg wintoolsintro.1: description of WinToolsDownload.

-

cmd/new WinToolsDownload: download most recent WA2L/WinTools package.

1.1.50

Fri Apr 15 21:09:56 METDST 2016 release

MAIN IMPROVEMENTS:

-

cmd/chg setup: user interface redesigned.

-

man/new setup.cfg.4

ALL CHANGES:

-

cfg/chg pack.cfg: new release 1.1.50 (Fri Apr 15 04:00:10 METDST 2016)

-

cfg/new setup.cfg: configuration file for persistent setup settings.

-

man/chg setup.1m: add setup.cfg file.

-

man/new setup.cfg.4

-

cmd/chg setup: user interface redesigned.

1.1.49

Thu Apr 7 22:40:00 METDST 2016 release

MAIN IMPROVEMENTS:

-

cmd/chg sav: performance enhanced.

-

cmd/chg savnow: performance enhanced.

-

cmd/chg vcp: performance enhanced.

ALL CHANGES:

-

cfg/chg pack.cfg: new release 1.1.49 (Sat Apr 2 22:36:42 METDST 2016)

-

cmd/chg sav: performance enhanced.

-

cmd/chg savnow: performance enhanced.

-

cmd/chg vcp: performance enhanced.

1.1.48

Fri Apr 1 01:54:07 METDST 2016 release

MAIN IMPROVEMENTS:

-

man/chg *: spelling checked.

ALL CHANGES:

-

cfg/chg pack.cfg: new release 1.1.47 (Thu March 31 20:00:01 METDST 2016)

-

man/chg *: spelling checked.

1.1.46 ... 1.1.47

Mon Mar 21 17:52:48 METDST 2016 release

MAIN IMPROVEMENTS:

-

doc/chg wintools_manpages-1.1.46.pdf: contains a table of contents with page numbers, now.

ALL CHANGES:

-

cfg/chg pack.cfg: new release 1.1.46 (Sat Mar 19 19:29:22 METDST 2016)

-

doc/chg wintools_manpages-1.1.46.pdf: contains a table of contents with page numbers, now.

-

lib/chg lib/fileindex.css: change of table header appearance.

-

man/new pack.cfg.4

1.1.45

Sat Mar 19 18:33:54 METDST 2016 release

MAIN IMPROVEMENTS:

-

cmd/chg fileindex: now the output file name can also be configured.

ALL CHANGES:

-

cfg/chg pack.cfg: new release 1.1.45 (Sat Mar 19 12:16:18 METDST 2016)

-

cfg/chg xps2png.cfg: new unified format without 'rem' and 'set' entries.

-

cfg/chg fileindex.cfg: new option FILEINDEX_FILENAME to specify the index file name.

-

man/chg fileindex.cfg.4: description of FILEINDEX_FILENAME option.

-

man/chg xps2png.cfg.4: documentation change to reflect the unified config file format.

-

man/chg wintoolsrevision.1 dsubst.1 edszip.1 pstart.1 sav.1 savnow.1 todayprefix.1 vcp.1 wallpaper.1 xps2pdf.1 xps2png.1: correct documentation of the exit status of 4 when the usage has been called or displayed.

-

cmd/chg fileindex: now the output file name can also be configured.

-

cmd/chg setup: the setting of the question mark icon on the man directory is now more reliable.

1.1.44

Fri Mar 18 23:31:17 METDST 2016 release

MAIN IMPROVEMENTS:

-

cmd/chg fileindex: improvements to enhance robustness.

-

cmd/chg fileindex: allow the fileindex creation to a central index directory.

ALL CHANGES:

-

cfg/chg pack.cfg: new release 1.1.44 (Mon Mar 14 23:31:51 METDST 2016)

-

cfg/chg pack.cfg: new unified format without 'rem' and 'set' entries.

-

cfg/chg fileindex.cfg: new options FILEINDEX_INDEXDIR, FILEINDEX_OUTPUTDESTINATION and FILEINDEX_INDEXDIRSEPRATOR.

-

man/chg fileindex.cfg.4: description of new options FILEINDEX_INDEXDIR, FILEINDEX_OUTPUTDESTINATION and FILEINDEX_INDEXDIRSEPRATOR.

-

man/chg fileindex.1: description of new functionality to write file index to central file index directory.

-

cmd/chg *: usage returns exit code of 4.

-

cmd/chg fileindex: improvements to enhance robustness.

-

cmd/chg fileindex: allow the fileindex creation to a central index directory.

-

cmd/chg pack: read new format of pack.cfg.

-

cmd/chg wintoolsrevision: read new format of pack.cfg.

-

cmd/chg setup: improvements on user interaction.

-

lib/chg lib/fileindex.html: new functionality to disable/enable the base directory ([ON]/[OFF]) when clicking on the file hyperlink.

-

lib/chg lib/fileindex.html: internal enhancements when activating/deactivating column display in file list.

-

lib/chg lib/fileindex.html: target of file display is new browser window/tab now.

-

lib/chg lib/fileindex.css: change of overview row with.

1.1.43

Mon Feb 29 23:33:36 MET 2016 release

MAIN IMPROVEMENTS:

-

cfg/chg fileindex.cfg: new option FILEINDEX_EXCLUDEATTRIBUTES.

-

cmd/chg fileindex: new command line options -csv and -html to specify the output file format.

ALL CHANGES:

-

cfg/chg pack.cfg: new release 1.1.43 (Sat Feb 27 13:50:58 MET 2016)

-

cfg/chg fileindex.cfg: new option FILEINDEX_EXCLUDEATTRIBUTES.

-

cfg/chg fileindex.cfg: new option FILEINDEX_OUTPUTFORMAT.

-

man/chg wintoolsrevision.1m: remove description of console output.

-

cmd/chg setup: user interface improvements.

-

cmd/chg wintoolsrevision: implementation simplification, console output no longer supported.

-

cmd/chg fileindex: print list of processed files to console.

-

cmd/chg fileindex: new command line options -csv and -html to specify the output file format.

-

cmd/fix fileindex: fileindex no longer loops when configuration file in etc does not exist.

-

cmd/new mtail: windows log file tail program integrated into WA2L/WinTools.

-

lib/chg pack: internal improvements.

1.1.42

Sat Feb 27 00:30:16 MET 2016 release

MAIN IMPROVEMENTS:

-

cmd/chg fileindex: print files that are processed to stderr.

-

cmd/chg setup: more fine grained setup dialog.

ALL CHANGES:

-

cfg/chg pack.cfg: new release 1.1.42 (Sat Feb 27 00:26:15 MET 2016)

-

cmd/chg fileindex: print files that are processed to stderr.

-

cmd/chg setup: more fine grained setup dialog.

1.1.41

Fri Feb 12 22:11:31 MET 2016 release

MAIN IMPROVEMENTS:

-

cmd/chg setup: redesign of user interaction, all specifications are queried at the beginning.

ALL CHANGES:

-

cfg/chg pack.cfg: new release 1.1.41 (Fri Feb 12 22:08:19 MET 2016)

-

var/chg gallery.html: call of slideshow() changed.

-

cmd/chg setup: redesign of user interaction, all specifications are queried at the beginning.

1.1.40

Sun Jan 31 15:49:52 MET 2016 release

MAIN IMPROVEMENTS:

-

man/new fileindex.cfg.4

-

man/new wintoolsrevision.1m

ALL CHANGES:

-

cfg/chg pack.cfg: new release 1.1.40 (Sun Dec 6 20:00:52 MET 2015)

-

man/new wintoolsrevision.1m

-

man/new fileindex.cfg.4

1.1.39

Tue Dec 1 23:43:11 MET 2015 release

MAIN IMPROVEMENTS:

-

cmd/chg wallpaper: compute WALLPAPER_TMPDIR to set a specific temporary directory.

ALL CHANGES:

-

cfg/chg pack.cfg: new release 1.1.39 (Sun Nov 22 21:34:09 MET 2015)

-

cfg/chg wallpaper.cfg: new WALLPAPER_TMPDIR setting to set a different temporary directory.

-

var/chg var/wallpaper/wallpaper.js: some new cites added.

-

man/chg wallpaper.cfg.4: describe WALLPAPER_TMPDIR setting.

-

cmd/chg wallpaper: compute WALLPAPER_TMPDIR to set a specific temporary directory.

-

cmd/chg wallpaper: when WALLPAPER_SET=1 always write the output file in bmp format.

-

cmd/chg setup: allow to cancel command at any point.

-

lib/chg awklib.awk: new function dir_exists().

1.1.38

Sun Nov 15 18:20:53 MET 2015 release

MAIN IMPROVEMENTS:

-

cmd/chg dsubst EDSzip fileindex pstart sav savnow todayprefix wallpaper xps2pdf xps2png: new option -u to uninstall the command.

ALL CHANGES:

-

cfg/chg pack.cfg: new release 1.1.38 (Sat Nov 14 18:00:27 MET 2015)

-

man/chg dsubst.1 EDSzip.1 fileindex.1 pstart.1 sav.1 savnow.1 todayprefix.1 wallpaper.1 xps2pdf.1 xps2png.1: description of -u option.

-

man/chg wallpaper.1: description of CSS possibility to define RGB color values also in decimal format.

-

man/chg wallpaper.cfg.4: additional hint to WALLPAPER_CLEANUP setting.

-

cmd/chg dsubst EDSzip fileindex pstart sav savnow todayprefix wallpaper xps2pdf xps2png: new option -u to uninstall the command.

-

cmd/chg wallpaper: displays path names without '..'.

1.1.37

Fri Nov 13 12:47:17 MET 2015 release

MAIN IMPROVEMENTS:

-

cmd/fix vcp: file pattern recognition in 0.00.00 format.

ALL CHANGES:

-

cfg/chg pack.cfg: new release 1.1.37 (Fri Nov 13 11:34:21 MET 2015)

-

man/chg edszip.1: precision in description of -n option.

-

man/chg edszip.cfg.4: change description of all options to uppercase.

-

cmd/fix vcp: file pattern recognition in 0.00.00 format.

1.1.36

Sat Nov 7 19:07:52 MET 2015 release

MAIN IMPROVEMENTS:

-

cmd/fix edszip: fix error caused by file names containing braces.

-

man/new xps2png.cfg.4

ALL CHANGES:

-

cfg/chg pack.cfg: new release 1.1.36 (Sat Nov 7 18:50:52 MET 2015)

-

man/new xps2png.cfg.4

-

cmd/fix edszip: fix error caused by file names containing braces.

1.1.35

Sat Nov 7 15:14:42 MET 2015 release

MAIN IMPROVEMENTS:

-

cmd/fix wallpaper: fix round robin behaviour when multiple uncommented WALLPAPER_HTML entries are present in wallpaper.cfg.

-

cmd/chg edszip: -n to execute in 'NO EXCLUDE' mode where the excludes defined in edszip.cfg are ignored.

ALL CHANGES:

-

cfg/chg pack.cfg: new release 1.1.35 (Fri Nov 6 16:15:44 MET 2015)

-

cmd/fix wallpaper: fix round robin behaviour when multiple uncommented WALLPAPER_HTML entries are present in wallpaper.cfg.

-

cmd/chg edszip: performance improvement due to change of the comment adding method.

-

cmd/chg edszip: -n to execute in 'NO EXCLUDE' mode where the excludes defined in edszip.cfg are ignored.

-

cmd/chg edszip: -i option adds now two variants of edszip to the 'Send To' menu, one with and one without excludes.

1.1.34

Thu Nov 5 23:09:55 MET 2015 release

MAIN IMPROVEMENTS:

-

cmd/chg wallpaper; supports round robin pick of wallpapers beside the random pick method. This applies only when a list of wallpapers is given in WALLPAPER_HTML.

-

cmd/new wintoolsrevision: display or print revision of WA2L/WinTools.

ALL CHANGES:

-

cfg/chg pack.cfg: new release 1.1.34 (Sat Oct 31 19:30:00 MET 2015)

-

cfg/chg wallpaper.cfg: new option WALLPAPER_PICK to set round robin (=0) or random (=1) wallpaper pick.

-

man/chg wintools.1: add wintoolsrevision.1m

-

man/chg wallpaper.cfg.4: description of WALLPAPER_PICK option.

-

man/chg wintoolsintro.1: add description of wintoolsrevision command.

-

cmd/chg wallpaper; supports round robin pick of wallpapers beside the random pick method. This applies only when a list of wallpapers is given in WALLPAPER_HTML.

-

cmd/new wintoolsrevision: display or print revision of WA2L/WinTools.

-

cmd/chg setup: add wintoolsrevision command to Windows Start sub-menu.

1.1.33

Sat Oct 31 01:06:56 METDST 2015 release

MAIN IMPROVEMENTS:

-

cmd/chg wallpaper: when a list of wallpapers is specified in WALLPAPER_HTML avoid picking the identical one on two subsequent calls to the wallpaper command.

-

cmd/chg wallpaper: allows to delete the created image after setting it as screen wallpaper.

ALL CHANGES:

-

cfg/chg pack.cfg: new release 1.1.33 (Sat Oct 24 17:35:00 METDST 2015)

-

cfg/chg wallpaper.cfg: new setting WALLPAPER_CLEANUP to set cleanup behaviour of created wallpaper image.

-

man/chg wallpaper.1: add description of wallpaper.flag file.

-

chg/man wallpaper.cfg.4: description of WALLPAPER_CLEANUP.

-

cmd/chg wallpaper: when a list of wallpapers is specified in WALLPAPER_HTML avoid displaying the identical one on two subsequent calls to the wallpaper command.

-

cmd/chg wallpaper: allows to delete the created image after setting it as screen wallpaper.

1.1.32

Sat Oct 24 17:13:30 METDST 2015 release

MAIN IMPROVEMENTS:

-

cmd/new uninstall: to call setup -u thru a click.

ALL CHANGES:

-

cfg/chg pack.cfg: new release 1.1.32 (Sun Aug 16 15:00:00 METDST 2015)

-

man/chg setup.1m: link to uninstall command.

-

man/new uninstall.1m

-

man/chg wintoolsintro.1: add uninstall.

-

cmd/chg setup: command header line output.

-

cmd/new uninstall: to call setup -u thru a click.

1.1.31

Sat Oct 24 00:31:44 METDST 2015 release

MAIN IMPROVEMENTS:

-

cmd/chg xps2png: set resolution to a default of 300 DPI.

-

lib/chg gxps: new version 9.18 (is used by xps2png, xps2pdf).

ALL CHANGES:

-

cfg/chg pack.cfg: new release 1.1.31 (Wed Sep 02 00:48:00 METDST 2015) cmd/new xps2png.cfg: optional configuration file for xps2png.

-

man/cor vcp.1

-

man/chg xps2png.1: add xps2png.cfg file in FILE section.

-

man/chg wintoolsintro.1m: etc/xps2png.cfg file.

-

cmd/chg xps2png: set resolution to a default of 300 DPI.

-

cmd/chg xps2png: reads the optional configuration file etc/xps2png.cfg.

-

lib/chg gxps: new version 9.18 (is used by xps2png, xps2pdf).

1.1.30

Sun Aug 16 13:55:10 METDST 2015 release

MAIN IMPROVEMENTS:

-

cmd/new xps2png: convert XPS file(s) to PNG.

ALL CHANGES:

-

cfg/chg pack.cfg: new release 1.1.30 (Tue Aug 13 18:41:05 METDST 2015)

-

var/fix var/wallpaper/wallpaper.js: fix null value error for Cite, myCite.

-

man/new xps2png.1

-

man/chg wintoolsintro.1: add xps2png description.

-

man/chg wintools.1: add xps2png.

-

man/chg xps2pdf.1: add xps2png.

-

cmd/new xps2png: convert XPS to PNG file.

-

cmd/chg setup: add xps2png.

-

lib/chg gxps: new version 9.16.

1.1.29

Wed Aug 12 20:55:58 METDST 2015 release

MAIN IMPROVEMENTS:

-

cmd/chg wallpaper: allow CSS customization in etc/wallpaper.css.cfg.

ALL CHANGES:

-

cfg/chg pack.cfg: new release 1.1.29 (Wed Aug 10 21:40:14 METDST 2015)

-

cfg/new etc/wallpaper.css.cfg: customization to var/wallpaper/wallpaper.css.

-

cfg/chg etc/wallpaper.js.cfg: new setting Show_Today_FullYear.

-

var/chg var/wallpaper/wallpaper.js: read wallpaper.css.cfg from etc/ directory.

-

cmd/chg wallpaper: copy a template wallpaper.css.cfg to the etc/ directory on first start.

-

cmd/chg pack: avoid 'cannot create file' error.

-

cmd/chg pack-wallpaper: avoid 'cannot create file' error.

1.1.28

Thu Aug 6 21:27:22 METDST 2015 release

MAIN IMPROVEMENTS:

-

cfg/chg wallpaper.js.cfg: moved from var/wallpaper/ to etc/.

ALL CHANGES:

-

cfg/chg pack.cfg: new release 1.1.27 (Thu Aug 6 20:17:11 METDST 2015)

-

cfg/chg wallpaper.js.cfg: moved from var/wallpaper/ to etc/.

-

cfg/chg wallpaper.js.cfg: new setting Append_myCites to control it your own cites should be appended to the cites distributed with WA2L/WinTools or if only your own cites should be listed.

-

var/chg var/wallpaper/wallpaper.js: read wallpaper.js.cfg from etc/ directory.

-

var/chg var/wallpaper/wallpaper.js: new setting Append_myCites.

-

cmd/chg wallpaperindex: also list the settings defined in wallpaper.js.cfg.

-

cmd/chg wallpaper: migrate an existing var/wallpaper/wallpaper.js.cfg to etc/.

1.1.27

Sat Jul 25 16:07:30 METDST 2015 release

MAIN IMPROVEMENTS:

-

cmd/chg several: internal coding enhancements.

-

var/new wallpapers: two new example wallpapers added.

ALL CHANGES:

-

cfg/chg pack.cfg: new release 1.1.27 (Sat Jul 25 16:06:52 METDST 2015)

-

cfg/chg var/wallpaper/wallpaper.css: new classes div.fence_{top|bottom|left|right).

-

cfg/chg wallpaper.cfg: if a space separated list of files is given in WALLPAPER_HTML, for each run of wallpaper, a file is randomly picked from the given list.

-

var/new var/wallpaper/full.html: new wallpaper example for full screen image gallery slide show. To get a good view on icons placed on the desktop, a fence (darkened area) is available.

-

var/new var/wallpaper/blank.html: new wallpaper example for cites only.

-

man/chg wallpaper.1: add blank.html and full.html.

-

man/chg pack.1m: add blank.html and full.html.

-

man/chg pack-wallpaper.1m: add blank.html and full.html.

-

cmd/chg sav: no longer produces a temporary file during runtime.

-

cmd/chg savnow: no longer produces a temporary file during runtime.

-

cmd/chg todayprefix: no longer produces a temporary file during runtime.

-

cmd/chg fileindex: no longer produces a temporary file during runtime.

-

cmd/chg wallpaper: if in wallpaper.cfg a space separated list of files is given in WALLPAPER_HTML, for each run of wallpaper, a file is randomly picked from the given list.

1.1.26

Sat Jul 4 14:26:00 METDST 2015 release

MAIN IMPROVEMENTS:

-

cmd/chg setup: several improvements.

-

cmd/chg fileindex: several improvements.

-

cfg/chg var/wallpaper/wallpaper.css: cleanup and enhancements.

ALL CHANGES:

-

cfg/chg pack.cfg: new release 1.1.26 (Sat Apr 25 12:49:49 METDST 2015)

-

cfg/chg var/wallpaper/wallpaper.css: position the cite from bottom to avoid the adjustment when running on other resolutions. Now only the wallpaper.cfg file has to be adjusted.

-

var/chg var/wallpaper/wallpaper.js: numerous cites added.

-

man/chg wallpaperindex.1: file var/wallpaper/index.png documented.

-

man/chg wallpaperindex.1: documentation link description.

-

man/new fileindex.1

-

cmd/chg pack-wallpaper: ensure all subdirs of var/wallpaper/ are packed.

-

cmd/chg fileindex: output window is put to foreground.

-

cmd/chg fileindex: timeout at program end to enable output review.

-

cmd/chg fileindex: disk label and serial number resolved and added to file index page.

-

cmd/chg fileindex: different folders marked with altering background colors.

-

cmd/fix fileindex: several path name related issues fixed.

-

cmd/chg wallpaperindex: a documentation link is added to the index page.

-

cmd/chg wallpaper: avoid overlapping wallpaper generation when starting the command in short intervals.

-

opt/new setup: order of install steps adjusted.

-

opt/new setup: avoid installing all commands by need to enter capital 'Y' in special cases.

-

opt/new setup: renaming of menu entries in Start sub-menu.

-

opt/new setup: additional entries in Start sub-menu.

1.1.25

Thu Apr 23 21:42:23 CEST 2015 release

MAIN IMPROVEMENTS:

-

cmd/new fileindex: create a file index of a directory as HTML file.

ALL CHANGES:

-

cfg/chg pack.cfg: new release 1.2.25 (Wed Apr 04 18:35:32 CEST 2015)

-

cfg/new fileindex.cfg: optional configuration file for fileindex.

-

cfg/chg WA2LWinTools Startmenu: new Entry for wallpaperindex.

-

man/chg wintoolsintro.1: description of fileindex.

-

man/chg wintools.1: fileindex added.

-

cmd/new fileindex: create a file index of a directory as HTML file.

-

cmd/chg wallpaperindex: displays a note on the index if the .png file with the wallpaper name is missing.

-

cmd/chg setup: visual improvements of setup procedure.

1.1.24

Sat Apr 4 16:10:15 CEST 2015 release

MAIN IMPROVEMENTS:

-

cmd/fix vcp: handling of sequences of recognized version number formats.

ALL CHANGES:

-

cfg/chg pack.cfg: new release 1.1.24 (Sat Apr 4 09:48:09 CEST 2015)

-

man/chg vcp.1: document the additional version number format "(1234)".

-

man/chg borderline.1: author/developer of the borderline command added.

-

man/chg borderline.1: command options documented.

-

cmd/fix vcp: handling of sequences of recognized version number formats.

-

cmd/chg vcp: new version number format "(" { DIGIT } ")", e.g. (1234).

-

dir/chg *: cleanup of directory and file permissions.

1.1.23

Fri Apr 3 21:26:15 CEST 2015 release

MAIN IMPROVEMENTS:

-

cmd/chg vcp: support an enhanced set of recognized version numbers.

-

cfg/new var/wallpaper/wallpaper.js.cfg: to add protected customization to the default wallpaper java script file wallpaper.js.

ALL CHANGES:

-

cfg/chg pack.cfg: new release 1.1.23 (Sat Mar 14 15:50:00 CET 2015)

-

cfg/new var/wallpaper/wallpaper.js.cfg: to add protected customization to the default wallpaper java script file wallpaper.js.

-

cfg/chg var/wallpaper/wallpaper.css: cleanup of unused definitions.

-

man/chg pstart.1: add DESCRIPTION content.

-

man/fix setup.1m: in OPTIONS correct option for uninstall.

-

man/chg vcp.1: add BUG description.

-

man/chg vcp.1: enhance description.

-

man/chg vcp.cfg.4: add hint consult vcp(1) for recognized version format numbers.

-

man/cor wintoolsintro.1: correct section of pack-wallpaper in SEE ALSO.

-

man/chg wallpaper.1: add NOTES about HTML file format and SlimBoat web browser.

-

man/chg wallpaperindex.1: moved from section 3 (lib/) to 1 (bin/).

-

cmd/chg setup: add the 'Edit wallpaper.cfg' entry to the 'Start' menu.

-

cmd/chg vcp: support an enhanced set of recognized version numbers.

-

cmd/chg wallpaper: handle wallpaper.js.cfg file.

-

cmd/chg wallpaperindex: moved from lib/ to bin/.

1.1.22

Sun Mar 8 13:06:55 CET 2015 release

MAIN IMPROVEMENTS:

-

var/new gallery.html: gallery wallpaper with a set of 11 example images.

-

var/chg wallpaper.js: improvements and enhancements in wallpaper.js.

-

cmd/new pstart: a portable Start Menu.

-

man/chg many: improvements of documentation.

ALL CHANGES:

-

cfg/chg pack.cfg: new release 1.1.22 (Sun Mar 1 15:14:29 CET 2015)

-

var/new gallery.html: gallery wallpaper with a set of 11 example images.

-

var/chg wallpaper.js: support random gallery creation as done in gallery.html.

-

var/chg wallpaper.js: improved randomizer.

-

var/cor wallpaper.js: typing errors in cites.

-

var/chg wallpaper.css: CSS definitions enhanced.

-

man/chg vcp.1: add initial version settings for all supported variants.

-

man/chg wallpaper.1: add gallery.html to list of distributed wallpapers.

-

man/new edszip.cfg.4

-

man/chg edszip.1: move configuration hints to edszip.cfg.4.

-

cmd/new pstart: a portable Start Menu.

1.1.21

Sun Feb 15 02:10:55 CET 2015 release

MAIN IMPROVEMENTS:

-

cmd/chg vcp: can now compute a bigger range of version patterns and the start version can be configured in the config file vcp.cfg.

ALL CHANGES:

-

man/new vcp.cfg.1

-

man/chg vcp.1: description of additional versioning patterns recognized.

-

cmd/chg vcp: can now compute a bigger range of version patterns and the start version can be configured in the config file vcp.cfg.

1.1.20

Tue Jan 29 23:18:04 CET 2015 release

MAIN IMPROVEMENTS:

-

cmd/new todayprefix: add a prefix of the current date to the file name.

ALL CHANGES:

-

cmd/new todayprefix: add a prefix of the current date to the file name.

-

cmd/fix setup: handle Usage correctly.

-

cmd/chg setup: add a space in front of all commands in SendTo menu to group them together.

-

cmd/chg setup: add a link to the 'Send To' menu to the 'WA2LWinTools' start menu.

-

cmd/chg setup: change install and uninstall order.

-

cmd/chg dsubst, EDSzip, sav, savnow, setup, vcp, wallpaper, xps2pdf: change SendTo menu entry to ' command -- description'.

1.1.19

Tue Jan 17 21:02:02 CET 2015 release

MAIN IMPROVEMENTS:

-

cmd/new borderline: move off-screen applications to visible monitor.

-

cmd/chg setup: also create an application menu in the Windows 'Start' menu.

ALL CHANGES:

-

cmd/new borderline: move off-screen applications to visible monitor.

-

cmd/chg setup: also create an application menu in the Windows 'Start' menu.

-

opt/new setup: -u to uninstall (remove) WA2L/WinTools settings.

1.1.18

Tue Jan 13 23:22:22 CET 2015 release

MAIN IMPROVEMENTS:

-

man/chg many: documentation updates.

-

doc/new wintools_manpages.pdf: printable PDF manual pages.

ALL CHANGES:

-

var/chg pack.cfg: new release 1.1.18 (Wed Dec 17 22:44:00 CET 2014)

-

man/chg wallpaper.1: add calculation example from HTML Hex to RGB.

-

doc/new wintools_manpages.pdf: printable PDF manual pages.

-

cmd/cor sav: typing error in ERROR message.

-

cmd/cor savnow: typing error in ERROR message.

-

cmd/cor xps2pdf: typing error in ERROR message.

1.1.17

Wed Dec 17 19:53:27 CET 2014 release

MAIN IMPROVEMENTS:

-

var/chg var/wallpaper/*.html: '<!DOCTYPE HTML ...>' line removed from wallpapers distributed with WA2L/WinTools because it causes an ugly line around the generated image.

ALL CHANGES:

-

var/chg pack.cfg: new release 1.1.17 (Wed Dec 17 18:30:00 CET 2014)

-

var/chg var/wallpaper/*.html: '<!DOCTYPE HTML ...>' line removed from wallpapers distributed with WA2L/WinTools because it causes an ugly line around the generated image.

-

man/new wintoolsrevision.1

-

doc/new README

1.0.01 ... 1.1.16

Other development versions.

1.0.00

First development version.

SEE ALSO

wintoolsintro(1), wintools(1)

NOTES

-

AUTHOR

WA2L/WinTools was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

COPYRIGHT

Copyright © 2023 Christian Walther

This is free software; see WA2LWinTools/man/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NAME AVAILABILITY DESCRIPTION RELEASE-NUMBERS SHORTCUTS OBJECT ACTION REVISION-HISTORY 1.2.08 1.2.07 1.2.06 1.2.05 1.2.04 1.2.03 1.2.02 1.2.01 1.2.00 1.1.99 1.1.98 1.1.97 1.1.96 1.1.95 1.1.94 1.1.93 1.1.92 1.1.91 1.1.90 1.1.89 1.1.88 1.1.87 1.1.86 1.1.85 1.1.84 1.1.83 1.1.82 1.1.81 1.1.80 1.1.79 1.1.78 1.1.77 1.1.76 1.1.75 1.1.74 1.1.73 1.1.72 1.1.71 1.1.70 1.1.69 1.1.68 1.1.67 1.1.66 1.1.65 1.1.64 1.1.63 1.1.62 1.1.61 1.1.60 1.1.59 1.1.58 1.1.57 1.1.56 1.1.55 1.1.54 1.1.53 1.1.52 1.1.51 1.1.50 1.1.49 1.1.48 1.1.46 ... 1.1.47 1.1.45 1.1.44 1.1.43 1.1.42 1.1.41 1.1.40 1.1.39 1.1.38 1.1.37 1.1.36 1.1.35 1.1.34 1.1.33 1.1.32 1.1.31 1.1.30 1.1.29 1.1.28 1.1.27 1.1.26 1.1.25 1.1.24 1.1.23 1.1.22 1.1.21 1.1.20 1.1.19 1.1.18 1.1.17 1.0.01 ... 1.1.16 1.0.00 SEE ALSO NOTES AUTHOR COPYRIGHT

This document was created by man2html using the manual pages.

Time: 16:33:27 GMT, September 14, 2024

Table of Contents

WinToolsIntro

wtshell

lpath

appstart.cfg

run.cfg

appstart

run

pstart

ActiveHotkeys

config

config.cfg

AltDrag

MinimizeToTray

PinWin

SeeThroughWindows

7-Zip

SumatraPDF

Notepad2

np

JPEGView

Readme for JPEGView

JSONEdit

man

man.cfg

manvi

vi

WinVi

savnow

sav

vcp

vcp.cfg

metadata

metadata.cfg

Bibliography

bibliography.cfg

tf

awk

grep

diff

GZIP

SED

TR

XARGS

uxfind

locate

wscheduler

Calendar

ClocX

Countdown

Stopwatch

Console

iyf

iyf.cfg

SearchMyFiles

DPWiper

EmptyFolderNuker

LS

gawk

egrep

tf.cfg

catio

lsw

lscol

print_list

select_columns

indent

print_header

print_index

lscomp

llcomp

catcomp

lscp

lsmv

mv

CP

lssp

cut

DownloadFile

TAIL

metadata.template

bib2xml.xml

bib2xml

metadata.bib

DirInfo

dirinfo.cfg

sqlite

SQLite-GUI

less

man.map

WebBrowser

Qsel

Qsel.cfg

HotkeyP

JSONedit

Beeftext

BES

BES.cfg

BlueTooth

Caffeine

caffeine.cfg

NoSleep

PuTTY

MTPuTTY

PuTTYclean

puttygen

PuTTYsm

plink

psftp

tunnel

Calculator

CatchChar

Hasher

CinemaDrape

ClassicStartMenu

svcinit

WinToolsDownload

setup.cfg

proxy.cfg

curl

proxy

wget

EDSzip

EDSzip.cfg

unzip

zip

office2pdf

epub2mobi

epub2mobi.cfg

ppt2png

ppt2png.cfg

ppt2jpg

ppt2jpg.cfg

xps2png

xps2png.cfg

xps2pdf

azw2epub

azw2epub.cfg

azw2mobi

azw2mobi.cfg

mobi2epub

mobi2epub.cfg

pdf2png

convert

svg2png

svg2png.cfg

pdf2png.cfg

pdf2ppt

pdf2mobi

pdf2mobi.cfg

png2jpg

png2jpg.cfg

pdf2epub

pdf2epub.cfg

RemoveExternalLinks

RemoveExternalLinks.cfg

wav2mp3

lame

MP3Cutter

wav2mp3.cfg

wma2mp3

wma2mp3.cfg

copyaslink

copyasuxpath

copyaswinpath

CSVFileEdit

List2

CSVFileView

Spread32

DesktopICON

DesktopOK

Yellowpile

WindowResizer

Shortcuts

Shortcuts.def.cfg

Desktops

DesktopTicker

DirIndex

dirindex.cfg

EBNFView

ExifToolGUI

exiftool

ASFileCrypt

mTail

wintail

NewFileTime

SetModificationDate

todayprefix

todayprefix.cfg

FolderChangesView

RidNacs

DockFolders

FoldersPopup

Greenshot

PicPick

Screenshot

Screenshot.cfg

ScreenshotTray

HexEditor

HP48GX

IconGrabber

IconRefresh

MycView

KeyNote

LYNX

MC

view

vim

MediaPlayer

1by1

1by1 Directory Player

SimpleRecorder

meta2cover

meta2cover.docx

MetarWeather

Miranda

MonitorOFF

Qsel

MoveToScreen

MultiClipBoardSlots

PDF-Copy-Paster

PureText

NANO

NewsLibrary

OutlookAttachView

KeePass

SafeHouseExplorer

PDFTKBuilder

pdfrotate

pdfconcatenate

pdftk

PerfMon

PMeter

Ruler

PowerOFF

RadioSure

StationsDownload

StationsDownload.cfg

RDCMan

redirect2web

redirect2web.cfg

redirect2web.map

regexintro

sed1line

AnyDesk

WinToolsRevisionNotifier

pack

wallpaperpack

wallpaper

wallpaper.cfg

WebcamsDownload

WebcamsDownload.cfg

wallpaperindex

RunPopUp

manuals

EasyScreencastRecorder

EasyScreencastRecordings

SoundVolumeView

SpanishAccents

dsubst

dsubst.cfg

SynchronizeIt

Textify

TinyTimeRecorder

QTranslate

TurboPad

typertask

USBDeView

USBDiskEject

USB Disk Ejector By Bennyboy Version 1.3.0.6 Http://quickandeasysoftware.net

New in this version

What is USB Disk Ejector?

Using the program

Command Line

Upgrading From Previous Versions (before v1.3)

Limitations/Bugs

Acknowledgements And Thanks

Disclaimer

Support

Changelogs for previous versions:

VietOCR

WeatherMate

StartMenu

WindowTabs

WinFontsForAll

WinRoll

WinSCP

wtreset

ZoomIt

SoftwareList

CompareIt

Q10

banner

bc

DC

cat

tac

comm

join

UNIQ

uxsort

EXPAND

UNEXPAND

grep

Handle

HEAD

kill

ll

MAKE

NCAT

OD

Chapter 7: Using the command-line connection tool Plink

ps

pscp

Chapter 6: Using PSFTP to transfer files securely

RM

robocopy

SCP

SSH

SFTP

SSH-KEYGEN

SPLIT

STAT

STRINGS

TELNET

TEST

TEE

touch

which

YES

AUTO_EXEC

avi2mp4

avi2mp4.cfg

FFMPEG

CitesDownload

CitesDownload.cfg

csvq

jq

xml2json

xml2csv

csv2worksheet

java.cfg

inststats

instverify

manualsbrowser

metadataview

pack-supportfiles

progstats

textnote2html

textnoteview

userinfo

userinfo.cfg

WinToolsRevision

WinToolsWebDownload

xlsx2csv

ASCII

CHARSETS

iconv

UTF-8

dos2unix

dos2unix

mandoc

MouseFinder.cfg

pack.cfg

pdfinfo

startprog

startprog.opt

dos2unix

dos2unix

WinToolsRevision