実行時に文字列変数を表示しないバッチスクリプトがあります。私は別のファイルを使用してこのスクリプトを実行するとバッチスクリプトで変数が表示されない
@ECHO OFF
color 0c
set /a Copyed = 1
set /a File = %random%
set /a Origin = %~z1
set /a End = 0
set /a OSize = %~z1
if %~z1 LEQ 999 (
set /a Size = %~z1
set Z="Bytes"
)
if %OSize% GEQ 1000 (
set /a OSize /= 1000
set /a OEnd += 1
)
if %OSize% GEQ 1000 (
set /a OSize /= 1000
set /a OEnd += 1
)
if %OSize% GEQ 1000 (
set /a OSize /= 1000
set /a OEnd += 1
)
if %OSize% GEQ 1000 (
set /a OSize /= 1000
set /a OEnd += 1
)
if OEnd == 1 (set OZ="KB")
if OEnd == 2 (set OZ="MB")
if OEnd == 3 (set OZ="GB")
if OEnd == 4 (set OZ="TB")
echo ::::::::::::::::::::::: > %File%
echo :::::::::::::::::::::::
echo Original File "%1" Has A Size Of %OSize% %OZ% >> %File%
echo Original File "%1" Has A Size Of %OSize% %OZ%
pause
私が手:
:::::::::::::::::::::::
Original File ""P:\Virus Testing\Fill.txt"" Has A Size Of 536
あなたがそれらのいずれを見ることができるように表示します。
:::::::::::::::::::::::
Original File ""P:\Virus Testing\Fill.txt"" Has A Size Of 536
Press any key to continue . . .
ファイルでは、私はこれが取得作成します可変%OZ%。これをどうやって解決するのですか?あなたは、あなたがバイトのためにOZ
の記述子を必要OEnd
、ないEnd
set /a OEnd = 0
を初期化する必要が
:おかげで、事前に
'セットZ =「バイト」が' 'OZ =「バイト」を'に設定する必要がありますか。 – TessellatingHeckler
'OEnd'に1を加え続けますが、上で宣言して初期化した変数は' End'です。 –
「IF」のスペースをなくしてください。 'OEnd'は ' 1 'になることはほとんどありません。 –