¿Cómo hago para que un archivo por lotes pueda ejecutarse en otras computadoras?

9

Cuando creo un archivo por lotes en mi computadora para ejecutar start c:\Users\________\Whatever\..., funciona en mi máquina.

¿Cómo puedo hacer que funcione en la máquina de otra persona, ya que su nombre de usuario no es mi nombre de usuario?

Konrad
fuente

Respuestas:

19

Puede usar la variable ambiental %USERPROFILE%. Esto funciona desde Windows XP y en adelante, y detecta automáticamente la letra de la unidad y la ruta de la carpeta a la carpeta del perfil del usuario actual.

start %USERPROFILE%\Whatever

Luke canadiense
fuente
9

Puede usar las variables de entorno de Windows . Uno que podría usar en este caso sería %username%, que devuelve el nombre del usuario actual.

es decir:

start c:\users\%username%\Whatever

Además / alternativamente, si está apuntando específicamente a la carpeta de perfil del usuario ( <drive>:\users\<username>), puede usar la %userprofile%variable, que devolverá la ruta completa al perfil del usuario actual, que ayuda cuando apunta a sistemas operativos más antiguos como XP (donde está <drive>:\document and settings\<username>por defecto), o donde la carpeta de perfil se ha movido a una unidad / ubicación diferente.

es decir:

start %userprofile%\Whatever

Hay varias otras variables allí que pueden resultarle útiles al escribir lotes, le aconsejo que lea detenidamente toda la lista. :)

Ƭᴇcʜιᴇ007
fuente
2
Votaría si no fuera por mis dos últimos sistemas Windows que han mantenido los perfiles de usuario e:\usersy d:\documents and settings...
user1686
@grawity Intenté mantenerlo genérico mostrándole la lista de variables disponibles y sin suponer que siempre quieren apuntar al directorio del perfil de usuario. Pero bueno, tomé el punto, así que lo actualicé para cubrir también la variable% userprofile%.
Ƭᴇcʜιᴇ007
Amigo, acabas de robar mi respuesta: P
Canadian Luke
No robado, solo expandí mi respuesta para hacerlo más completo. Nuevamente, traté de evitar hacerlo originalmente sobre el directorio del perfil de usuario, pero aparentemente si no cubro% userprofile% también, entonces no es una respuesta 'correcta'. ;)
Ƭᴇcʜιᴇ007
No te preocupes, con la lengua fuera en el comentario, es una broma :)
Canadian Luke