任务:默认情况下,在Windows提示符中按TAB键将输出文件名,而在PowerShell中不做任何操作。我希望能够在交互模式下键入TAB字符,而不是通过脚本。
Research:我在这个网站上并通过谷歌搜索找到了类似的问题。找到的解决方案包括寻址Bash (Mac)或伊特姆 (Linux),或者建议改为另一个程序(如TweakUI )。我的问题是针对Windows PowerShell或命令提示符的。
Clarification:对我的问题是否有效的简单测试是在PS/CP中键入echo "1 TAB-method 2"
,其中TAB -方法是您关于如何插入TAB字符的建议。如果回波给出1 2
(即,1后面是TAB空间,后面是2)。这就是我要找的。
发布于 2013-12-19 13:09:36
如果有帮助,可以将制表符字符嵌入到双引号字符串中:
"`t hello"
发布于 2013-12-19 13:34:39
使用char9进行测试,如:
$Tab = [char]9
Write-Output "$Tab hello"
输出:
hello
发布于 2013-12-20 11:08:48
在Windows命令提示符中,您可以通过这样启动选项卡完成来禁用它:
cmd.exe /f:off
然后,选项卡字符将被回显到屏幕上,并按您的预期工作。或者可以禁用选项卡完成字符,或者通过修改注册表来修改用于选项卡完成的字符。
cmd.exe
帮助页面解释了这一点:
您可以使用CMD.EXE或/F:OFF开关启用或禁用特定调用/F:ON或/F:OFF的文件名完成。您可以启用或禁用计算机和/或用户登录会话上的所有CMD.EXE调用的完成,方法是使用CMD.EXE在注册表中使用REGEDIT.EXE设置其中的一个或两个REG_DWORD值: HKEY_LOCAL_MACHINE\Software\Microsoft\Command处理器\CompletionChar HKEY_LOCAL_MACHINE\Software\Microsoft\Command处理器\PathCompletionChar和/或HKEY_CURRENT_USER\Software\Microsoft\Command处理器\CompletionChar HKEY_CURRENT_USER\Software\Microsoft\Command处理器\PathCompletionChar 具有用于特定函数的控制字符的十六进制值(例如,0x4为Ctrl,0x6为Ctrl)。用户特定的设置优先于计算机设置。命令行开关优先于注册表设置。 如果使用/F:ON开关启用完成,则使用的两个控制字符是用于目录名称完成的Ctrl和用于文件名完成的Ctrl。若要禁用注册表中的特定完成字符,请使用空格(0x20)的值,因为它不是有效的控制字符。
https://stackoverflow.com/questions/20691068
复制相似问题