Implemented optional write combining, i.e. buffering of small chunks of input data.
[tee-win32.git] / README.md
blobb8eee87c596788816ddafa0fd2b8cb695418dca4
1 # tee for Windows
3 A simple [**`tee`**](https://en.wikipedia.org/wiki/Tee_(command)) implementation for Microsoft Windows.
5 ![tee](etc/images/tee.png)  
6 <small>(image created by [Sven](https://commons.wikimedia.org/wiki/User:Sven), CC BY-SA 4.0)</small>
8 ## Usage
10 ```
11 tee for Windows
13 Copy standard input to output file(s), and also to standard output.
15 Usage:
16   gizmo.exe [...] | tee.exe [options] <file_1> ... <file_n>
18 Options:
19   -a --append  Append to the existing file, instead of truncating
20   -b --buffer  Enable write combining, i.e. buffer small chunks
21   -f --flush   Flush output file after each write operation
22   -i --ignore  Ignore the interrupt signal (SIGINT), e.g. CTRL+C
23   -d --delay   Add a small delay after each read operation
24 ```
26 ### Terminal output
28 Tee can be used as an intermediate buffer (i.e. *without* writing to a file) to greatly speed-up terminal output:
29 ```
30 gizmo.exe [...] | tee.exe NUL
31 ```
33 ## Implementation
35 This is a "native" implementation of the **`tee`** command that builds directly on top of the Win32 API.
37 It uses multi-threaded I/O and triple buffering for maximum throughput.
39 ## System Requirements
41 This application requires Windows Vista or later. All 32-Bit and 64-Bit editions, including ARM64, are supported.
43 ## Website
45 Git mirrors for this project:
47 * <https://github.com/dEajL3kA/tee-win32>
48 * <https://gitlab.com/deajl3ka1/tee-for-windows>
49 * <https://repo.or.cz/tee-win32.git>
51 ## License
53 Copyright (c) 2023 “dEajL3kA” &lt;Cumpoing79@web.de&gt;  
54 This work has been released under the MIT license. See [LICENSE.txt](LICENSE.txt) for details!
56 ### Acknowledgement
58 Using [T-junction icons](https://www.flaticon.com/free-icons/t-junction) created by Smashicons &ndash; Flaticon.