Eu tenho procurado por uma solução para isso, mas a coisa mais próxima que eu criei foi adicionar um novo item ao menu de contexto que chama um script que faz uma cópia de um arquivo de modelo.
Isso não é realmente o que eu quero, mas isso pode dar uma ideia a alguém, então vou postar isso de qualquer maneira.
Primeiro, procurei uma maneira de adicionar um item ao menu de contexto. Por exemplo, prompt de comando. A seguir, a chave do registro faz o trabalho.
Windows Registry Editor Version 5.00
; Directory\Background\shell => on empty space
[HKEY_CLASSES_ROOT\Directory\Background\shell\cmd]
"Icon"="cmd.exe,0"
@="Command Prompt"
[HKEY_CLASSES_ROOT\Directory\Background\shell\cmd\command]
@="cmd.exe"
; Directory\shell => on a folder
[HKEY_CLASSES_ROOT\Directory\shell\cmd]
@="Command Prompt"
"Icon"="cmd.exe,0"
[HKEY_CLASSES_ROOT\Directory\shell\cmd\command]
@="cmd.exe /k cd %1"
Em seguida, desejo adicionar um item que crie um arquivo, por exemplo, um arquivo CSS.
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Directory\Background\shell\CSS]
@="Cascading Style Sheet Document"
"Icon"="%SystemRoot%\SysWow64\SHELL32.dll,69"
[HKEY_CLASSES_ROOT\Directory\Background\shell\CSS\command]
@="C:\Windows\CustomNew\css.bat"
Semelhante à chave de registro do Prompt de Comando, isso adicionará um item ao menu de contexto, mas, em vez de executar um aplicativo, ele chama um arquivo bat. Conteúdo do arquivo bat:
@echo off
copy C:\Windows\ShellNew\css.css %cd%
rename css.css "New Cascading Style Sheet Document.css"
Eu tenho um arquivo de modelo css.css
em C:\Windows\ShellNew
. Eu simplesmente faço uma cópia do arquivo de modelo no diretório onde clico com o botão direito e escolho Cascading Style Sheet Document
.
Claroquenãousareiestemétodo.Issosócomplicaaindamaisascoisas.Imaginetertodososarquivosbat,css,html,jsephpnomenudecontexto.Euaindaprecisodeumasoluçãomelhor.
Atualização:
Eupossoterencontradoumasolução.Artigooriginal:
Adicionando o menu personalizado ao menu de contexto:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Directory\Background\shell\Coding]
"Icon"="C:\Windows\CustomNew\coding.ico"
"MUIVerb"="Coding"
"SubCommands"="cmd;css;html;js;php;bat"
"Position"="Top"
Para que este menu funcione, precisamos definir esses comandos cmd
, css
, html
, etc. Por exemplo, definindo o Prompt de Comando:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\cmd]
@="Command Prompt"
"Icon"="cmd.exe,0"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\cmd\command]
@="cmd.exe"
Clicar no Prompt de Comando no menu executará cmd.exe
. Isso é simples. Parte complicada é adicionar um item / aplicativo que cria um novo arquivo.
Vamos começar com um arquivo CSS. O registro a seguir adicionará o item ao menu.
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\css]
@="Cascading Style Sheet Document"
"Icon"="%SystemRoot%\System32\shell32.dll,-151"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\css\command]
@="C:\Windows\CustomNew\css.bat"
Embora tenhamos um novo item com o nome "Documento em folha de estilo em cascata", clicar nele normalmente não faria nada. Para criar um novo arquivo na pasta atual, chamamos um script.
Eu preparei um script em lote para cada tipo de arquivo que desejo criar; bat.bat
, css.bat
, html.bat
, etc. e os colocou em C:\Windows\CustomNew
. Também coloquei os arquivos de modelo bat.bat
, css.css
, html.html
, etc. em C:\Windows\ShellNew
.
Portanto, sempre que clico em "Documento em folha de estilo em cascata" no menu, eu chamo o css.bat
que faz uma cópia do arquivo de modelo css e o coloca na pasta atual.
css.bat
file:
@echo off
copy C:\Windows\ShellNew\css.css "%cd%"
rename css.css "New Cascading Style Sheet Document.css"
Seria melhor criar um novo arquivo css sem chamar nenhum script, mas não acho que seja possível. No entanto, se alguém tiver alguma ideia, adoraria ouvi-la.
Olhe para isso. É lindo:)