Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Ветеран


Сообщения: 1274
Благодарности: 564

Профиль | Отправить PM | Цитировать


Iska,
это да, по любому, предполагал наличие только разнообразных распространенных архивов да может пару файлов txt, но конечно лучше все же, если нет уверенности в содержимом директории прописать возможные расширения и это тоже легко сделать сделать добавив их под dir
Код: Выделить весь код
...('dir /a-d/b "*.7z" "*.rar" "*.zip"')...
вообще, если увеличить несколько масштабы кода, можно сделать вариант для перебора всех возможных расширений установленной по штатному пути 7z
(надеюсь путь к dll и файлу string.txt действительно не отличается в зависимости от версий - не проверял)
Код: Выделить весь код
@echo off
set "d=C:\Folder"
set "ar=%ProgramFiles%\7-Zip\7z.exe"

call :r
pushd "%d%"
 for /f "delims=" %%a in ('dir /a-d/b %exp%') do "%ar%" x "%%a" -o"%%~na" -y
popd
pause& exit

:r
 "%ar%" x "%Programfiles%\7-Zip\7z.dll" -o$ "string.txt" -r
 for /f "delims=" %%f in ('dir /a-d/b/s "$\string.txt"') do (
  <"%%f" (for /f "delims=" %%a in ('find /n /v ""') do @>nul chcp 866& set "x=%%a"& cmd /v/c set "x=!x:*]^^=!")
 )
 for %%x in (%x%) do echo %%x|>nul find ":" && for /f "delims=:" %%a in ("%%x") do >>+<+ set /p exp=""*.%%a" "
 >nul 2>&1 del /q +& >nul 2>&1 rd /s /q $
exit /b

Последний раз редактировалось alpap, 10-06-2018 в 04:09.

Это сообщение посчитали полезным следующие участники:

Отправлено: 01:50, 10-06-2018 | #10