[XP] FTP: !dir "c:\pad met spatie\*.*" werkt niet

Pagina: 1
Acties:
  • 456 views sinds 30-01-2008

  • CmdrKeen
  • Registratie: Augustus 2000
  • Laatst online: 25-03 16:41

CmdrKeen

Krentenboltosti

Topicstarter
Inmiddels loop ik via Google in een kringetje op internet: alle sites die wat te melden hebben, wijzen naar elkaar. Support.microsoft.com levert me slechts zeer karige info, en niemand lijkt dit probleem eerder tegengekomen te zijn.

Als je in Windows XP Pro (Home en 2000 niet getest) de ingebouwde FTP-client opent door op de command-line FTP te typen, kan je DOS-commando's uitvoeren door een uitroepteken te typen en daarachter je commando.
code:
1
ftp> !dir c:\*.*

Levert bijvoorbeeld een listing van c:\*.*. Met ! verlaat je tijdelijk de FTP-omgeving.

Maar als je dit doet:
code:
1
ftp> !dir "c:\pad met spatie\*.*"

Dan krijg je de foutmelding dat het systeem het opgegeven bestand niet kan vinden. Het systeem zoekt dan naar "c:\pad", weet ik uit andere testen.

Het probleem is dus dat je achter de ! in ftp geen lange bestandsnamen kan gebruiken. Is er iemand die me hier meer over kan vertellen?

(Ik ben niet geïnteresseerd in alternatieven, want die heb ik inmiddels genoeg. Het gaat me enkel om deze kwestie.)

[ Voor 4% gewijzigd door CmdrKeen op 22-03-2004 15:16 ]

Bloed, zweet & koffie


  • JER00N
  • Registratie: Maart 2002
  • Niet online
Je moet net als in DOS gewoon met korte bestandsnamen werken. Je neemt de eerste zes letters van het pad, en daar plak je ~1 achter. Dus bijv. 'Mijn documenten' wordt dan 'mijndo~1'.
Wat jij dus zou moeten doen is:

!dir C:\padmet~1\*.*

  • paulhekje
  • Registratie: Maart 2001
  • Laatst online: 30-03 19:31
met !cmd en daarna dir ... lukt het wel :?
het lijkt erop dat default na ! cmd start met een andere instelling, alhoewel de listings met lange namen wel kloppen.

|=|=|=||=|=|=||=|=|=| http://www.vanwijck.com |=|=|=||=|=|=||=|=|=||=|=|=||=|=|=||=|=|=||=|=|=|


  • CmdrKeen
  • Registratie: Augustus 2000
  • Laatst online: 25-03 16:41

CmdrKeen

Krentenboltosti

Topicstarter
Pastasaus schreef op 22 maart 2004 @ 15:20:
Je moet net als in DOS gewoon met korte bestandsnamen werken. Je neemt de eerste zes letters van het pad, en daar plak je ~1 achter. Dus bijv. 'Mijn documenten' wordt dan 'mijndo~1'.
Wat jij dus zou moeten doen is:

!dir C:\padmet~1\*.*
Mee eens, maar ik moet nog meer parameters meegeven en die kunnen niet ingekort worden. Ik kopieer een tree, en dan moet de volledige lange bestandsnaam worden meegegeven om geen knotwilg aan de andere kant te krijgen ;)

Bloed, zweet & koffie


  • Mammoth
  • Registratie: April 2002
  • Laatst online: 22-09-2019

Mammoth

I am BIG

Dit heeft te maken met het ftp programma. Die is waarschijnlijk een oud programma dat met XP wordt meegelevert en het "vertaald" dus jouw commando. Omdat in het DOS-tijdperk geen namen met spaties werden toegestaan (8.3 tekens), vertaalt het ftp-programma het als volgt: != commando buiten het systeem, dir = het commando, c:\Program = de map, Files = een extra commando.
Hij onderscheidt de commando's door de spaties te nemen, en geeft die door.
Als het goed is werkt !dir c:\progra~1 wel.
Voor microsoft is het FTP-programma kennelijk niet belangrijk, want die zit toch automatisch in het netwerkgedeelte van XP.

