none
CMDline otvaranie suborov s medzerou v nazve

    Dotaz

  • Zdravim,

    v prikazovom riadku spustim 3 prikazy:

    (1) excel.exe c:\pokusny adresar\pokusny subor.csv

    (2) excel.exe "c:\pokusny adresar\pokusny subor.csv"

    (3) notepad.exe c:\pokusny adresar\pokusny subor.csv

     

    Prikaz (2) je jasny - vsetko je OK, spusti sa, rovnako prikaz (1) - ten sa nespusti a Excel vyhodi chybu: nevie otvorit/najst subor c:\pokusny. Co ma vsak prekvapuje je to, ze prikaz (3) sa spusti korektne a mne sa korektne otvori subor v notepad-e.

     

    Vzhladom k tomu, ze Win2000,XP,2003 pouzivaju ako TEMP folder c:\documents and settings\..., tak mi to robi velky problem v externej aplikacii.

    Otazka 1: Preco je NOTEPAD cestu s medzerami bez problemov prelozi a EXCEL (WORD) nie?

    Otazka 2: Je nejaky sposob, ako naucit Excel, Word aby otvaral dokumenty bez zadania uvodzoviek? (vid prikaz (1) )

     

    Vdaka za odpovede.

     

    P.S. Skusane na WinXP Prof SP3, Win7 Enterprise

    středa 16. června 2010 13:06

Odpovědi

  • Ja sa pytam preco? Preco NOTEPAD nepotrebuje uvodzovky pri CMD otvarani suborov a ostatne aplikacie ano? Da sa tato "vlastnost" na ostatne aplikacie preniest?

    Obavam se ze toto je dano tim jak aplikace parsuje predane argumenty. Pokud pocita s JEDINYM pak si s tim MUZE poradit. Pokud s vice pak v je zauvozovkovani jedina moznost (krome pouzivani kratkych nazvu).

    Muzes udelat nejaky WRAPPER typu:

    wrapper.cmd

    start excel "%*"

    ???

    MP

    čtvrtek 17. června 2010 8:27
    Moderátor

Všechny reakce

  • 1. ty mas excel v ceste? pokud pouzijes start excel "c:\pokusny adresar\pokusny subor.csv" je chyba stejna?
    2. muzes pouzit kratky nazev ( %~s )?

    MP

    středa 16. června 2010 13:51
    Moderátor
  • 3. moznost je pouzit systemove promenne %temp% pripade si nasavit ve skriptu nove promenne pomoci prikazu set
    středa 16. června 2010 13:54
  • Dakujem za doterajsie odpovede, skusim konkretizovat podmienky:

    1. Tento sposob otvarania suborov (tzn. application.exe absolute_path\file_name.extension) pouziva externa aplikacia, ktora ma nadefinovany vlastny TEMP adresar, ktory nesmie v ceste obsahovat medzery. Externa aplikacia pri volani programov a nasl. parametri nepouziva cestu v uvodzovkach - zmenit to je na dlhe lakte...

    2. Ja by som tento TEMP adresar chcel nahradit windowsovym %TEMP%, avsak tento v pripade starsich windows obsahuje medzery a externa aplikacia si ho prelozi pod jeho plnym nazvom (aj s medzerami) a nie skratenym (DOS verzia)

    3. Pokial externej aplikacii doteraz stacilo pouzivanie a volanie notepadu (ten si poradi aj s medzerami v nazve a bez pouzitia uvodzoviek), tak teraz by sme chceli v hojnejsej miere vyuzivat volanie MSOffice, OpenOffice a tam je problem, bez uvodzoviek to nejde.

     

    Skusal som aj externy editor NOTEPAD++ a ten mi tiez bez problemov otvori subor, ku ktoremu zadam cestu bez uvodzoviek. Mozno vsak scasti pouziva samotny NOTEPAD, tak neviem...

    Okrem NOTEPAD-u som nenatrafil na inu aplikaciu, ktora by si nevyzadovala uvodzovky v ceste k suboru.

    ===================

    Ja sa pytam preco? Preco NOTEPAD nepotrebuje uvodzovky pri CMD otvarani suborov a ostatne aplikacie ano? Da sa tato "vlastnost" na ostatne aplikacie preniest?

    ===================

    pre M. Pragla:

    1.1 start excel "c:\pokusny adresar\pokusny subor.csv" - subor je EXCELom otvoreny

    1.2 start excel c:\pokusny adresar\pokusny subor.csv - EXCEL subor neotvori, trikrat vypise chybu pre 3 neexistujuce subory (c:\pokusny, adresar\pokusny, subor.csv)

    1.3 start notepad c:\pokusny adresar\pokusny subor.csv - subor je NOTEPAD-om korektne otvoreny

    2. nemozem/nechcem pouzit kratky nazov, pretoze externa aplikacia pouziva bud vlastny adresar TEMP (bez medzier) alebo si systemovy %TEMP% prelozi avsak s plnym nazvom (c:\program files\..., c:\documents and settings\...)

    pre J. Janatu:

    3. %TEMP% by som pouzit chcel, a nastavovanie premenych skriptom - tomu by som sa chcel vyhnut, neviem ako by toto externa app zvladla. Mne ide o zistenie toho preco sa windows aplikacie spravaju rozne.

    čtvrtek 17. června 2010 7:44
  • Ja sa pytam preco? Preco NOTEPAD nepotrebuje uvodzovky pri CMD otvarani suborov a ostatne aplikacie ano? Da sa tato "vlastnost" na ostatne aplikacie preniest?

    Obavam se ze toto je dano tim jak aplikace parsuje predane argumenty. Pokud pocita s JEDINYM pak si s tim MUZE poradit. Pokud s vice pak v je zauvozovkovani jedina moznost (krome pouzivani kratkych nazvu).

    Muzes udelat nejaky WRAPPER typu:

    wrapper.cmd

    start excel "%*"

    ???

    MP

    čtvrtek 17. června 2010 8:27
    Moderátor