Usuario del software
2010-07-28 09:47:26 +0000 2010-07-28 09:47:26 +0000
110

¿Existe un comando de acceso directo en el símbolo del sistema de Windows para llegar al directorio principal del usuario actual como existe en Linux?

Estoy acostumbrado a usar

cd ~

para llegar directamente a mi directorio personal. En el símbolo del sistema de Windows tengo que hacer

cd Users\username

para llegar allí. ¿Existe un acceso directo como el de Linux? Estaría bien si pudiera llegar allí haciendo

cd username

¿Es posible algo así en Windows Vista?

Respuestas [11]

167
2010-07-28 10:12:08 +0000

Sí, puede utilizar %HOMEPATH%, que es la ruta completa del directorio personal del usuario.

Hay bastantes otras variables útiles disponibles, como %OS% (sistema operativo), o %WINDIR% (directorio del sistema de Windows). Ver Wikipedia: Variables de entorno para una lista.

  • *

Notas:

En realidad, las cosas son un poco complicadas (como siempre). %HOMEPATH% sólo contiene la ruta, sin la letra de la unidad, por lo que no funcionará para cd desde una unidad diferente. También puede utilizar %USERPROFILE%, que _contiene la letra de la unidad, y suele ser el mismo directorio que %HOMEPATH%.

Los valores de estas variables, y cuál es la correcta para usted, dependerán de la versión de Windows y de cualquier cambio realizado por un administrador, ya que sus valores pueden ser diferentes (véase, por ejemplo, la pregunta Diferencia entre perfil y ruta de acceso a casa ).

167
23
2013-01-18 18:26:42 +0000

Hay otras dos opciones que pueden añadirse a un script y auto-ejecutarse de forma similar a la respuesta de BillP3rd.

Son dos caracteres más pero...

SET ~=%HOMEPATH%    
CD %~%

o...

CD %~%\Desktop

O...

doskey ~=cd %homepath%
~

Por supuesto no puedes usar este ~ en rutas pero como un rápido "salto a mi dir de casa" escribiendo ~ Enter es bastante rápido.

23
19
2010-07-28 10:47:03 +0000

Siempre puedes poner un archivo .bat en algún lugar de tu %PATH% que haga el cambio de ruta por ti.

19
9
2013-05-07 18:33:50 +0000

He creado un archivo .cmd en un directorio de mi ruta, y lo he llamado "cd~.cmd". Su contenido es:

@cd %HOMEPATH%

Así puedo escribir "cd~" desde cualquier lugar para llegar a mi directorio principal. No es lo mismo que "cd ~" (nótese el espacio que falta), pero para mí es suficiente.

9
7
2014-07-31 18:39:22 +0000

