[Win2k] Batch toevoegen aan rechtermuis op file

Pagina: 1
Acties:

  • maratropa
  • Registratie: Maart 2000
  • Niet online
Wat ik wil is een bestand of meerdere bestanden aanklikken, en dan rechtermuis klik, en uit dat menuutje een optie kiezen die een batch file over dat bestand(en) heengooit.

Nou heb ik dit registry scriptje gevonden:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\exefile\shell]

[HKEY_CLASSES_ROOT\exefile\shell\XQSHP]
@="Start &Realtime priority"

[HKEY_CLASSES_ROOT\exefile\shell\XQSHP\Command]
@="%systemroot%\\System32\\CMD.EXE /C START \"XQSHP\" /realtime \"%1\""

Dit script laat op een rechtermuis klik op een .exe file de optie "start realtime priority" zien, en als je die aan klikt doet ie het ook. (tenminste niet in windows 2000 maar dat licht aan het cmd commando)

-Ik begrijp hoe ik een context menuutje bij 1 soort bestand kan laten zien, maar hoe moet ik dat voor alle bestanden doen? Dus in plaats van "exefile" all files ofzo
-wat stelt de naam van de file/s voor? XQSHP? of %1?

dus stel ik wil met een commando.EXE 1 file bewerken, wat ik dan nu heb:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\"allfiles-is dus nog niet goed"\shell]

[HKEY_CLASSES_ROOT\"allfiles-is dus nog niet goed"\shell\Commando01]
@="Commando"

[HKEY_CLASSES_ROOT\allfiles-is dus nog niet goed\shell\Commando01\Command]
@="commando.EXE %1 (?)"

Ik hoop dat het duidelijk is :)

[ Voor 6% gewijzigd door maratropa op 10-01-2003 00:18 ]

specs


  • F_J_K
  • Registratie: Juni 2001
  • Niet online

F_J_K

Moderator CSA/PB/AI

Front verplichte underscores

Niet geheel onverwacht is het voor alle bestanden HKCR\*\shell\bla :Y)
Directories moet je nu nog apart doen, dat is HKCR\Directory. Schijven is HKCR\Drive.

edit:

En vraag 2: %1 zal dan de directorynaam zijn resp. de drivenaam.
Als je een batchbestandje maakt die niets anders doet dan de inhoud van %1 naar een bestand wegschrijven, kan je precies zien wat wat doet.

Je zult dus je batch iets moeten aanpassen als je elk bestand langs wilt gaan, door een kleine controle in te bouwen of het om een enkel bestand of een dir/schijf gaat.

[ Voor 57% gewijzigd door F_J_K op 10-01-2003 08:46 ]

'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind' (Terry Pratchett, Eric)


  • maratropa
  • Registratie: Maart 2000
  • Niet online
ja dat klinkt iid erg loigisch, thanx :)

over 2, over het algemeen zal het om files gaan, maar dir's is ook wel handig. Alleen begrijp ik niet helemaal wat voor kleine controle je bedoelt.

trouwens, in de registry heb je per key maar 1 regel om je commando op te tikken. Omdat je dingen niet op 1 lijn kan zetten, hoe geef je dan een "return" of "enter"?

[ Voor 32% gewijzigd door maratropa op 10-01-2003 11:21 ]

specs


  • F_J_K
  • Registratie: Juni 2001
  • Niet online

F_J_K

Moderator CSA/PB/AI

Front verplichte underscores

gladiool schreef op 10 januari 2003 @ 10:58:
ja dat klinkt iid erg loigisch, thanx :)
Graag gedaan :*
over 2, over het algemeen zal het om files gaan, maar dir's is ook wel handig. Alleen begrijp ik niet helemaal wat voor kleine controle je bedoelt.
Iets doen met 1 bestand is simpel.

Zeg notepad c:\boot.ini en het opent boot.ini. Maar als je dat zo udoen met een schijf krijg je notepad c:\, wat naturlijk niet kan. Dus moet je een batch bestand (of liever: VBScript) maken die kijkt of het om een directory/schijf gaat of om een bestand. Bij een bestand doe je simpelweg notepad %1 terwijl je bij een schijf / dir eerst alle bestanden in die dir wilt langsgaan. In een batch met FOR, in VBScript kan je wat geavanceerder doen. Maar het is natuurlijk afhankelijk van wat je ervaring er mee is.

In de SA FAQ staan onder links wat sites met meer info over de DOS commando's in batches.
trouwens, in de registry heb je per key maar 1 regel om je commando op te tikken. Omdat je dingen niet op 1 lijn kan zetten, hoe geef je dan een "return" of "enter"?

Niet, dan maak je een bla.bat aan waarbinnen de regels staan. Naar die bla.bat verwijs je vervolgens in het register.

'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind' (Terry Pratchett, Eric)


  • maratropa
  • Registratie: Maart 2000
  • Niet online
Aja, ik wil dus liever geen .batjes gebruiken, maar alles in 1 keer in de registry, en dat lukt tot nu toe, handmatig ingevoegd. Het blijkt dat je in de CMD gebruik kan maken van && en dat hij dat dan ziet als een enter. Alleen nu wil ik dit doormiddel van een reg-file invoegen, dat gaat ook al bijna goed.

