如何将超长批量TSLint命令改写为易读的多行格式?
如何在批处理中将长TSLint命令拆分为多行?
刚好遇到过类似的场景,在Windows批处理脚本里拆分长命令其实很简单,用**脱字符^**作为行延续符就行,下面给你具体的改写方案和注意事项:
直接拆分命令到多行
你只需要在每行的末尾加上^,并且保证^是该行的最后一个字符(后面不能有任何空格),就可以把长命令拆分成可读性更强的多行:
tslint ^ -c ../tslint.json ^ --project tsconfig.json ^ --out output.txt ^ --format msbuild ^ -e '**/bin/Debug/**' ^ -e '**/fonts/**' ^ -e '**/images/**' ^ -e '**/Scripts/**' ^ -e '**/typings/**' ^ -e 'file1.ts' ^ -e 'file2.ts' ^ -e 'file3.ts' ^ -e 'file4.ts' ^ ...
关键注意事项:
^必须是每行的最后一个字符,后面绝对不能加空格,否则批处理会把空格和^一起当成命令的一部分,导致执行报错。- 你可以给每行的参数前加几个空格来对齐,这些空格会被批处理自动忽略,不会影响命令的执行效果,只是为了让代码更整洁。
- 最后一行的参数后面不需要加
^,直接收尾即可。
进阶优化:用文件管理排除规则
如果你的排除项特别多,还可以把所有排除规则整理到一个单独的文本文件里,用TSLint的--exclude-glob-from参数来引用,这样批处理命令会更简洁:
- 先创建一个
exclude-list.txt文件,每行写一个排除规则:
**/bin/Debug/** **/fonts/** **/images/** **/Scripts/** **/typings/** file1.ts file2.ts file3.ts file4.ts
- 然后修改批处理命令:
tslint ^ -c ../tslint.json ^ --project tsconfig.json ^ --out output.txt ^ --format msbuild ^ --exclude-glob-from exclude-list.txt
这种方式后续添加或删除排除项时,直接修改exclude-list.txt就行,不用动批处理脚本,维护起来更方便。
内容的提问来源于stack exchange,提问作者Lemec Cinq
相关产品推荐
相关产品推荐

