1

バッチ プログラミングは初めてです。バッチ スクリプトの 1 つで IF 条件を使用しようとしています。コードは次のようになります。

:rmfile
:: removes the file based on it's age.
::                     
SETLOCAL
set file=%~1
set age=%~2
set thrshld_days=40
if %age% LSS 40 
echo.%file% is %age% days old 
EXIT /b

ここでの問題は、ファイルの経過時間が 40 を超えていても、実際には発生しないはずのファイルが印刷されることです。

この点で私を助けてください..ありがとう!

4

2 に答える 2

1

1行に入れるか:

if %age% LSS 40 echo.%file% is %age% days old

またはブロック区切り文字を使用します。

if %age% LSS 40 (
    echo.%file% is %age% days old
)
于 2012-10-16T07:06:21.210 に答える
1
if %age% LSS 40 
echo.%file% is %age% days old  

echo本文が空 (1 行目) で無条件(2 行目) の条件式として解釈されます。それらを 1 行に入れる必要があります。

if %age% LSS 40 echo.%file% is %age% days old   

または括弧を使用してブロックを作成します (ただし、開き括弧は と同じ行にある必要があります) if:

if %age% LSS 40 (
   echo.%file% is %age% days old
)  
于 2012-10-16T07:07:37.493 に答える