[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[技术讨论] vbs控制台输出带有颜色的字符函数

  1. Sub print(text,ForegroundColor,BackgroundColor,Style1,style2)
  2.     Set Color = CreateObject("Scripting.Dictionary")'抄自@老刘一号 TerminalController.vbs
  3.     Set Color1 = CreateObject("Scripting.Dictionary")
  4.     Set Styles = CreateObject("Scripting.Dictionary")
  5.     With Color'back
  6.         .Add "Black", 40
  7.         .Add "Red", 41
  8.         .Add "Green", 42
  9.         .Add "Yellow", 43
  10.         .Add "Blue", 44
  11.         .Add "Magenta", 45
  12.         .Add "Cyan", 46
  13.         .Add "White", 47
  14.         .Add "BrightBlack", 100
  15.         .Add "BrightRed", 101
  16.         .Add "BrightGreen", 102
  17.         .Add "BrightYellow", 103
  18.         .Add "BrightBlue", 104
  19.         .Add "BrightMagenta", 105
  20.         .Add "BrightCyan", 106
  21.         .Add "BrightWhite", 107
  22.         .Add "Default", 49
  23.     End With
  24.     With color1'front
  25.         .Add "Black", 30
  26.         .Add "Red", 31
  27.         .Add "Green", 32
  28.         .Add "Yellow", 33
  29.         .Add "Blue", 34
  30.         .Add "Magenta", 35
  31.         .Add "Cyan", 36
  32.         .Add "White", 37
  33.         .Add "BrightBlack", 90
  34.         .Add "BrightRed", 91
  35.         .Add "BrightGreen", 92
  36.         .Add "BrightYellow", 93
  37.         .Add "BrightBlue", 94
  38.         .Add "BrightMagenta", 95
  39.         .Add "BrightCyan", 96
  40.         .Add "BrightWhite", 97
  41.         .Add "Default", 39
  42.     End With
  43.     With styles
  44.         .Add "normal", 0
  45.         .Add "bold", 1
  46.         .Add "dim", 2
  47.         .Add "italic", 3
  48.         .Add "underline", 4
  49.         .Add "blink", 5
  50.         .Add "reverse", 7
  51.         .Add "invisible", 8
  52.         .Add "strikeout", 9
  53.     End With
  54.     If IsNumeric(ForegroundColor) Then
  55.         'do nothing
  56.     ElseIf VarType(ForegroundColor) = 8 Then
  57.         If color1.exists(ForegroundColor) Then
  58.             ForegroundColor = color1.item(ForegroundColor)
  59.         Else
  60.             ForegroundColor = 39
  61.         End If
  62.     Else
  63.         ForegroundColor = 39
  64.     End If
  65.     BackgroundColor = formatcolor(color,BackgroundColor)
  66.     ForegroundColor = formatcolor(color1,ForegroundColor)
  67.     style1 = formatcolor(styles,style1)
  68.     style2 = formatcolor(styles,style2)
  69.     WScript.stdout.write Chr(27) & "[4;" & ForegroundColor & ";" & BackgroundColor & ";" & style1 & ";" & style2 & "m" & text & Chr(27) & "[0m"
  70. End Sub
  71. Function formatcolor(obj,ByVal input)
  72.     If IsNumeric(input) Then
  73.         'do nothing
  74.     ElseIf VarType(input) = 8 Then
  75.         If obj.exists(input) Then
  76.             input = obj.item(input)
  77.         Else
  78.             input = 0
  79.         End If
  80.     Else
  81.         input = 0
  82.     End If
  83.     formatcolor = input
  84. End Function
  85. print "1","White","Red",1,4
  86. 'print [输出文字],[前景颜色],[背景颜色],[样式1],[样式2]
  87. WScript.stdin.readline
复制代码
ps:为什么我用不了TerminalController.vbs?

返回列表