Войти

Показать полную графическую версию : [решено] чекнуть сотни файлов на exist


csp
14-08-2014, 01:57
у меня бекграунды лежат в архиве от 1 до 999 например. к нему прилагается скриншот. с аналогичным названием
пример:

1.rar
1.jpg

2.rar
2.jpg

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

Iska
14-08-2014, 02:34
@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
Позаимствовал у 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
@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




© OSzone.net 2001-2012