Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Command line 是否有任何方法可以自动将命令历史保存到cmd.exe中的文件中,类似于bash';什么是巴什胡历史?_Command Line_Batch File_Command_Cmd - Fatal编程技术网

Command line 是否有任何方法可以自动将命令历史保存到cmd.exe中的文件中,类似于bash';什么是巴什胡历史?

Command line 是否有任何方法可以自动将命令历史保存到cmd.exe中的文件中,类似于bash';什么是巴什胡历史?,command-line,batch-file,command,cmd,Command Line,Batch File,Command,Cmd,我知道一个人可以做到 doskey /history 在特定时间点保存命令历史记录,但我想知道是否有一种方法可以在命令发出时主动将命令历史记录保存到文件中 命令提示符关闭后,历史记录将丢失,因此在关闭命令提示符时很容易意外关闭命令提示符 我想说的是: log Commands.log 然后发出我的命令,并将命令保存到commands.log。您可以创建一个doskey宏来重新映射EXIT命令,如下所示: doskey exit=doskey/history$g$gc:\temp\comma

我知道一个人可以做到

doskey /history 
在特定时间点保存命令历史记录,但我想知道是否有一种方法可以在命令发出时主动将命令历史记录保存到文件中

命令提示符关闭后,历史记录将丢失,因此在关闭命令提示符时很容易意外关闭命令提示符

我想说的是:

log Commands.log

然后发出我的命令,并将命令保存到commands.log。

您可以创建一个doskey宏来重新映射EXIT命令,如下所示:

doskey exit=doskey/history$g$gc:\temp\commands.log$texit $1 $2
这将在每次键入“exit”退出提示符时,将命令历史记录的内容附加到名为“c:\temp\commands.log”的文件中

注意:我还没有测试过将此与出口的“/B exitCode”参数一起使用的潜在副作用,但不应该有任何副作用,因为您正在使用“$1$2”捕获参数

这并不完全符合您的要求,但只要您使用exit退出(而不是仅仅关闭窗口),它就会捕获您的命令历史记录

有关DOSKEY宏的更多信息和示例如下:
我知道已经晚了,但我可以看到两种选择

Firt或更完整的东西,包括


每次打开cmd时,它都会叮当作响,效果很好,正如Novy所说的,试试叮当;但是也可以使用下面的链接,这样它也可以在管理模式下工作。


该命令运行良好,但您必须指定一个已经存在的目录-它不会为您创建目录。从这里我可以看出,这个宏只在当前dos会话期间有效。因此,每次打开命令提示符时都必须键入此命令。如果使用以下目标创建快捷方式:
%windir%\system32\cmd.exe/K doskey exit=doskey/history$g$g%USERPROFILE%\commands.log$texit$1$2
此a)遵循unix将其保存到主目录的概念,b)此命令在您运行此快捷方式时运行,因此您不必每次都键入它