次の内容のOutput.txt
ファイルがあります。
Server1
APPNAME MEMORY
WINDOWS 54896378
LINUX 78542
MACOS 187963
Server2
APPNAME MEMORY
DATABASE 587412369
SCHEMA 78542
TABLESPACE 187963
Output.txt 内のすべての数値 (54896378、78542、78542 など) を検索し、それらを 1024*1024 で割るバッチ スクリプトを作成して、Newoutput.txt ファイルのメモリを BYTES で MB に変更できるようにしたいと考えています。
以下を試しましたが、欲しいものが得られませんでした:
@echo off
setlocal enabledelayedexpansion
for /F "delims= " %%a in ('findstr "[1-9][0-9]* 0"' Output.txt) do (
SET /A Result = %a / 1024*1024 > Newoutput.txt
)
EDIT1:
Output.txt
ファイルに次のコンテンツがある場合、すべて正常に動作していますが、スクリプトは値 6621212 のみを変換していませんFreePhysicalMemory
。
出力.txt:
Server1
APPNAME MEMORY
WINDOWS 54896378
LINUX 78542
MACOS 187963
FreePhysicalMemory TotalVisibleMemorySize
6621212 8387172
新しいoutput.txt:
Server1
APPNAME MEMORY
WINDOWS 13.58
LINUX 2.45
MACOS 1.8
FreePhysicalMemory TotalVisibleMemorySize
6621212 21.4
スクリプトにどのような変更を加える必要がありますか..?