Het probleem is het lange commando, eigenlijk bestaande uit 3 commando's. Dit werkt perfect als .bat, en ook handmatig alls reg_sz waarde handmatig ingevoerd in de reg.

als ik dit als "file.reg" save, en uitvoer, dan voert hij alles in alleen de lange commando regel in de REG-SZ waarde in de "command" key NIET, en ik snap niet waarom. Tussen haakjes of niet, hij voert het niet in, en ik heb het ook al op 1 lijn gezet in de .reg.

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\*\shell]

[HKEY_CLASSES_ROOT\*\shell\Mr_Bungle]
@="Kopieer File naar Films op Mr_Bungle"

[HKEY_CLASSES_ROOT\*\shell\Mr_Bungle\Command]
@="CMD /C NET.EXE USE Q: \\Mr_bungle\films Wachtwoord /USER:gebruiker /PERSISTENT:NO && xcopy /y %1 Q: && NET.EXE USE Q: /delete /yes"

specs


  • maratropa
  • Registratie: Maart 2000
  • Niet online
iemand die deze jongedame in nood kan bijstaan?

specs


  • F_J_K
  • Registratie: Juni 2001
  • Niet online

F_J_K

Moderator CSA/PB/AI

Front verplichte underscores

gladiool schreef op 12 januari 2003 @ 14:21:
iemand die deze jongedame in nood kan bijstaan?

Hehe, dan is het tijd dat je je profiel aanpast ;)

Maar je wilt dubbele backslashes gebruiken ipv enkele. Dus
@="CMD /C NET.EXE USE Q: [b]\\[/b]Mr_bungle[b]\[/b]films Wachtwoord /USER:gebruiker /PERSISTENT:NO && xcopy /y %1 Q: && NET.EXE USE Q: /delete /yes"

En dat van die && was ik al lang vergeten, dus bedankt voor de tip :D

'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind' (Terry Pratchett, Eric)


  • maratropa
  • Registratie: Maart 2000
  • Niet online
yesss het werkt, bedankt. Dat && is inderdaad handig, want je hebt maar 1 regel in de registry.

Waarom je dubbele backslashes moet gebruiken kan ik met mijn hoofd niet bij, maarja boeie het werkt.

-------

sjit nog een probleem, het bovenste commando lijn werkt niet vanuit een directory met een spatie in de naam, zoals "My Documents"

hmmg hoe kan dat.... OJA, 2 "" rond %1!

pfewww, eindelijk goed.

[ Voor 40% gewijzigd door maratropa op 12-01-2003 19:55 ]

specs


  • maratropa
  • Registratie: Maart 2000
  • Niet online
ow crap, nu dit weer :) Als je deze commando's op een file loslaat in een directory met spaties in de naam zoals My documents dan werkt het alleen met "" om de %1, dus "%1". MAAR nu wil het reg bestandje de commando regel WEER niet in de registry plaatsen. Dus eerst moest ik dubbele "/" toevoegen, en werkte het, en nu heb ik "" om de %1 toegevoegd, en werkt het weer NIET.

Dit heb ik dus nu:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\*\shell]

[HKEY_CLASSES_ROOT\*\shell\BungleCopy]
@="Kopieer File naar Films op Bungle"

[HKEY_CLASSES_ROOT\*\shell\BungleCopy\Command]
@="CMD /C NET.EXE USE Q: \\\\Mr_bungle\\films password /USER:USER /PERSISTENT:NO && xcopy /y "%1" Q: && NET.EXE USE Q: /delete /yes"

specs


  • F_J_K
  • Registratie: Juni 2001
  • Niet online

F_J_K

Moderator CSA/PB/AI

Front verplichte underscores

Precies hetzelfde verhaal; je wilt een backslash zetten voor de aanhalingstekens.

Dus \"%1\" ipv "%1" :*

'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind' (Terry Pratchett, Eric)


  • maratropa
  • Registratie: Maart 2000
  • Niet online
dank u nederig, ik heb de commando's nog iet helemaal in de vingers. Weet je toevallig een linkje naar wat uitleg over dit soort type commando's, van m$ ofzo? Hoe heet zoiets?

specs


  • F_J_K
  • Registratie: Juni 2001
  • Niet online

F_J_K

Moderator CSA/PB/AI

Front verplichte underscores

Hmmm. Zo uit m'n hoofd ken ik er geen eigenlijk. www.microsoft.com/technet -> de Howto's of zoeken op registry lijkt me een beginpunt.

Overigens had je die dat van die \" en \\ ook kunnen ontdekken door het een keertje met de hand in te typen en te exporteren. Zo kom je al wel meer tegen. Dat " niet zomaar kan werken is nl. best logisch, het aanhalingsteken wordt per slot van rekening ook gebruikt om de string te beginnen en af te sluiten. Ditzelfde gebeurt ook wel met andere "talen".

offtopic:
Laat dat m$ trouwens maar gewoon ms zijn, of gebruik de software gewoon niet als je er een hekel aan hebt ;)
Zie ook http://gathering.tweakers.net/forum/list_messages/471457#ms :*

'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind' (Terry Pratchett, Eric)


  • maratropa
  • Registratie: Maart 2000
  • Niet online
exporteren, goeie tip.

ms it is!

specs

Pagina: 1