Avatar billede jobba Nybegynder
04. juli 2003 - 12:24 Der er 9 kommentarer og
2 løsninger

Længde på kommandolinie parametrer?

Jeg er igang med at udvikle et program som skal kaldes med kommandolinie parametrer. Inden jeg kommer alt for godt igang, vil jeg gerne høre om der er en grænse på, hvor mange tegn en kommando i kommandoprompten må være. Ellers må jeg jo begrænse antal parametrer, jeg skal kalde programmet med.

På forhånd tak!
Avatar billede jensendk Nybegynder
04. juli 2003 - 12:26 #1
Der er en begrænsning i længden ja.. Mener den er, incl selve kommandoen, 128 tegn, måske 256, kan altså ikke lige huske det nøjagtige tal..
Avatar billede hiks Nybegynder
04. juli 2003 - 12:35 #2
04. juli 2003 - 12:43 #3
... og hvis du læser det link, som hiks har givet vil du se at der er en begrænsning på den fulde path til programmet på¨128, og herudover kan du bruge 130 til dine parametre.
Avatar billede jobba Nybegynder
04. juli 2003 - 14:45 #4
Tak skal i have! Så må jeg hellere begrænse mit brug af parametrer.
Avatar billede soda Nybegynder
04. juli 2003 - 15:52 #5
Erikjuul: Du tager vidst fejl der. Det er MAX 130 i alt. Kan dog godt fordi du bliver forvirret for det de skriver er noget rod.

"When using CreateProcess(), ShellExecute(), or ShellExecuteEx() to launch a 16-bit executable on Microsoft Windows NT, Microsoft Windows 2000, and Microsoft Windows XP the file path is limited to 128 characters and the command-line arguments are limited to 130 characters minus the length of the executable file name."

De skriver først, at man kan have 128 byte for filstien og her udover 130 til parametrene, men hvis du læser længere nede, skriver de...

"In addition to the 128-character file path limit, there is a limit on the combined length of the command-line arguments that can be passed to the 16- bit application. This limit is 130 characters minus the length of the executable filename (not including the path).

For example, when executing a 16-bit program "c:\go.exe", the length of the command-line arguments would be limited to 124 characters, because "go.exe" has a length of 6 characters. You are subject to this 124 character limitation even if you attempt to execute "go" (leaving off the ".exe" extension) because the system expands the file name."

Her skriver de, at man max må have 130 til både navnet (stien) OG parametrene.

Dvs, at man alligvel ikke kan have 130, men 125 tegn, som parametre, da man minimum 5 tegn til navnet x.xxx.

Det er altså enten 128 tegn til stien + navnet eller 125 tegn til parametre..

Dette må ikke overstige 130 tegn til sammen.
04. juli 2003 - 16:02 #6
soda>> Det er vist nærmere dig, der ikke helt forstår den engelske tekst.

Der er tale om 2 forskellige begrænsninger i følge teksten.

1. Filnavn incl. path må højst være på 128 tegn.
2. Parametre incl filnavn uden path må højst være på 130 tegn.
Avatar billede bertelbrander Novice
04. juli 2003 - 16:57 #7
De 128/130 tegn gælder KUN for gamle 16-bits applikationer.
Moderne 32 bit applikationer kan håndtere 4000 karakterer på kommando linien.
Avatar billede hiks Nybegynder
05. juli 2003 - 01:54 #8
bertelbrander>> jeg har personligt ikke haft andet end god gammelsdags bøvl men længere command lines end 128-130 styk.

/hiks
Avatar billede bertelbrander Novice
05. juli 2003 - 02:11 #9
>hike
Jeg har dagligt i flere år brugt kommandolinier på over 1000 karakterer.
Avatar billede hiks Nybegynder
05. juli 2003 - 02:12 #10
ok!

jeg har bare kun haft problemer men det godt nok også i lidt blandede miljøer!

/hiks
Avatar billede soda Nybegynder
05. juli 2003 - 09:59 #11
Erikjuul: Det er jo det jeg skriver ;o)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester