2017-08-04 3 views
0

OK、基本的には、カンマ区切りのCSVに行をエコーし​​ます。金額またはディスクスペースの変数に先行する空白を埋め込む行番号

これは何が起こっているかである。

これが出力されます:

Computer1 Fri 08/04/2017 13:20 110 917 340 907 
Computer2 Fri 08/04/2017 13:21 110 917 435 852 
Computer3 Fri 08/04/2017 12:39 180 92 916 
Computer4 Fri 08/04/2017 12:35 232 353 720 

私が欲しい:

Computer1 Fri 08/04/2017 13:20 110 917 340 907 
Computer2 Fri 08/04/2017 13:21 110 917 435 852 
Computer3 Fri 08/04/2017 12:39  180 92 916 
Computer4 Fri 08/04/2017 12:35  232 353 720 

は、私はすべての第三右寄せ文字のコンマでリードしたいです、値は正しく整列します。

現在のフォルダサイズを計算するためにフォルダのサイズが取得されており、その後は毎週成長を判断するために再度取得されます。

私は苦労しています部分はこれです:

for /f "tokens=1-2 delims= " %%a in ('C:\du64.EXE -v -q -nobanner C:\Temp^|find "Size:"') do SET DISKSIZE=%%b 
ECHO. "%DISKSIZE%" ** 

(。これは、カンマを含む値を与えるEX 12345678910)

ECHO. %COMPUTERNAME%,%DATE%,%TIME:~0,5%,%DISKSIZE%,%PROCESSOR_ARCHITECTURE%>> "C:\DUOutput.CSV" 
+0

'Computer3'行の' 92'は右寄せにする必要があります。それは間違っているだけです。私が必要とするのは、あなたが「望む」コードがコードの最後の行とどのように関係しているかについての説明です。なぜなら、それはまったく見えないからです。 – Compo

答えて

1
...set "DISKSIZE=      %%b" 
echo %disksize:~-15% 

あなたが92を取得している理由はありませんアイデアあなたのデータには何も、lead with a comma for every 3rd right-justified characterの意味はありません。

set /?|moreを参照してください。私は%%bの前に何くらいのスペースを置いたのか分かりません - 少なくとも15の文字列がある限り、それはOKです。

関連する問題