Pregunta¿Cuáles son las razones para usar dos programas por lotes en Windows?
¿Cuál sería una buena razón (idealmente, técnica) para programar alguna vez alguna tarea no trivial en el lenguaje dos lotes en un sistema Windows moderna en contraposición a la descarga ya sea PowerShell, o ActiveState Perl?
Para ser más específicos, hago las siguientes dos supuestos para la duración de esta pregunta: ¿
cualquiera lo suficientemente técnico para ser capaz de escribir un guión de mediana complejidad lote es suficiente técnica para instalar cualquiera de los intérpretes de scripting.
Ninguno de estos dos presenta una curva de aprendizaje suficiente para las tareas básicas de reemplazo de lotes, ya que dicha curva superaría el dolor de realizar cualquier tarea remotamente no trivial en lote.
Notas
"Se necesita un programa por lotes para autoexec.bat" no es una razón válida. Su autoexec.bat puede consistir en simplemente llamar a secuencias de comandos no por lotes.
Si no está de acuerdo con cualquiera de mis 2 suposiciones anteriores, está bien, y puedo estar equivocado. Pero mi pregunta es específicamente "asumiendo que esas 2 suposiciones son correctas, ¿cuál sería la razón para seguir con el lote?" Si hace más fácil suspender la incredulidad (en caso de que no esté de acuerdo conmigo), agregue una tercera suposición de que la pregunta se limita a personas que ya poseen al menos un poco de experiencia en PowerShell o Perl.
Para reiterar: esto no pretende ser una pregunta subjetiva sobre lo fácil que es aprender PSh o ASPerl en comparación con hacer una codificación por lotes avanzada. Esa es una pregunta separada que es demasiado subjetiva para ser molestada en este post.
Antecedentes:
Yo solía hacer un poco de programación por lotes bastante complicado en los días mayores, y recordar por lotes como uno de los peores lenguajes de programación es posible que me había encontrado.
La idea de esta pregunta vino después de ver un montón de preguntas por lotes en SO, y tratando de asimilar la respuesta de uno de ellos por pura curiosidad y renunciar al dolor después de un minuto, exclamando mentalmente "¿por qué iría alguien? a través de este dolor en lugar de hacer eso en 1 línea de Perl? " :)
Mi propia respuesta plausible
supongo que puede haber un sistema compatible con DOS probable, que tiene DOS intérprete, pero no tiene PowerShell compatible o Perl ... No estoy al tanto de uno pero no completamente imposible.
Tenga en cuenta que el DOS (command.com) y Windows (cmd.exe) Las conchas de línea de comando son dos mundos * muy * diferentes. Para todos los propósitos prácticos, esos dos solo comparten un poco de sintaxis, pero nada más. 'autoexec.bat' tampoco existe desde hace bastante tiempo. A menos que todavía ejecute DOS o Windows 9x. – Joey
@Johannes - Hmmm ... Todavía veo autoexec.bat en todas mis instalaciones de XP, aunque nunca tuve que poner nada allí, así que no sé si funciona :) – DVK
Está ahí para aplicaciones antiguas que esperan que esté allí . Lo mismo con config.sys. Por lo general, están vacíos. Windows hace algo de magia con las variables de entorno que se establecen en 'autoexec.bat' y las establece en Windows (las configuraciones de los programas de DOS establecen regularmente' PATH' u otras variables para que puedan funcionar correctamente). Aparte de eso, esos archivos ya no tienen uso y eso es solo un poco de compatibilidad con versiones anteriores. – Joey