Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Spuštění dávkového souboru

Dávkový soubor
V dávkovém souboru BAT mám u príkazu RD jméno s mezerou a když to dám do uvozovek, háže to chybu (Systém nemůže nalézt uvedený soubor). Bez mezer to funguje! Název ale musí být s mezerami. Dlouhé názvy se přece dávají do uvozovek - tak proč to nefunguje?

Příklad: RD /S /Q "c:\toto smaž"

Celé je na XP. Zkoušel jsem i příponu cmd se stejnými výsledky. Kde je zakopaný pes? Poraďte prosím.

Předmět Autor Datum
Zkuste nahradit mezeru podtržítkem _
oldbrowser 26.08.2007 22:18
oldbrowser
To přece nemůže fungovat mezera a _ je jiný znak. Název adresáře je s mezerou.
pepa159 26.08.2007 22:25
pepa159
Mně to funguje normálně, adresář se smaže... WinXP PRO SP
MaSo 26.08.2007 22:24
MaSo
Kde by mohla být chyba v systému? Nevíte?
pepa159 26.08.2007 22:25
pepa159
To netuším, opravdu tam je ten adresář? :-)
MaSo 26.08.2007 22:28
MaSo
Uvozovky dej až na jméno souboru: RD /S /Q c:\"toto smaž"
Fuente 26.08.2007 22:26
Fuente
Nejede, mám asi po..... W XP.
pepa159 26.08.2007 22:29
pepa159
Mezera není dlouhý název. Dlouhý název by byl třeba: c:\toto_je_adresar_s_dlouhym_nazvem místo mezer…
Kráťa 26.08.2007 22:29
Kráťa
Potřebuju při ukončení XP pomocí skriptu vymazat dočasný adresář, který se nachází obvykle c:\Docume…
pepa159 26.08.2007 22:31
pepa159
Pokud se pamatuju ještě z dávných dob, tak neprázdný adresář nevymažeš DOS příkazem, aniž bys napřed…
Fuente 26.08.2007 22:38
Fuente
Vlastnosti Dos příkazů se v Windows vylepšovaly. Toto je nápověda z XP: RMDIR [/S] [/Q] [jednotka:]c…
pepa159 26.08.2007 22:47
pepa159
proč mazat celý adresář, když by stačilo vymazat jen jeho obsah? DEL *.* c:\temp\ (smaže vše v tempu…
Kráťa 26.08.2007 22:56
Kráťa
Určitě by to šlo, problém je však s názvem s mezerou - c:\Documents and Settings\.... slovo za mezer…
pepa159 26.08.2007 23:04
pepa159
No jo, jsem téměř XP nepolíbený. :-p
Fuente 26.08.2007 22:59
Fuente
Tie uvozovky su tam na to, aby si mohol v DOSe napisat nazov adresara dlhsi ako 8 znakov, v celku. S…
shiro 26.08.2007 22:48
shiro
Jakmile se dá mezera v názvu tak to příkaz chápe jako další parametr a RD má definovaný jeden. Proto…
pepa159 26.08.2007 22:59
pepa159
No a co ten del *.* c:\"Documents and Settings\mirek\temp\" rd c:\"Documents and Settings\mirek\temp…
Kráťa 26.08.2007 23:02
Kráťa
Když už, tak takhle: del c:\"Documents and Settings\mirek\temp\*.*" :-)
MaSo 26.08.2007 23:04
MaSo
Stále hlásí: Systém nemůže nalézt uvedený soubor.
pepa159 26.08.2007 23:08
pepa159
Nojo vlastně. Má hlava děravá, berlu Mrazilku jsem doma zanechal...
Kráťa 26.08.2007 23:08
Kráťa
Uvozovky musejí být úplně na začátku i na konci protože např. když vyvolám Vlastnosti na ikoně na pl…
pepa159 26.08.2007 23:13
pepa159
Príklad, ktorý si napísal, je správne a mal by fungovať. - Obsahuje cesta diakritiku? - Priamo z pr…
los 26.08.2007 23:15
los
Teď jsem na to přišel problém je s češtinou když vypadá příkaz RD /S /Q "c:\toto smaz" nebo del "c:\…
pepa159 26.08.2007 23:20
pepa159
Keď vytvoríš ten dávkový súbor pomocou príkazu "copy con", tak nebudeš mať problém s diakritikou.
los 26.08.2007 23:25
los
Skláním před Vámi! Konečně jeden příspěvek od člověka který UMÍ. Udělal jsem to dle návodu a chodí t… poslední
pepa159 26.08.2007 23:40
pepa159

Mezera není dlouhý název. Dlouhý název by byl třeba: c:\toto_je_adresar_s_dlouhym_nazvem
místo mezer podtržítka, jak psal kolega.
Dělat vše malými, bez diakritiky a bez mezer a nejsou tyto problémy.
Hoď sem obsah toho bat a napiš, co od toho chceš, jistě ti tu někdo napíše něco konkrétního.

Pokud se pamatuju ještě z dávných dob, tak neprázdný adresář nevymažeš
DOS příkazem, aniž bys napřed nevymazal jeho obsah. Pokud se ti tam tvoří
soubory s různými názvy, tak to asi nepůjde. Ale roky pokročily
a třeba to jde, rád se poučím. Lomítka jsem používal vytočená výhradně takhle: \

Mi jde ve W2000 přes cmd a uvozovky vymazat všechno.

Vlastnosti Dos příkazů se v Windows vylepšovaly.
Toto je nápověda z XP:
RMDIR [/S] [/Q] [jednotka:]cesta
RD [/S] [/Q] [jednotka:]cesta

/S Odstraní všechny adresáře a soubory v uvedeném adresáři
včetně adresáře samotného. Slouží pro odstranění stromu
adresářů.

/Q Nevyžaduje potvrzení při odstraňování stromu adresářů pomocí /S

Jakmile se dá mezera v názvu tak to příkaz chápe jako další parametr a RD má definovaný jeden. Proto tam musí být ty uvozovky.

Stále mi to nefunguje. Bude chyba někde v nastavení. Před reinstalací jsem to kdysi nainstaloval a fungovalo to, nejsem si vědom, že bych v nastavení něco měnil. Vím ale, že v práci na W2000 mi to taky nechodilo a v příspěvku výše někdo uvádí, že mu to chodí.

Príklad, ktorý si napísal, je správne a mal by fungovať.

- Obsahuje cesta diakritiku?
- Priamo z príkazového riadka to funguje?

Ak potrebuješ vymazať niečo z windowsáckeho temp-adresára, tak ti asi bude stačiť použiť premennú prostredia TMP alebo TEMP.

Skláním před Vámi! Konečně jeden příspěvek od člověka který UMÍ. Udělal jsem to dle návodu a chodí to i s češtinou!!!!!!!!!!!!! To ž ve slově smaž se překódovalo jako §. Vlastně je to jasné Windows (CP1250) má jiné kódování než DOS (CP852). Kdybych našel tabulku tak by to asi fungovalo taky.
DÍKY! DÍKY!
Díky všem za pomoc!

Zpět do poradny Odpovědět na původní otázku Nahoru