Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] чекнуть сотни файлов на exist (http://forum.oszone.net/showthread.php?t=286454)

csp 14-08-2014 01:57 2389009

чекнуть сотни файлов на exist
 
у меня бекграунды лежат в архиве от 1 до 999 например. к нему прилагается скриншот. с аналогичным названием
пример:

1.rar
1.jpg

2.rar
2.jpg

помогите составить батник с exists чтобы чекнуло наличие обоих файлов от 1 до 999
взглядом уже надоело чекать. просто скрипт распаковки архива если не находит изза ошибки то распаковка посередине прерывается.
хочется удостоверится что архивы все на месте и идут попорядку 1.rar , 2.rar и тд

Iska 14-08-2014 02:34 2389016

Код:

@echo off
setlocal enableextensions enabledelayedexpansion

for /l %%i in (1,1,999) do for %%j in ("rar" "jpg") do (
        set sFile=%%~i.%%~j
        <nul set /p sVar=!sFile!       
        if exist "!sFile!" (
                echo *
        ) else (
                echo.
        )
)

endlocal
exit /b 0


megaloman 15-08-2014 15:33 2389738

Позаимствовал у Iska кусок кода, предлагаю решение, более наглядное, с моей точки зрения, для анализа наличия файлов. Решение работает для нескольких расширений.
Код:

Echo Off

SetLocal EnableExtensions EnableDelayedExpansion

Echo %Date% %Time% >"%0.log"

for /l %%i in (1,1,999) do (
        Set "Znak="
        Set "nExt="

        for %%j in (rar jpg dbf) do (
                Set "Out=%%i.%%j        "
                Set Out=!Out:~0,8!

                If Exist %%i.%%j (
                        Set "Znak=!Znak!+"
                        Set "nExt=!nExt! +!Out!"
                ) Else (
                        Set "Znak=!Znak!-"
                        Set "nExt=!nExt! -!Out!"
                )
        )
        Echo !Znak! !nExt!
        Echo !Znak! !nExt! >>"%0.log"
)
Start notepad "%0.log"


kiripanda 17-08-2014 15:16 2390397

Код:

@echo off &setlocal enabledelayedexpansion

for /f "delims=" %%a in ('dir /b *.rar *.jpg') do set "%%~na=!%%~na!%%~xa"

del /q log.txt
for /l %%i in (1,1,999) do (
        if /i not "!%%i!"==".rar.jpg" echo %%i: !%%i!>>log.txt
)
endlocal

start log.txt



Время: 04:31.

Время: 04:31.
© OSzone.net 2001-