PDA

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


Страниц : [1] 2

denis19
04-07-2023, 19:50
Всем привет. Помогите с бантиком, или команда в реестр. Кнопка в контекстном меню, выделяет в папке все файлы того типа, на которую нажал мышью.
Вот в реестр есть похожие примеры, тоже по типу, только эти удаляют, либо оставляют.

Удалить все, кроме файлов этого типа
cmd.exe /q /c color 17 & (for /f "tokens=*" %%a in ("%1") do (for /f "delims=" %%i in ('dir "%%~dpa" /b /a:d 2^>nul') do rd /s /q "\\?\%%~dpa%%i") & (for /f "delims=" %%i in ('dir "%%~dpa" /b /a:-d 2^>nul ^| findstr /iv "%%~xa"') do del /f /q /a "\\?\%%~dpa%%i"))

Удалить только файлы этого типа
cmd.exe /q /c color 17 & (for /f "tokens=*" %%a in ("%1") do cd /d "%%~dpa" && del /f /q /a "*%%~xa")

А нужно выделение этого типа файлов на который нажал через контекстное меню. Заранее спасибо.

NickM
04-07-2023, 20:52
Помогите с бантиком »
Можно от данного примера (https://ru.stackoverflow.com/a/1006439) оттолкнуться.

denis19
04-07-2023, 21:44
Можно от данного примера оттолкнуться. »
Неа, ошибку выдаёт аж в двух окошках. Подскажите пожалуйста что дополнить-удалить там?

Serguei Kouzmine
05-07-2023, 01:38
выделяет в папке »
нужно больше информации - какой такой выделяет-шмыделяет ?
в смылсе - чего хотите добиться в итоге ?
какая изначальную цель ?

NickM
05-07-2023, 07:22
какой такой выделяет-шмыделяет? »
denis19, Сам выделяет и запускает сценарий.
Т.е. пользователю хочется автоматизировать выделение файлов в текущем окне проводника "Windows";

чего хотите добиться в итоге? »
Щёлкать по любому файлу в проводнике, вызывать по ПКМ меню, выбирать строчку "Выделить файлы по расширению", к которому присобачен какой-нибудь сценарий, и в проводнике все файлы расширения выделенного файла выделяются;

какая изначальную цель? »
Автоматизировать множественное выделение однотипных файлов, файлов с одинаковым расширением.

denis19
05-07-2023, 09:41
нужно больше информации - какой такой выделяет-шмыделяет ?
в смылсе - чего хотите добиться в итоге ?
какая изначальную цель ? »
Как обычная кнопка выделить "все", только эта будет выделять тоже все, но только с тем расширением, на который нажал мышью. А цель, чтоб избавиться от лишних кнопок вариантов удаления, копирования, перемещения и пр. С одной этой "выделить" я уже сам буду делать нужные действия.

NickM
05-07-2023, 16:33
Неа, ошибку выдаёт аж в двух окошках. Подскажите пожалуйста что дополнить-удалить там? »
Так ведь это направление, с чего можно было бы начать.

Вот, второе (https://stackoverflow.com/a/18921133) направление.

В итоге, могло бы получиться что-нибудь этакое:

Запуск *.vbs сценария:
@echo off
set ext=%~x1
set ext=%ext:~1%
set cdir=%~dp0%
cscript //nologo сценарий.vbs "%cdir%" %ext%


Сам *.vbs-сценарий:
Option Explicit

Dim objFSO : Set objFSO = CreateObject("Scripting.FileSystemObject")
Dim oList : Set oList = CreateObject("System.Collections.ArrayList")
Dim objShellAPP : Set objShellAPP = CreateObject("Shell.Application")
Dim oItem
GetFileFolder objFSO.GetFolder(WScript.Arguments(0))
With objShellAPP.Windows(objShellAPP.Windows.Count - 1).document
For Each oItem In oList
.SelectItem .Folder.Items.Item(oItem), 17
Next
End With

Sub GetFileFolder(objFolder)
Dim objFile, objSubFolder
For Each objFile In objFolder.Files
If LCase(objFSO.GetExtensionName(objFile.Name)) = WScript.Arguments(1) Then
oList.Add objFile.Name
End If
Next
End Sub

Специалисты в теме, полагаю, предложат правильный вариант, а здесь просто копи-паст.

Serguei Kouzmine
05-07-2023, 16:33
к которому присобачен какой-нибудь сценарий...
я уже сам буду делать нужные действия.
о заколачивании гвоздей микроскопом мечтаете
(другими словами)

напишите ярлык в котором скриптюня в котором комдана

сделать то что надо %~d1 *.%~x1.

и его вызывайте

denis19
05-07-2023, 22:52
Запуск *.vbs сценария: »
Ни тот ни другой не работает. Я не понял как из запускать. Может их объединять надо?

NickM
06-07-2023, 06:22
Ни тот ни другой не работает. Я не понял как из запускать. Может их объединять надо? »
Работает именно так как и заявлено, смотрим:
168603

denis19
06-07-2023, 10:45
Работает именно так как и заявлено, смотрим: »
А меня почему то нет. Перепробовал все команды и в разных файлах, перетаскиванием на vbs и cmd и кнопка из реестра, не фурычит. Так же в реестре команды запуска скриптов разные, wscript //nologo my_script.vbs и cscript //nologo my_script.vbs. Но никак.
https://cloud.mail.ru/public/UT5p/mQFdY84yj

NickM
06-07-2023, 12:14
А меня почему то нет. »
1. Вы файлу *.vbs-сценария дали одно наименование:
Выделить.vbs
,а в "Выделить.cmd" вызываете как:
сценарий.vbs

2. Раз в файле "Выделить.cmd" используется кириллица, то кодировку ему следует задавать как CP866.

denis19
06-07-2023, 13:57
Раз в файле "Выделить.cmd" используется кириллица, то кодировку ему следует задавать как CP866. »
Да разные имена делал. Но нет.

NickM
06-07-2023, 14:05
Да разные имена делал. Но нет. »
Приложите, то, что Вы сделали, после сказанного Мною выше.

denis19
06-07-2023, 15:17
Приложите, то, что Вы сделали, после сказанного Мною выше. »
Я же сказал, и команды и имена у файлов самые разные, и wscript //nologo my_script.vbs и cscript //nologo my_script.vbs, и коротко vbs и cmd.http://forum.oszone.net/attachment.php?attachmentid=168604&stc=1&d=1688645790

NickM
06-07-2023, 15:29
Я же сказал, »
Прикрепите содержимое в архиве, как прикрепляли ранее - погляжу и подскажу в чём ошибка.

denis19
06-07-2023, 15:42
Прикрепите содержимое в архиве, как прикрепляли ранее »
А видео то видели в облаке? (тут не смог выложить). Там только самый верхний cmd срабатывает какой то скрытый процесс, но непонятно что именно происходит. Что ещё и куда именно прикрепить?

тут не смог выложить »

file:///C:/Users/Admin/Desktop/%D0%9D%D0%BE%D0%B2%D0%B0%D1%8F%20%D0%BF%D0%B0%D0%BF%D0%BA%D0%B0/COPYtext/%D0%9D%D0%BE%D0%B2%D0%B0%D1%8F%20%D0%BF%D0%B0%D0%BF%D0%BA%D0%B0%20(2)/%D0%94%D0%B5%D0%BC%D0%BE%D0%BD%D1%81%D1%82%D1%80%D0%B0%D1%86%D0%B8%D1%8F.gif

NickM
06-07-2023, 16:06
видели в облаке? »
Там только самый верхний cmd срабатывает какой то скрытый процесс, но непонятно что именно происходит. »
Именно на содержимое этого архива и был дан этот ответ (http://forum.oszone.net/post-3011644-12.html);

Что ещё и куда именно прикрепить? »
Таким же образом как и ранее, выложите в облако Ваш конченый вариант, с Вашими конечными правками;

+

Исправил недочёт *.cmd-сценарии, в части определения расширения (что-то упустил из виду, что расширение бывает и больше 3-х символов):
set ext=%ext:~1%

denis19
06-07-2023, 16:35
set ext=%ext:~1% »
А куда ставить или заменять вместо чего? Как в итоге будет выглядеть? У меня уже мозги пухнут. :(

NickM
06-07-2023, 17:34
А куда ставить или заменять вместо чего? Как в итоге будет выглядеть? »
Весь код в этом (http://forum.oszone.net/post-3011607-7.html) посте;

У меня уже мозги пухнут. »
Таким же образом как и ранее, выложите в облако Ваш конченый вариант, с Вашими конечными правками; »




© OSzone.net 2001-2012