0

こんにちは、よろしくお願いします。

私はバッチファイルを開発する初心者ですが、現在、ldif ファイルを作成して書き込むバッチファイルを作成しようとしています。私は何か簡単なものから始めています。また、プロセスがより複雑になる可能性があり、後でソフトウェアの比較が必要になる可能性があるため、プロセスの時間を計る必要があります (後でバットと Java を比較するなど)。

今、私はこれだけを手に入れました:

@ echo "LDIF Generator"
@ echo off
:: *** Enter the file here "within the double quotes"
set fileName="test.ldif"
:: *** If file exists, then erase all previous content
::if exist %fileName% ECHO Erase the file >%fileName%

echo Hello>%fileName%
echo Created LDIF File %fileName%


set /a sum = 0
for /L %%A in (1,1,5) do (
    echo %%A>>%fileName%  set a/ sum =  "%sum% + %%A"
)
echo sum is %sum%
pause

私は現在、いくつかの数字を合計してプロセスの時間を計る方法を見つけようとしています。

これまでのところ、次の出力が得られます。

Hello
1  set a/ sum =  0 + 1
2  set a/ sum =  0 + 2
3  set a/ sum =  0 + 3
4  set a/ sum =  0 + 4
5  set a/ sum =  0 + 5

そしてcmd sumは「0」です

現在の反復合計を表示し、最後に最後に合計をエコーバックし、それを行うのにかかる時間を試みています。

4

3 に答える 3

1

バッチでの時間計算は首の大きな痛みです。バッチ スクリプトから外部ツールまで、さまざまな方法について、この質問への回答を確認してください。個人的には、PowerShellMeasure-Commandコマンドレットの方が好きです。

于 2013-07-10T22:57:10.827 に答える
0

Endoro のコードなどを使用します。その方が簡単です。しかし、説明として...あなたのようなコードを使用するには、遅延拡張を有効にして使用する必要があります!FOR または IF 構文内の % の代わりに、ロード時の値の代わりに変数 sum の実行時の値を使用することを指定します。

setlocal enabledelayedexpansion
set /a sum = 0
for /L %%A in (1,1,5) do (
    echo %%A>>%fileName%  set a/ sum =  "!sum! + %%A"
)
echo sum is %sum%
endlocal
于 2013-07-11T07:05:25.430 に答える