标签: doskey

如何删除doskey宏?

我创建了一个我要删除的doskey宏.我该如何删除它?我怎样才能看到我创建的所有宏?

windows doskey

9
推荐指数
1
解决办法
4307
查看次数

如何返回到 Windows 命令提示符中的上一个目录?

我经常想回到我刚刚在 cmd.exe 中的上一个目录,但是 windows 没有 Unix 的“cd -”功能。另外输入 cd ../../.. 是很多输入。

有没有更快的方法来提升几个目录级别?

理想情况下返回之后?

command-line cmd doskey

7
推荐指数
4
解决办法
4万
查看次数

嵌套doskey宏

我想知道是否有办法从另一个调用一个doskey宏.我尝试了以下,但它不起作用:

>doskey cleanpix=%PATH%\cleanpix.bat
>doskey cp=cleanpix
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

如果没有办法做我正在尝试做的事情,是否有另一种方法来定义cp相同的命令,cleanpix如果没有输入所有再次出现的定义?除了CTRL + C,CTRL + V当然.

cmd doskey

6
推荐指数
1
解决办法
738
查看次数

DOSKEY 别名在批处理脚本中不起作用 (Windows 7)

我通过批处理脚本 ( script1.bat )添加了一个 DOSKEY 别名,并尝试在另一个批处理脚本中调用它。它不起作用。

脚本1.bat:

set USER_SETTINGS=%DRIVE%\programme\settings.xml
DOSKEY mvn=mvn --settings %USER_SETTINGS% -X $*
Run Code Online (Sandbox Code Playgroud)

脚本2.bat:

mvn clean install
Run Code Online (Sandbox Code Playgroud)

当我mvn clean install从控制台调用时,它可以工作。调试输出即将推出。当我从同一个控制台调用script2.bat 时,没有调试输出。

任何人都可以帮忙吗?

windows cmd batch-file doskey

6
推荐指数
1
解决办法
3912
查看次数

使用 doskey 在运行时评估环境变量

我正在创建一个简单的环境设置 cmd 脚本,我正在使用它doskey来设置各种别名和宏。我所在的环境有各种存储库,我想创建一些宏来快速导航流行目录。

我目前有以下几点:

@echo off
Setlocal EnableDelayedExpansion

set PROJECTS_PATH=%SystemDrive%\Projects

echo. Updating path...

REM Update PATH here 

echo. Setting up macros...

doskey np="%SystemRoot%\System32\notepad.exe" $*
doskey np+="%ProgramFiles(x86)%\Notepad++\notepad++.exe" $*
doskey ..=cd ..
doskey trunk=set PROJECT_ROOT=%PROJECTS_PATH%\Trunk ^& cd "!PROJECT_ROOT!"
doskey trunk2=set PROJECT_ROOT=%PROJECTS_PATH%\Trunk2 ^& cd "!PROJECT_ROOT!"
doskey root=cd "%PROJECT_ROOT%"
doskey tools=cd "%PROJECT_ROOT%\tools"
Run Code Online (Sandbox Code Playgroud)

我希望发生的是我可以使用trunk宏来设置PROJECT_ROOT变量,然后使用延迟扩展导航到这个新设置的变量。然后,如果我使用该trunk2命令,它将再次重置PROJECT_ROOT变量并导航到该位置。最后,通过PROJECT_ROOT动态设置变量,无论我在哪个项目根目录下roottools宏和宏都可以相同。

不幸的是,这不起作用,因为它似乎PROJECT_ROOT在创建宏时进行了评估。所以运行宏的结果trunk是变量被设置,然后执行cd "".

有什么办法可以让宏重新评估PROJECT_ROOT变量,以防它发生变化?

batch-file doskey

6
推荐指数
1
解决办法
1285
查看次数

在DOSKEY宏中重定向STDERR和STDOUT

我试图定义一个DOSKEY宏,将STDOUT和STDERR输出重定向到一个文件.将通过运行批处理文件来设置doskey.我只能通过以下方式为STDOUT执行此操作:

doskey logged_build=build $g build.log
Run Code Online (Sandbox Code Playgroud)

但是,我不能使用典型的2>&1选项(如下所示)将STDERR输出重定向到同一文件.

doskey logged_build=build $g build.log 2>&1
Run Code Online (Sandbox Code Playgroud)

我也试过了

doskey logged_build=build $g build.log 2$g&1
Run Code Online (Sandbox Code Playgroud)

