Gie*_*ron 6 windows command-line
默认情况下,cmd 中的制表符长度为 8 个字符。有什么办法可以把它改成更小的东西吗?
我们在代码中使用制表符进行缩进。因此,来自 Mercurial(即hg diff)的diff 输出变得非常难读。
使用批处理文件,您可以使用逐行字符串替换来将制表符替换为四个空格:
@echo off
setlocal EnableDelayedExpansion
for /f "tokens=* delims=" %%a in ('hg diff') do (
set __temp=%%a
echo !__temp: = !
)
endlocal
Run Code Online (Sandbox Code Playgroud)
EnableDelayedExpansion 启用了!s 的使用以及循环内变量的修改for。
看来在这个答案中插入代码已经用制表符替换了三个空格。将其复制到批处理文件时,请确保行中的:和=之间有一个实际的制表符echo。
如果您需要运行的命令中有单引号(我实际上不知道 的完整语法hg diff),那么您必须用反引号将其括起来并启用usebackq。这意味着您不能在需要运行的命令中使用反引号。选一个。
反引号版本:
@echo off
setlocal EnableDelayedExpansion
for /f "usebackq tokens=* delims=" %%a in (`hg diff`) do (
set __temp=%%a
echo !__temp: = !
)
endlocal
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5093 次 |
| 最近记录: |