当前位置:  开发笔记 > 编程语言 > 正文

Windows上命令行"书签"的工具?

如何解决《Windows上命令行"书签"的工具?》经验,为你挑选了2个好方法。

我正在搜索一个工具,它允许我将某些文件夹指定为"书签",然后通过关键字在命令行(在Windows XP上)访问它们.就像是:

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

我目前正在使用一堆批处理文件,但手动编辑它们是一项艰巨的任务.在Linux上有cdargs或shell书签,但我没有在Windows上找到一些东西.


感谢Powershell的建议,但是我不允许在工作时将它安装在我的盒子上,所以它应该是一个"经典"的cmd.exe解决方案.



1> Andrew..:

您正在寻找的是DOSKEY

您可以使用doskey命令在命令解释程序中创建宏.例如:

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

创建一个新命令"mcd",创建一个新目录,然后更改到该目录(在这种情况下,我更喜欢"pushd"到"cd",因为它让我以后使用"popd"回到我以前的位置)

$*将替换为宏后命令行的其余部分,$ T用于分隔我要评估的两个不同命令.如果我输入:

mcd foo/bar 

在命令行,它将等同于:

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

下一步是创建一个包含一组宏的文件,然后可以使用/ macrofile开关导入这些宏.我有一个文件(c:\ tools\doskey.macros),它定义了我经常使用的命令.应在具有与上述相同语法的行上指定每个宏.

但是,您不希望每次启动新的命令解释程序时手动导入宏,以使其自动发生,只需打开注册表项

HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\AutoRun并将值设置为doskey/macrofile"c:\ tools\doskey.macro".这样做可确保每次启动新解释器时都自动预定义宏.

额外的想法: - 如果你想在AutoRun中做其他事情(比如设置环境参数),你可以用&符号分隔命令.我看起来像:set root = c:\ SomeDir&doskey/macrofile"c:\ tools\doskey.macros" - 如果您希望按用户设置AutoRun设置,则可以使用HKCU节点而不是HKLM. - 您还可以使用doskey来控制命令历史记录的大小. - 我喜欢使用\ $*结束我的所有导航宏,以便我可以将事物链接在一起 - 如果您希望能够处理包含空格的路径,请小心在宏中添加适当的引号.



2> DieterDP..:

对于简单的情况,我一直在寻找这个确切的功能.找不到解决方案,所以我自己做了一个:

@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

您可以列出,创建和删除书签.书签存储在用户目录的文件夹中的文本文件中.

用法(从当前版本复制):

用于终端的文件夹书签.

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>

每个warp都使用pushd命令,因此您可以使用popd追溯您的步骤.

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

使用,在资源管理器中打开书签的文件夹warp /window .

列出所有可用选项warp /?.

推荐阅读
mylvfamily
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有