edit:
Je kan dit dus ook proberen met andere mapnamen en de opties zoals /a:h gewoon meegeven. Je moet dus even je mappen kennen met hun 8.3 naam.

[ Voor 13% gewijzigd door Mammoth op 22-03-2004 15:31 ]

There could be only one, too bad it wasn't me


  • CmdrKeen
  • Registratie: Augustus 2000
  • Laatst online: 25-03 16:41

CmdrKeen

Krentenboltosti

Topicstarter
Mammoth, duidelijke uitleg, heb je enig idee wat ik eraan kan doen?
paulhekje, denk je dat ik iets moet doen met cmd /? ? Er zit een flinke uitleg aan.. Denk je dat ik het daarin moet zoeken?

Ow, en trouwens: !dir "c:\pad met spatie\blaat.txt" werkt niet, maar put "\pad met spatie\blaat.txt" "\pad met spatie\blaat.txt" werkt wel....

/tweede edit
Ok, ik wil op de FTP-server de lange bestandsnamen het liefst in stand houden, dus pas als uiterste oplossing 8.3-namen gebruiken.
Het FTP-script wordt samengesteld door een for-loop: for /F "delims=*" %%I in ('dir c:\*.* /a:a') do echo put %%pnI %%~pnxI>>ftpscript.txt. Door /x toe te voegen aan het dir-commando is het probleem dus opgelost, maar daar was het me al niet meer om te doen - ik vraag me gewoon af of ik hier tegen een technische limiet/bug aanloop of dat ik zelf iets niet goed doe.

[ Voor 73% gewijzigd door CmdrKeen op 22-03-2004 15:40 ]

Bloed, zweet & koffie


  • Mammoth
  • Registratie: April 2002
  • Laatst online: 22-09-2019

Mammoth

I am BIG

OK, ik heb zelf het even geprobeerd, ook onder XP Pro.

Als ik in het ftp gedeelte zeg:
!xcopy c:\progra~1 d:\ /e
dan kopieert hij alles in Program Files naar de d-schijf, inclusief lege mappen.
Ik zou zeggen, experimenteer een beetje, dan kan je alles doen ermee, wat je normaal in DOS doet.

edit:
De lange namen met spaties blijven trouwens wel bestaan met bovenstaande commando.
En het FTP-commando PUT is een intern commando, terwijl !dir een extern DOS-commando is.
Mijn tip is, zet het te kopieren materiaal in een kleine map, als het goed is kopieert hij hem dan wel goed.
Dus dan kopieert hij die lange naam mee, zoals "C:\weg\Map met spatie\".
Als je dan een commando met c:\weg\*.* of iets dergelijks geeft, dan hoef je niet te denken aan die lange namen.

[ Voor 46% gewijzigd door Mammoth op 22-03-2004 15:46 ]

There could be only one, too bad it wasn't me


  • CmdrKeen
  • Registratie: Augustus 2000
  • Laatst online: 25-03 16:41

CmdrKeen

Krentenboltosti

Topicstarter
Ik zou zeggen, experimenteer een beetje
Ben al vijf dagen aan het expirimenteren ;)

/Edit
Script maar weggehaald, droeg niet echt iets bij. Maar neem van mij aan dat ik al volop van alles getest heb! Ik krijg ook wel voor elkaar wat ik wil, maar met een omweg, en ik vraag me gewoon af of er een betere manier is.

[ Voor 104% gewijzigd door CmdrKeen op 22-03-2004 22:25 . Reden: Script weggehaald ]

Bloed, zweet & koffie


Verwijderd

Bij mij lukt dat met ~1 niet, omdat mijn map een 4 letterig woord is en dan een spatie en daarna het andere woord.

  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

Je hebt wel door dat dit een redelijk oud topic is (bijna een jaar)? :) Open gewoon een dosbox als je wilt zien hoe het pad er op de DOS manier uitgaat zien; of open even een eigen topic als je er niet uitkomt :)

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate

Pagina: 1

Dit topic is gesloten.