1

В последнее время я экспериментировал с пакетными файлами, и недавно я нашел ответ на старый вопрос: Hilight/ выберите файл с помощью пакетного сценария. Теперь, когда я это сделал, я хотел бы знать, можно ли использовать тот же метод с переменной формата (например, * .txt). Более конкретно, я хотел бы создать сценарий, который будет делать то же самое для файлов изображений, таких как .jpg и .png, которые будут искать все указанные форматы на данном диске или пути. Это шаблон, который я использовал:

%SystemRoot%\explorer.exe /select, "%TARGET%"

Я уже пробовал просто поместить переменные * .jpg и * .png вместо% TARGET% как с кавычками, так и без них. Я также хорошо осознаю, что это может занять огромное количество времени, учитывая количество изображений, производительность компьютера и т.д. Любая помощь приветствуется.

1 ответ1

2

Могу ли я использовать командный файл для выделения определенного формата файла?

Скорее всего, вы можете использовать пакетный скрипт, чтобы выбрать все (или выделить все) файлы с определенным расширением, которые находятся в одной папке, используя sendkeys и cscript, как в примере ниже.

Пример пакетного скрипта

Обязательно измените значение переменных SET Extension= и SET Folder= чтобы они были такими, какими вам нужно, чтобы их хватало для нужд.

Обратите внимание, что если вы хотите искать несколько расширений файлов с помощью этого метода, тогда значение переменной переменной SET Extension= должно иметь каждое расширение, разделенное OR например, если вы хотите видеть файлы TXT, PDF и BMP, вы ' d используйте SET Extension=*.txt OR *.pdf OR *.bmp .

@ECHO ON

SET Folder=C:\Users\User\Desktop\Test
SET Extension=*.txt
:::SET Extension=*.txt OR *.pdf OR *.bmp
EXPLORER "%Folder%"

:VBSDynamicBuild
SET TempVBSFile=%temp%\~tmpSendKeysTemp.vbs
IF EXIST "%TempVBSFile%" DEL /F /Q "%TempVBSFile%"
ECHO Set WshShell = WScript.CreateObject("WScript.Shell") >>"%TempVBSFile%"
ECHO Wscript.Sleep 900                                    >>"%TempVBSFile%"
ECHO WshShell.SendKeys "{F3}"                             >>"%TempVBSFile%"
ECHO Wscript.Sleep 900                                    >>"%TempVBSFile%"
ECHO WshShell.SendKeys "%Extension%"                      >>"%TempVBSFile%"
ECHO Wscript.Sleep 900                                    >>"%TempVBSFile%"
ECHO WshShell.SendKeys "{TAB 2}"                          >>"%TempVBSFile%"
ECHO Wscript.Sleep 900                                    >>"%TempVBSFile%"
ECHO WshShell.SendKeys "^a"                               >>"%TempVBSFile%"

CSCRIPT //nologo "%TempVBSFile%"

EXIT

Примечание: приведенный выше сценарий был протестирован с Windows 10.Если вы используете Windows 7, вам нужно обязательно использовать "{TAB 3}" а не "{TAB 2}" чтобы он нажимал клавишу табуляции три раза.


Дополнительные ресурсы

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .