【发布时间】:2020-04-14 20:03:12
【问题描述】:
我制作了这个脚本,它应该根据 C 盘的空间大小来改变文本的颜色。但它只会更改为提到的颜色。例如,如果我把 :红色 进而 :蓝色, 它只会变成红色并忽略蓝色部分。 这是我的脚本的代码。如果可以的话,请告诉我如何解决它。
@echo off
title Disk Space Calculator
:Welcome
echo Welcome to the Disk Space Calculator (DSC)! This program will change colour depending on disk space. For example...
echo 2TB - 1TB Cyan
echo 1TB - 750GB Blue
echo 750GB - 500GB Green
echo 500GB - 250GB Yellow
echo 250GB - 100GB Orange
echo 100GB or less Red
echo This program is recommended for disk with 2TB or less.
echo Please not that available space will be measured in bytes.
pause
goto Calculation
:Calculation
cls
FOR /F "tokens=3 USEBACKQ" %%F IN (`dir /-c /w C:`) DO set "size=%%F"
echo Your disk has %size% bytes of space
if %size%=="2199023255552" goto Cyan
if %size%=="1099511627776" goto Blue
if %size%=="805306368000" goto Green
if %size%=="536870912000" goto Yellow
if %size%=="268435456000" goto Orange
if %size%=="107374182400" goto Red
:Cyan
color b
pause
exit
:Blue
color 1
pause
exit
:Green
color a
pause
exit
:Yellow
color e
pause
exit
:Orange
color 6
pause
exit
:Red
color 4
pause
exit
【问题讨论】:
-
如果您期望硬盘空间完全匹配非常特定的字节数,我认为您应该考虑进行抽奖。很有可能会报告大小,并且控制台颜色会在关闭前变为青色,即使您解决了主要问题也是如此。您的主要问题是未引用的变量值永远不会匹配引用的一系列数字。 (
If "%var%" == "string") -
哦,好的,谢谢你告诉我。
标签: batch-file colors goto