Имя пользователя:
Пароль:
 | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Выделение в папке всех файлов одного расширения

Ответить
Настройки темы
CMD/BAT - [решено] Выделение в папке всех файлов одного расширения

Пользователь


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

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


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

Удалить все, кроме файлов этого типа
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")

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

Отправлено: 19:50, 04-07-2023

 

Аватара для NickM

Ветеран


Contributor


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

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


Цитата denis19:
Помогите с бантиком »
Можно от данного примера оттолкнуться.

Отправлено: 20:52, 04-07-2023 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Пользователь


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

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


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

Отправлено: 21:44, 04-07-2023 | #3


Старожил


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

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


Цитата denis19:
выделяет в папке »
нужно больше информации - какой такой выделяет-шмыделяет ?
в смылсе - чего хотите добиться в итоге ?
какая изначальную цель ?

Последний раз редактировалось Serguei Kouzmine, 05-07-2023 в 04:34.


Отправлено: 01:38, 05-07-2023 | #4


Аватара для NickM

Ветеран


Contributor


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

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


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

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

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

Отправлено: 07:22, 05-07-2023 | #5


Пользователь


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

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


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

Отправлено: 09:41, 05-07-2023 | #6


Аватара для NickM

Ветеран


Contributor


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

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


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

Вот, второе направление.

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

Запуск *.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
Специалисты в теме, полагаю, предложат правильный вариант, а здесь просто копи-паст.

Последний раз редактировалось NickM, 06-07-2023 в 16:15.

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

Отправлено: 16:33, 05-07-2023 | #7


Старожил


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

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


к которому присобачен какой-нибудь сценарий...
я уже сам буду делать нужные действия.

о заколачивании гвоздей микроскопом мечтаете
(другими словами)

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

Код: Выделить весь код
сделать то что надо %~d1 *.%~x1.
и его вызывайте

Отправлено: 16:33, 05-07-2023 | #8


Пользователь


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

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


Цитата NickM:
Запуск *.vbs сценария: »
Ни тот ни другой не работает. Я не понял как из запускать. Может их объединять надо?

Отправлено: 22:52, 05-07-2023 | #9


Аватара для NickM

Ветеран


Contributor


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

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



Цитата denis19:
Ни тот ни другой не работает. Я не понял как из запускать. Может их объединять надо? »
Работает именно так как и заявлено, смотрим:
Демонстрация.zip

Отправлено: 06:22, 06-07-2023 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Выделение в папке всех файлов одного расширения

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Объединение всех файлов в папке AlexVong Скриптовые языки администрирования Windows 5 24-06-2015 23:34
CMD/BAT - [решено] Пакетное переименование файлов (синхронизирование имён одного расширения с другим) 19w85 Скриптовые языки администрирования Windows 13 04-10-2013 22:02
Любой язык - [решено] Как открыть/удалить несколько файлов одного расширения без указания имени файла 9119 Скриптовые языки администрирования Windows 1 14-12-2012 15:42
CMD/BAT - Удаление всех файлов кроме одного в подпапках SELFY Скриптовые языки администрирования Windows 2 29-07-2012 15:34
Разное - Связать расширения файлов с программой сразу для всех пользователей tj555 Microsoft Windows 2000/XP 2 24-02-2009 11:11




 
Переход