Eu tinha um arquivo em lotes simples que usaria no Windows XP para criar um conjunto de subpastas específicas dentro de uma pasta. Eu o configurei como um menu de contexto com o botão direito do mouse para que, ao clicar com o botão direito do mouse em uma pasta no Windows Explorer, eu pudesse executar o arquivo em lotes e criar as 10 pastas específicas nele.
Mudei o mesmo arquivo em lotes para o Windows 7. Posso executar o arquivo em lotes manualmente e ele funciona bem; no entanto, quando o executo no menu de contexto Clique com o botão direito do mouse, todas as pastas são criadas no diretório \ Windows \ System32 \, não no frio que eu tinha clicado com o botão direito.
Eu sei que o "Diretório Atual" no Windows XP costumava carregar o valor da pasta clicada com o botão direito do mouse. Agora, no Windows 7, o valor do Diretório Atual parece mudar para a pasta System32.
Eu estava tentando encontrar uma maneira de ler o diretório atual em que o mouse clicou com o botão direito, mas não consigo encontrar esse valor. "CD" é a pasta System32 no início da execução do lote.
Alguma sugestão?
Respostas:
Você pode alterar a
command
entrada no registro para adicionar um parâmetro:e use esse parâmetro no arquivo em lotes:
Quanto à confusão, acho que o diretório de trabalho do processo iniciado para um comando shell nunca foi realmente especificado, portanto pode ser qualquer coisa. E o Windows 7 introduziu bibliotecas que provavelmente poderiam levar a pastas residindo em "não caminhos".
fonte