1

Я получаю эту ошибку, когда использую функцию FIND во вложенном цикле FOR и операторы IF в пакетном файле.

'find' не распознается как внутренняя или внешняя команда, работающая с программой или командным файлом

Я пытаюсь найти самые большие файлы в каталоге:

SET /P number=Enter the number of files to find:

for /l %%x in (1,1,!number!) do (

for /r %%h in (*) do (
IF %%x GTR 1 IF !check! geq %%~zh (
IF !check! equ %%~zh (
echo !chkn!
FIND "!chkn!" Biggest.txt
IF %errorlevel% equ 1 set res=notfound
FIND "!chkp!" Biggest.txt
IF %errorlevel% equ 1 set res=notfound
IF "!res!" equ "notfound" (
IF !tes! LSS %%~zh (
SET  tes=%%~zh
SET  name=%%~nh
SET  path=%%~ph
)
)
)
IF !tes! LSS %%~zh (
SET  tes=%%~zh
SET  name=%%~nh
SET  path=%%~ph
)
)
IF %%x equ 1 (
IF !tes! LSS %%~zh (
SET  tes=%%~zh
SET  name=%%~nh
SET  path=%%~ph
)
)
)

SET check=!tes!
SET chkn=!name!
SET chkp=!path!

echo !chkn!
echo !check!

echo %%x number: >> Biggest.txt
echo name = !chkn! >> Biggest.txt
echo size = !check! >> Biggest.txt
echo path = !chkp! >> Biggest.txt
echo file is created
SET tes=0
)

1 ответ1

1

Несмотря на отсутствие подробностей, я думаю, что ваша команда Find не использует c:\windows\system32\

Это работает

SET /P number=Enter the number of files to find:

for /l %%x in (1,1,!number!) do (

for /r %%h in (*) do (
IF %%x GTR 1 IF !check! geq %%~zh (
IF !check! equ %%~zh (
echo !chkn!
c:\windows\system32\FIND "!chkn!" Biggest.txt
IF %errorlevel% equ 1 set res=notfound
c:\windows\system32\FIND "!chkp!" Biggest.txt
IF %errorlevel% equ 1 set res=notfound
IF "!res!" equ "notfound" (
IF !tes! LSS %%~zh (
SET  tes=%%~zh
SET  name=%%~nh
SET  path=%%~ph
)
)
)
IF !tes! LSS %%~zh (
SET  tes=%%~zh
SET  name=%%~nh
SET  path=%%~ph
)
)
IF %%x equ 1 (
IF !tes! LSS %%~zh (
SET  tes=%%~zh
SET  name=%%~nh
SET  path=%%~ph
)
)
)

SET check=!tes!
SET chkn=!name!
SET chkp=!path!

echo !chkn!
echo !check!

echo %%x number: >> Biggest.txt
echo name = !chkn! >> Biggest.txt
echo size = !check! >> Biggest.txt
echo path = !chkp! >> Biggest.txt
echo file is created
SET tes=0
)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .