我尝试使用this答案中的批处理脚本为控制台中的某些文字着色。
不幸的是,我有一些非预期的行为,使用´3 :s
作为string
进行调用,创建了一个名为“┬┤3”的文件,带有一个尾随空格。
Windows(10)(使用NTFS的硬盘)以某种方式无法处理文件名中的尾随空格,因此我无法摆脱它。
我尝试在Windows资源管理器和Total Commander中使用delete
,rename
,move
- 都失败了。
使用命令提示符:DEL
,MOVE
和其他人导致“无法找到”
使用ATTRIB
输出:“符号链接的目标”┬┤3“不存在”
要在当前目录中创建此类文件:
SETLOCAL EnableDelayedExpansion
for /F "tokens=1,2 delims=#" %%a in ('"prompt #$H#$E# & echo on & for %%b in (1) do rem"') do (
set "DEL=%%a"
)
call :colorEcho 09 "´3 :s `"
exit
:colorEcho
echo off
<nul set /p ".=%DEL%" > "%~2"
findstr /v /a:%1 /R "^$" "%~2" nul
del "%~2" > nul 2>&1i
答案 0 :(得分:2)
对于文件I / O,&#34; \\?\&#34;路径字符串的前缀告诉Windows API禁用所有字符串解析并将其后面的字符串直接发送到文件系统。
要在批处理脚本路径中创建文件:
> "\\?\%~dp0´3 :s " type nul
删除:
del "\\?\%~dp0´3 "
:s
是一个NTFS流后缀,可以省略删除文件的任务。