tengo gnuwin32
ySFU. Tampoco el script.exe
mando.
¿Alguien sabe si existe un script.exe
equivalente para Windows, distinto de Cygwin, que no quiero instalar (por razones irrelevantes para esta discusión)?
Respuesta1
No, no existe un equivalente en Windows para este script
comando; créeme,He buscado por todas partes.
En cualquier caso, puedes utilizar la redirección para lograr al menos la mitad. No verá el resultado durante la ejecución, pero podrá verlo después en el archivo. Desafortunadamente, es un compromiso, pero puede funcionar en caso de apuro.
Lo único que debes tener en cuenta es que algunos programas escriben en más de una secuencia. Además desalida estándar( stdout
), también podrán escribir aError estándar( stderr
) oregistro estándar( stdlog
). Así que para asegurarte de capturartodosalida, debe redirigir ambos stdout
y stderr
(en Windows, stdlog
se redirige automáticamente a stdout
). En el siguiente ejemplo, el compilador de Microsoft ( cl.exe
) imprime el banner (texto del encabezado) en stderr
y el resto del texto de ayuda en stdout
.
C:\> cl /? > foobar.txt 2>&1
Respuesta2
Me temo que copiar y pegar es la única forma (redireccionar la salida no es equivalente al comando de script).
De acuerdo aForo de ayuda de Microsoft
Abra el indicador cmd en formato de ventana, es decir, no en pantalla completa...
Ahora haga clic derecho en el encabezado del mensaje cmd, es decir, la franja azul en la parte superior y habrá una opción de edición. Allí seleccione la opción marcar, es decir, editar->marcar. Obtendrá un cursor en el mensaje cmd, simplemente seleccione el área que desea copiar... luego vaya nuevamente a la parte superior derecha y haga clic en editar->copiar.
Ahora, en un archivo de texto, simplemente péguelo y obtendrá el contenido del mensaje cmd en el archivo de texto...
Respuesta3
No hay ningún no cygwin que yo sepa; pero cualesquiera que sean sus razones para no querer cygwin, puede reconsiderarlas sabiendo quepuede separar su script.exe de cygwin y eliminar las partes innecesarias de cygwin. Será feo pero funciona y es portátil, para mí ocupa 5 MB.
TL;DRcrear un bin
directorio en cualquier lugar y con haber instalado manualmente elutilidad-linuxpaquete cygwin, copie estos archivos y bin
luego elimine el resto de cygwin:
bin\cyggcc_s-1.dll
bin\cygiconv-2.dll
bin\cygintl-8.dll
bin\cygncursesw-10.dll
bin\cygreadline7.dll
bin\cygwin1.dll
bin\script.exe
bin\sh.exe
Eso es todo. A continuación sigue una descripción muy detallada sobre cómo saberlo, cómo instalar cygwin y todo lo demás.
cygwin:utilidad-linuxpaquete
El script
comando (pagina del manual) existe para Windows como una parte no predeterminada de cygwin llamada script.exe
. Tienes que seleccionar manualmente su paquete para la instalación, actualmente está en el paquete llamadoutilidad-linux. (tenga en cuenta que, si bien no es aconsejable, técnicamente es posible separar script.exe de una instalación de cygwin, si proporciona sus dependencias)
Una vez que lo haya hecho script.exe
, puede grabar una sesión de cmd comenzando script.exe -c cmd.exe
y escribiendo exit
al final. Puede configurar el nombre del archivo de salida con, por ejemplo. Al -a
cambiar, el nombre predeterminado es typescript
y sobrescribir.
Para encontrar qué exe (u otro archivo) está en cada paquete, puede buscar el contenido de los paquetes de cygwin en línea:http://www.cygwin.com/packages/Por ejemplo, busque "script.exe".
Para su información, puede ver la página del manual del script
comando en un sistema Linux usando elhombrecomando, escribiendo man script
en elTerminal(si tiene páginas man instaladas), o en líneabuscandolas palabras clave "man script mecanografiado".
Elbolsilloerr... guía de mochila para cygwin:
acerca de cygwin
Cygwin vincula cada exe a su propio .dll, por lo que requiere una copia de estos dll además de sus archivos exe, pero por lo demás se puede utilizar como una colección de archivos exe normales nativos de Windows. Sin embargo, la forma estándar de utilizar cygwin es instalarlo a través de suinstalador. Se informa que el paquete base tiene aproximadamente 30 MB de descarga y 90 MB de extracción, pero puede seleccionar paquetes adicionales comoutilidad-linuxpara ex adicionales como script.exe
.
instalando paquetes
Puede instalar paquetes ejecutando cygwininstalador, actualmente llamado setup-x86.exe
para x86 (anteriormente se llamaba setup.exe
. También ocasionalmente tiene actualizaciones. Por ejemplo, el antiguo setup.exe ya no funciona porque las rutas han cambiado en los servidores; necesita descargar el nuevo). Continúe de manera siguiente, siguiente, siguiente en el instalador hasta que vea algo que se parezca a una lista de paquetes.
En la parte superior haga clic en la opción "mantener" y ver a "Lleno" Si me preguntas. Pase el mouse para obtener información sobre herramientas sobre lo que significan.
forma detallada de llegar a la lista de paquetes
Para acceder a la lista de paquetes normalmente haces esto en un x86:descargare iniciar setup_x86.exe
, haga clic en "Siguiente" para la pantalla de bienvenida, seleccione "Instalar desde Internet" y haga clic en Siguiente, elija su directorio de instalación y haga clic en Siguiente, elija un directorio de caché de paquete temporal y haga clic en Siguiente, elija "Conexión directa" (o lo que necesite ) y haga clic en Siguiente, si puede descargar la lista espejo, en realidad está en orden alfabético para los nombres de los países en inglés (difícil de creer pero cierto), puede verlo en las terminaciones de los nombres de dominio (.com/.net/.org primero, luego .au, .de, .gr, etc.). Seleccione un espejo que crea que está cerca de usted y haga clic en Siguiente; si la descarga se logra, podrá ver la lista de paquetes.
tamaño de instalación + portabilidad
Cygwin puede instalarse a través de su instalador, pero el directorio que crea es en realidad portátil. Solía comprimirlo con 7z, extraerlo y usarlo en otras computadoras con éxito.
Se afirma que la instalación predeterminada tiene 90 MB de extracción y 30 MB de descarga. Puede ver un ejemplo de los paquetes predeterminados eneste hilo atrapantepara tener una idea de qué instalar en un sistema mínimo. De hecho, puede deseleccionar estos paquetes y solo seleccionar, por ejemplo.utilidad-linuxal instalar, y el instalador de cygwin le preguntará si también desea instalar las dependencias (requisitos) de util-linux. No estoy seguro de si al anular la selección de los paquetes predeterminados se seguirá instalando el mintty.exe
terminal o bash
, que son útiles y generalmente esperados por el entorno cygwin, aunque en realidad no son necesarios para usar ninguno de los archivos ejecutables de cygwin.
separación de script.exe de cygwin
NOTAque no es aconsejable que separe cualquier parte de la instalación de cygwin, no porque no pueda funcionar sino porque si tiene más de un archivo ejecutable, confíe en cygwin.dll, cada vez que cygwin.dll se actualice y haga una copia del nuevo dll para otro de los exes, la carga del dll puede intentar cargar el dll incorrecto, por ejemplo, si está en la RUTA en una posición anterior en comparación con el otro.
Dicho esto, para separar script.exe (y potencialmente eliminar el resto de cygwin), puede hacerlo, copia sus dependencias dll, pero no es suficiente. Intenta cargar un sh.exe incluso si no hay shells Unixy disponibles, por lo que también necesita sh.exe, pero aún así no lo encontrará a menos que los coloque en un directorio llamado "bin" (que podría estar en cualquier lugar). por cierto). Entonces, para tener un script.exe funcional separado de cygwin, necesita estos archivos en esta estructura (al momento de escribir este artículo):
bin\cyggcc_s-1.dll
,
bin\cygiconv-2.dll
,
bin\cygintl-8.dll
,
bin\cygncursesw-10.dll
,
bin\cygreadline7.dll
,
bin\cygwin1.dll
,
bin\script.exe
,
bin\sh.exe
,
El bin
directorio puede estar en cualquier lugar, por cierto.
Puede obtener la dependencia dll, por ejemplo, con el complemento lister de Total Commanderinformación del archivo
Respuesta4
Parece que quieres el tee
comando. Puedes conseguirloaquí. Tee le permite leer desde la entrada estándar y escribir en archivos y salidas estándar.