Board logo

标题: [技术讨论] vbs控制台输出带有颜色的字符函数 [打印本页]

作者: jyswjjgdwtdtj    时间: 2024-4-27 20:48     标题: 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?




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2