这给出了语法错误和

doskey logged_build=build $g build.log 2$g build.log
Run Code Online (Sandbox Code Playgroud)

这会导致无法访问该文件的错误,因为该文件正由另一个进程使用.

我确信这只是使用正确的宏通配符(比如使用$ g而不是>),但我已经完成了大量的谷歌搜索,但还没有找到任何东西.所以我向你们的SOFers提出了问题.

redirect stdout dos stderr doskey

5
推荐指数
1
解决办法
676
查看次数

DOSKEY 召回别名

是否可以使用 DOSKEY 调用别名?简单的例子..我想做这样的事情:

DOSKEY a=someCommand
DOSKEY b=someOtherCommand
DOSKEY c=andAThirdCommand

:: How to do this? -> DOSKEY all=a+b+c
Run Code Online (Sandbox Code Playgroud)

我已经知道我可以通过写这个来做到这一点:

DOSKEY all=someCommand ^& someOtherCommand ^& andAThirdCommand
Run Code Online (Sandbox Code Playgroud)

但在重用东西的意义上,我想重用上面定义的别名。有可能如我所愿吗?

谢谢!

PS:在这里看到了这个,但这不是一个令人满意的答案。不过好像行不通。:(

windows alias cmd batch-file doskey

5
推荐指数
1
解决办法
909
查看次数

使用 doskey 宏在 PowerShell 中设置别名

这可能吗?我试过这个博客,但它不起作用。我有一个包含大约 50 个左右的doskey宏的宏文件,用于cmd.exe.

我运行类似:

doskey /exename=powershell.exe /macrofile=C:\macrofile.txt
Run Code Online (Sandbox Code Playgroud)

或者

doskey /exename=powershell.exe blah=echo blah
Run Code Online (Sandbox Code Playgroud)

但是尝试该命令blah会出现错误:

blah :术语“blah”未被识别为 cmdlet、函数、脚本文件或可运行程序的名称。检查名称的拼写,或者如果包含路径,请验证路径是否正确,然后重试。

doskey /macros:powershell.exe但是,如果我列出它们,它们都在那里。

有没有办法在 PowerShell 中创建 50 个别名来映射到这些宏?该Set-Aliascmdlet 没有多大帮助,因为这些命令比调用简单的 PowerShell cmdlet 更复杂。有些帖子建议在 .ps1 脚本中创建函数,但是,只有当我为文件中的 50 个宏中的每一个手动编写 50 个不同的函数时,这才有效。此外,这将涉及维护两个文件 - cmd 的宏文件和将这些文件转换为函数的 PowerShell 脚本。

powershell alias doskey

5
推荐指数
1
解决办法
2527
查看次数

在管道、或、和之后保留 doskey 上下文

我以以下方式定义了多个 doskey:

doskey ll=dir $*
doskey grep=findstr $*
doskey make=mingw32-make $*
Run Code Online (Sandbox Code Playgroud)

我想在一行命令中结合使用它们,例如:

ll | grep my_folder
Run Code Online (Sandbox Code Playgroud)

或者

make && make install
Run Code Online (Sandbox Code Playgroud)

但是在第一个管道/非/和运算符之后,doskeys似乎不再存在,因为cmd将无法识别这些命令。例如,虽然单个make命令有效,但调用echo hello && make会告诉我 make 未被识别为命令。

有没有办法保留 doskey 上下文,以便我可以将它们链接在一起,如上所述?

另外,同样的问题也适用于使用 doskeys 运行批处理文件,有没有办法也保留上下文?

我听说过 doskey 的 $T 参数,但我不太确定我是否理解它。

感谢您提前的帮助

environment cmd doskey

4
推荐指数
1
解决办法
1060
查看次数

如何为多个命令定义DOSKEY别名?

在回答这个问题之后

对于Windows命令提示符,我可以如下定义别名:

@echo off
DOSKEY ns=npm start
DOSKEY nsr=npm run serve
Run Code Online (Sandbox Code Playgroud)

我想定义一个别名,它将结合这两个命令。我尝试了以下方法:

@echo off
DOSKEY nss=npm start && npm run serve
Run Code Online (Sandbox Code Playgroud)

当我尝试打开命令提示符时,窗口将打开,但>没有出现提示。

我认为将包含在内&&会引起问题。

windows command-line alias doskey

3
推荐指数
2
解决办法
1695
查看次数