(https://superuser.com/a/168719/37845) es casi exactamente correcto, pero no siempre funciona.

Si su directorio principal está en una red compartida configurada como una unidad mapeada, ejecute lo siguiente independientemente de la unidad del directorio actual:

cd /D %HOMEDRIVE%%HOMEPATH%

El interruptor /D es necesario para permitir que cd cambie de unidad.

7
5
2016-03-04 12:16:07 +0000

¿Hay un atajo para `C:\Users<current user>### ¿Hay un atajo para ?

No hay un atajo directo.

Hay un par de soluciones diferentes (ver abajo).

  1. Utilizar una variable de entorno junto con cd o cd /d

  2. Utiliza subst o net use para crear un mapeo a otra letra de unidad.

  3. Instalar cygwin y utilizar bash

  4. Usar powershell - powershell soporta ~

La última solución es probablemente la más sencilla si estás preparado para usar powershell en lugar de cmd.

  • *

Solución 1: Utiliza una variable de entorno junto con cd o cd /d

Si quieres cambiar a este directorio de forma regular, ejecuta el siguiente comando:

setx DOCS %USERPROFILE%

Esto establecerá de forma permanente la variable de entorno DOCS, pero para poder utilizarla es necesario iniciar primero un nuevo shell cmd, entonces la variable estará definida y lista para ser utilizada:

F:\test>echo %DOCS%
C:\Users\DavidPostill\

Para cambiar de directorio desde cualquier ubicación utilice el siguiente comando:

cd /d %DOCS%

Si ya está en la unidad c: puede usar simplemente:

cd %DOCS%

Cree un archivo por lotes (docs.cmd) y póngalo en algún lugar de su PATH.

docs.cmd:

@echo off
cd /d %DOCS%

A continuación, sólo tiene que teclear docs independientemente de su ubicación actual y le llevará a C:\Users\<current user>


Solución 2: Utilice subst o net use para crear una asignación a otra letra de unidad.

Puede utilizar subst:

subst x: %USERPROFILE%

Y luego

x:

Desafortunadamente los mapeos de unidades no persisten a través de los reinicios.

net use persistirá a través de los reinicios, por ejemplo:

net use x: "\computerName\c$\pathName" /persistent:yes

Vea las respuestas en ¿Cómo hacer que el mapeo de SUBST persista a través de los reinicios? para instrucciones detalladas.

  • *

Solución 3: Instalar cygwin y usar bash

Podría considerar instalar cygwin :

Cygwin es:

  • una gran colección de herramientas GNU y de código abierto que proporcionan una funcionalidad similar a la de una distribución Linux en Windows.

Una vez que haya instalado cygwin puede ejecutar bash en un terminal de cygwin y establecer la variable de entorno bash HOME según corresponda.

Las alternativas a cygwin incluyen msys (MingW) :

MSYS es una colección de utilidades GNU como bash, make, gawk y grep para permitir la construcción de aplicaciones y programas que dependen de la presencia de herramientas UNIX tradicionales. Está pensado para complementar MinGW y las deficiencias del shell cmd.

Y Git para Windows :

Git para Windows proporciona una emulación de BASH utilizada para ejecutar Git desde la línea de comandos. *Los usuarios de NIX deberían sentirse como en casa, ya que la emulación BASH se comporta igual que el comando "git" en entornos LINUX y UNIX.

  • *

Solución 4: Usar powershell

Como se señaló en un comentario en otra pregunta de SBI powershell soporta ~ y puedes simplemente escribir:

cd ~

Further Reading

  • An A-Z Index of the Windows CMD command line - Una excelente referencia para todo lo relacionado con la línea cmd de Windows.
  • cd - Cambiar de directorio - Seleccionar una carpeta (y unidad)
  • setx - Establecer variables de entorno de forma permanente, SETX se puede utilizar para establecer las variables de entorno de la máquina (HKLM) o del usuario actualmente conectado (HKCU).
  • subst - Sustituye una letra de unidad por una ruta de red o local.
5
3
2010-07-28 10:01:04 +0000

No sé si es una característica de nuestro script de inicio de sesión de trabajo o un defecto de Windows, pero puedo usar cd %HOMEPATH% para lograr eso, donde HOMEPATH es una variable de entorno.

3
1
2010-08-17 00:42:06 +0000

Si quieres que todos los comandos del usuario se inicien en su directorio "home", crea la siguiente clave de registro como un valor de cadena expandible (sin comillas, por supuesto):

HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\AutoRun : "cd /d %USERPROFILE%"

Si quieres que sólo lo hagan tus comandos:

HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun : "cd /d %USERPROFILE%"

Yo acostumbro a tener una carpeta c:\NScripts en la que guardo un archivo por lotes de tipo "autoexec" que invoco a través de esta clave.

1
1
2015-02-20 14:22:33 +0000

Me doy cuenta de que esta es una pregunta hecha hace mucho tiempo, pero sólo para el registro. Instale clink , esto amplía el símbolo del sistema de muchas maneras. Sí, es más pesado que las soluciones anteriores, pero hace que la ventana de comandos se comporte mucho mejor.

1
0
2018-04-04 20:49:33 +0000

Para ello he utilizado un terminal mejor cmder ). Tiene alias incorporados y es muy fácil de usar. Sólo tienes que leer la documentación sobre Aliases aquí .

0
0
2012-10-18 08:43:39 +0000

Windows se ha convertido realmente en "Todo sobre la interfaz gráfica", así que en tu caso yo sólo conseguiría las herramientas que quieres en lugar de tratar de "doblar" el sistema a tu voluntad ... Las herramientas MinGW son una excelente colección de algunas de las herramientas gnu más utilizadas ... Lo recomiendo encarecidamente si eres un fanático de nix en Win ... http://www.mingw.org/wiki/MSYS

0