No non-cygwin that I know; but whatever your reasons are for not wanting cygwin, you may reconsider them knowing that you can separate its script.exe from cygwin and delete the unneeded parts of cygwin. Will be ugly but works and is portable, takes 5MB for me.
TL;DR create a
bin directory anywhere and with having manually installed the util-linux cygwin package, copy these files to that
bin then delete the rest of cygwin:
That's it. Here follows the intendedly very detailed description on how this can be found out, how to install cygwin and everything else.
cygwin: util-linux package
script command (manual page) exists for windows as a non-default part of cygwin called
script.exe. You have to manually select its package for installation, currently it is in the package called util-linux. (note that while unadwised, technically it's possible to separate script.exe from an cygwin installation, if you provide its dependencies)
Once you have
script.exe, you can record a cmd session by starting
script.exe -c cmd.exe and typeing
exit at the end. You can set the output filename with eg. the
-a switch, the default name is
typescript and overwrite.
To find which exe (or other file) is in which package, you can search contents of packages of cygwin online: http://www.cygwin.com/packages/ E.g. look for "script.exe".
FYI, you can see the manual page for the
script command in a linux system by using the man command, typing
man script to the terminal (if you have man pages installed), or by online searching the keywords "man script typescript".
pocket err.. backpack guide to cygwin:
Cygwin links every exe to its own .dll so requires copy of these dll(s) in addition to its exe files, but otherwise is useable as a collection of normal, windows-native exe files. However the standard way to use cygwin is to install it via its installer. The base package is reported to be about 30MB download and 90MB extracted, but you can select extra packages like util-linux for additional exes like
You can install packages via running the cygwin installer, currently called
setup-x86.exe for the x86 (previously it was called
setup.exe. Also it occasionally have updates. For example the old setup.exe is not working any more because the paths had changed on the servers; you need to download the new one). You go forward in a next-next-next manner in the installer until you see something that resembles a package list.
At top click option "keep" and view to "Full" if you ask me. Hover the mouse for information tooltips on what does these mean.
detailed way to get to the package list
To get to the package list you usually do this on an x86: download and start
setup_x86.exe, click "Next" for the welcome screen, select "Install from internet" and click Next, choose your install directory and click Next, choose a temporary package cache directory and click Next, choose "Direct connection" (or whatever you need) and click Next, if it can download the mirror list, it is actually in alphabetical order for English name of countries (hard to belive but true), you can see it from the domain name endings (.com/.net/.org first, then eg. .au, .de, .gr, etc.). Select a mirror that you think is close to you and click Next, if it succeeds to download you can see the package list.
install size + portability
Cygwin may be installed via its installer but the directory it creates is actually portable. I used to zip it with 7z and extract and use it on other computers with success.
The default install is claimed to be 90MB extracted and 30MB to download. You can an example of the default packages on this nabble thread to have an idea what to install to a minimal system. You can actually unselect these packages and only select eg. util-linux when installing, and the cygwin installer will ask you if you want to install the dependencies (requirements) of util-linux, too. I'm not sure if unselecting the default packages will still install the
mintty.exe terminal or
bash, though, which are handy and usually expected by the cygwin environment although they are not actually necessary for using any of the cygwin exes.
separation of script.exe from cygwin
NOTE that it is unadwised that you separate any part of the cygwin installation, not because it cannot work but because if you have more than one exes rely on the cygwin.dll, any time the cygwin.dll gets updated and you happen to make a copy of the new dll for another one of the exes, the dll load may try to load the wrong dll for example if it's in the PATH in a prior position compared to the other.
That said, to separate script.exe (and potentially delete rest of cygwin) - you can do it, you copy it's dll dependencies but it's not enough. It tries to load a sh.exe even if there are no unixy shells around, so it also needs sh.exe, but it still won't find it unless you put them in a directory called "bin" (that could be anywhere, by the way). So to have a functional script.exe separated from cygwin, you need these files in this structure (as of this writing):
bin directory can be anywhere, by the way
You can get the dll dependency for example with the Total Commander lister plugin fileinfo