batch | toegang geweigerd bij 'label'

Status
Niet open voor verdere reacties.

That Guy

Meubilair
Lid geworden
28 nov 2006
Berichten
5.010
Ik heb een batch-file waarin dit staat:

Code:
label C: hardeschijf

dit werkt perfect. Als ik alleen een virtueele hard-disc wil renamen (welke ik gemaakt heb via visualbasic6, define-dos-device api en leid naar het bureablad) geeft hij een "Toegang geweigerd" error.
Code:
label Z: hardeschijf2
Als ik hetzelfde probeer met de J schrijf (die's van deamon tools, een DVD drive) krijg ik echter een "deze actie word niet ondersteund" terug.

Iemand een idee hoe ik de virtuele Z schijf toch kan LABEL-en?
 
Als ik me niet vergis kan je op jouw manier in windows alleen maar fysieke Volume labels veranderen. Een Virtual hdd is geen Fysiek Volume evenzo als rom drives wel of niet virtueel.

Dit kan je wel heel gemakkelijk via registry benaderen en aanpassen voor alle soorten drives.

in het register ziet dat er als volgt uit voor 1 drive (Z:).

Code:
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\DriveIcons]

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\DriveIcons\Z]

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\DriveIcons\Z\DefaultIcon]
@="C:\\WINDOWS\\system32\\compstui.dll,3"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\DriveIcons\Z\DefaultLabel]
@="BlaBla"

Met batch schrijf je dat zo:
Als je een Y: en een Z: drive hebt (Of nog meer) schrijf je voor elke DriveLetter 2 regels voor Icon en Label.. (Je kan DefaultIcon ook weglaten als je alleen maar wil labelen)
Code:
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\DriveIcons\Y\DefaultIcon" /ve /d "C:\WINDOWS\system32\compstui.dll,3"
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\DriveIcons\Y\DefaultLabel" /ve /d "BlaBla"
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\DriveIcons\Z\DefaultIcon" /ve /d "C:\WINDOWS\system32\compstui.dll,3"
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\DriveIcons\Z\DefaultLabel" /ve /d "BlaBla"



Resultaat voorbeeld drive Z: (Virtual drive van Alcohol)
DriveIcon.jpg



Onderstaande link kan je zien hoe je de Icon Index (Number) uit dll files kan halen (Onderste 2 afbeeldingen)
http://www.microsoft.com/technet/scriptcenter/resources/qanda/aug05/hey0812.mspx

:)
 
Laatst bewerkt:
Hey,

dank je, maar ik zal het dus weer via het register doen (dat wilde ik zo veel mogelijk voorkomen) maar alsnog erg bedankt!

vraag opgelost :thumb:
 
nooooooo

Met batch schrijf je dat zo:
Als je een Y: en een Z: drive hebt (Of nog meer) schrijf je voor elke DriveLetter 2 regels voor Icon en Label.. (Je kan DefaultIcon ook weglaten als je alleen maar wil labelen)
Code:
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\DriveIcons\Z\DefaultIcon" /ve /d "C:\WINDOWS\system32\compstui.dll,3"
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\DriveIcons\Z\DefaultLabel" /ve /d "BlaBla"

Als ik dit gebruik krijg ik (via de batch file met die code, reg.bat) een leuke loop (tenminste, dat denk ik, ik zie de regel oneindig keer herhaald worden...) en werkt het dus niet.

How come? Als ik het op mijn externe hard drive doe (L:) dan werkt het ook niet & zie je de code ook steeds herhalen.


EDIT: via het register gekeken, het bestaat dus wel (Z -> DefaultLabel -> (standaard) ) maar die is leeg, als ik m dan aanpas werkt het wel. Er is dus iets fout in het batch bestand....
 
Laatst bewerkt:
Als ik dit gebruik krijg ik (via de batch file met die code, reg.bat) een leuke loop (tenminste, dat denk ik, ik zie de regel oneindig keer herhaald worden...) en werkt het dus niet.

How come? Als ik het op mijn externe hard drive doe (L:) dan werkt het ook niet & zie je de code ook steeds herhalen.


EDIT: via het register gekeken, het bestaat dus wel (Z -> DefaultLabel -> (standaard) ) maar die is leeg, als ik m dan aanpas werkt het wel. Er is dus iets fout in het batch bestand....

Inderdaad :confused: snap het ook effe niet meer, in het verleden deze manier gewoon kunnen gebruiken in batch zonder problemen, maar ik heb zelf al heel lang geen batch meer gemaakt. Deze code doet het wel gewoon als je het in command line in typed en zo heb ik het uitgeprobeerd.. Er zijn anders verschillende manieren om register aanpassingen in batch te schrijven.. Zo kan je ook .reg files importeren met reg.exe.. Even googlen en je vind genoeg.. ;)
 
Als ik dit gebruik krijg ik (via de batch file met die code, reg.bat) een leuke loop (tenminste, dat denk ik, ik zie de regel oneindig keer herhaald worden...) en werkt het dus niet.

Uhmm.. da's niet zo raar. Je hebt bestand reg.bat genoemd, en je wilt het programma reg.exe uit de windows\system32 folder opstarten. Dos (en ook de cmd interpreter) zoekt eerst naar een .com, dan een .exe en tenslotte een .cmd en .bat bestand in de actieve directory, als dat niet gevonden kan worden, wordt het path afgezocht. In jouw geval vindt reg.bat dus meteen het programma reg.bat en roept dus zichzelf aan...
je kunt het oplossen door je batchfile een andere naam te geven of de verrwijzing in reg.bat naar een volledig path te zetten (c:\windows\system32\reg.exe add etc)
 
Ah, splendid!

Na het renamen naar wasd.bat werkte het perfect (hoewel hij vroeg of-ie mocht overwriten).

Bedankt!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan