PHP, 22 bytes
`<?=PATH_SEPARATOR>":";`
se imprime 1si el separador de ruta es punto y coma (dos puntos o vacío para todos los demás sistemas operativos excepto DOS y OS / 2), de lo contrario, nada.
También 22 bytes , pero no es tan seguro:
<?=strpos(__FILE__,92);
imprime un entero positivo si la ruta del archivo contiene una barra invertida; de lo contrario nada.
Una alternativa segura con 27 bytes : <?=DIRECTORY_SEPARATOR>"/";impresiones 1o nada.
Un hallazgo extraño : <?=__FILE__[1]==":";( 20 bytes ) debería ser, tampoco seguro, pero está bien. Pero aunque __FILE__pretende ser una cadena (lo intenté var_dumpy gettype), indexarlo arroja un error, a menos que lo copie en otro lugar (la concatenación también funciona) o lo use como un parámetro de función.
Editar:
<?=(__FILE__)[1]==":";(también 22 bytes ) funciona en PHP 7; pero eso se debe a que los paréntesis copian el valor de la constante en una variable temporal.
27 bytes : <?=stripos(PHP_OS,win)===0;
comprueba si la PHP_OSconstante predefinida comienza con win(mayúsculas y minúsculas; Windows, WIN32, WINNT, pero no CYGWIN o Darwin); impresiones 1para Windows, de lo contrario nada.
17/18 bytes :
<?=strlen("
")-1;
imprime 1si se almacenó con Windows linebreak (también en DOS, OS / 2 y Atari TOS, aunque dudo que alguien haya compilado PHP para TOS), de lo contrario 0.
También puede verificar la constante PHP_EOL.
mas opciones:
PHP_SHLIB_SUFFIXestá dllen Windows, pero no necesariamente solo allí.
php_uname()devuelve información sobre el sistema operativo y más; comienza con Windowspara Windows.
$_SERVER['HTTP_USER_AGENT']contendrá Windowscuando se llame en un navegador en Windows.
<?=defined(PHP_WINDOWS_VERSION_BUILD);(38 bytes) funciona en PHP> = 5.3
conclusión
La única forma segura de saber si realmente es Windows, y no nada parecido, es verificar el nombre del sistema operativo. Para PHP: php_os()puede deshabilitarse por razones de seguridad; pero PHP_OSprobablemente siempre contendrá la información deseada.