que mac informatica gta commands cli command-line

command line - mac - ¿Herramienta para "marcadores" de línea de comandos en Windows?



que es cli en informatica (8)

Crono escribió:

¿Las variables de entorno definidas a través de "establecer" no son solo para la sesión actual? ¿Puedo persistir?

Están configurados para el proceso actual y, de forma predeterminada, heredados por cualquier proceso que cree. No se conservan en el registro. Su alcance puede ser limitado en scripts cmd con "setlocal" (y "endlocal").

Estoy buscando una herramienta que me permita especificar algunas carpetas como "marcadores" y acceder a ellas en la línea de comandos (en Windows XP) a través de una palabra clave. Algo como:

C:/> go home D:/profiles/user/home/> go svn-project1 D:/projects/project1/svn/branch/src/>

Actualmente estoy usando un montón de archivos por lotes, pero editarlos a mano es una tarea desalentadora. En Linux hay cdargs o marcadores de shell, pero no he encontrado algo en Windows.

Gracias por la sugerencia de Powershell, pero no tengo permiso para instalarla en mi buzón de trabajo, por lo que debería ser una solución cmd.exe "clásica".


¿Variables de entorno?

set home=D:/profiles/user/home set svn-project1=D:/projects/project1/svn/branch/src cd %home%

En Unix utilizo esto junto con popd / pushd / cd, todo el tiempo.


Con PowerShell, podría agregar las carpetas como variables en su archivo profile.ps1, como:

$vids="C:/Users/mabster/Videos"

Entonces, al igual que Unix, puede referirse a las variables en sus comandos:

cd $vids

Tener una lista de asignaciones variables en el archivo ps1 es probablemente más fácil que mantener archivos por lotes separados.


Con solo un archivo por lotes, intente esto ... (guardar como nombre de archivo "go.bat")

@echo off set BookMarkFolder=c:/data/cline/bookmarks/ if exist %BookMarkFolder%%1.lnk start %BookMarkFolder%%1.lnk if exist %BookMarkFolder%%1.bat start %BookMarkFolder%%1.bat if exist %BookMarkFolder%%1.vbs start %BookMarkFolder%%1.vbs if exist %BookMarkFolder%%1.URL start %BookMarkFolder%%1.URL

Cualquier acceso directo, archivo de proceso por lotes, secuencias de comandos de VBS o acceso directo a Internet que coloque en su carpeta de favoritos (en este caso "c: / data / cline / bookmarks /" puede abrirse / accederse escribiendo "go bookmarkname "

por ejemplo, tengo un marcador llamado "stack.url". Typing Go Stack me lleva directamente a esta página.

También es posible que desee investigar Launchy


Lo que estás buscando se llama DOSKEY

Puede usar el comando doskey para crear macros en el intérprete de comandos. Por ejemplo:

doskey mcd=mkdir "$*"$Tpushd "$*"

crea un nuevo comando "mcd" que crea un nuevo directorio y luego cambia a ese directorio (prefiero "pushd" a "cd" en este caso porque me permite usar "popd" más tarde para volver a donde estaba antes)

El $ * se reemplazará con el resto de la línea de comando después de la macro, y $ T se usa para delimitar los dos comandos diferentes que quiero evaluar. Si escribí:

mcd foo/bar

en la línea de comando, sería equivalente a:

mkdir "foo/bar"&pushd "foo/bar"

El siguiente paso es crear un archivo que contenga un conjunto de macros que luego puede importar utilizando el modificador / macrofile. Tengo un archivo (c: / tools / doskey.macros) que define los comandos que utilizo regularmente. Cada macro debe especificarse en una línea con la misma sintaxis que la anterior.

Pero no quiere tener que importar manualmente sus macros cada vez que ejecute un nuevo intérprete de comandos, para hacerlo automáticamente, solo abra la clave de registro

HKEY_LOCAL_MACHINE / Software / Microsoft / Command Processor / AutoRun y ​​establece el valor para ser doskey / macrofile "c: / tools / doskey.macro". Al hacer esto, se asegurará de que sus macros estén predefinidas automáticamente cada vez que inicie un nuevo intérprete.

Pensamientos adicionales: - Si quiere hacer otras cosas en AutoRun (como establecer parámetros de entorno), puede delimitar los comandos con el signo &. El mío se ve así: establezca root = c: / SomeDir & doskey / macrofile "c: / tools / doskey.macros" - Si prefiere que la configuración de AutoRun se configure por usuario, puede usar el nodo HKCU en lugar de HKLM. - También puedes usar doskey para controlar cosas como el tamaño del historial de comandos. - Me gusta terminar todas mis macros de navegación con / $ * para que pueda encadenar las cosas juntas - Tenga cuidado de agregar citas según corresponda en sus macros si desea poder manejar rutas con espacios en ellas.


Otro enfoque alternativo que quizás desee considerar podría ser tener una carpeta que contenga enlaces simbólicos a cada uno de sus proyectos o directorios de uso frecuente. Entonces puedes hacer algo como

cd /go/svn-project-1 cd /go/my-douments

Los enlaces simbólicos se pueden hacer en un disco NTFS usando la herramienta de unión


Sin Powershell puedes hacerlo así:

C:/>set DOOMED=c:/windows C:/>cd %DOOMED% C:/WINDOWS>


Estaba buscando esta funcionalidad exacta, para casos simples. No pude encontrar una solución, así que hice una:

@ECHO OFF REM Source found on https://github.com/DieterDePaepe/windows-scripts REM Please share any improvements made! REM Folder where all links will end up set WARP_REPO=%USERPROFILE%/.warp IF [%1]==[/?] GOTO :help IF [%1]==[--help] GOTO :help IF [%1]==[/create] GOTO :create IF [%1]==[/remove] GOTO :remove IF [%1]==[/list] GOTO :list set /p WARP_DIR=<%WARP_REPO%/%1 cd %WARP_DIR% GOTO :end :create IF [%2]==[] ( ECHO Missing name for bookmark GOTO :EOF ) if not exist %WARP_REPO%/NUL mkdir %WARP_REPO% ECHO %cd% > %WARP_REPO%/%2 ECHO Created bookmark "%2" GOTO :end :list dir %WARP_REPO% /B GOTO :end :remove IF [%2]==[] ( ECHO Missing name for bookmark GOTO :EOF ) if not exist %WARP_REPO%/%2 ( ECHO Bookmark does not exist: %2 GOTO :EOF ) del %WARP_REPO%/%2 GOTO :end :help ECHO Create or navigate to folder bookmarks. ECHO. ECHO warp /? Display this help ECHO warp [bookmark] Navigate to existing bookmark ECHO warp /remove [bookmark] Remove an existing bookmark ECHO warp /create [bookmark] Navigate to existing bookmark ECHO warp /list List existing bookmarks ECHO. :end

Puede enumerar, crear y eliminar marcadores. Los marcadores se almacenan en archivos de texto en una carpeta en su directorio de usuario.

Uso (copiado de la versión actual):

Una carpeta marcador de libros para usar en la terminal.

c:/Temp>warp /create temp # Create a new bookmark Created bookmark "temp" c:/Temp>cd c:/Users/Public # Go somewhere else c:/Users/Public>warp temp # Go to the stored bookmark c:/Temp>

Cada warp utiliza un comando pushd, por lo que puede seguir sus pasos usando popd.

c:/Users/Public>warp temp c:/Temp>popd c:/Users/Public>

Abra una carpeta de un marcador en el explorador usando warp /window <bookmark> .

Listar todas las opciones disponibles usando warp /? .