Windows nespustí příkaz když je „cwd“ neplatný

Kód: [Vybrat]
d:\> ping
The current directory is invalid.
d:\> c:
c:\> ping
# ok...
Je nějaký důvod, proč když  spustím nějaký příkaz v cmd windows s aktuálním adresářem, který už neexistuje( fleška, která byla odpojena třebas), ale tato změna nijak cmd neovlivní to shoří na této chybě?
« Poslední změna: 25. 05. 2021, 16:43:32 od Petr Krčmář »


PanVP

Re:Windows nespustí příkaz když "cwd" je neplatný?
« Odpověď #1 kdy: 25. 05. 2021, 15:41:44 »
Důvodů mě napadá hodně.

Přednost mají samozřejmě soubory puštěné v aktuálním adresáři.
Takže kdybys měl ping.exe na D:čku bude mít přednost před tím uvedeným v path.
Systém se tak MUSÍ podívat (je to jeho povinnost), jestli v daném adresáři soubor není, což vyvolá danou chybovou hlášku, na které uhnije.

A za tím vším bude nejspíš historická logika.
Pokud bys udělal del *.bck nad adresářem, který neexistuje, má ti to hodit OK nebo chybu?

PS: A samozřejmě existují i virtuální cesty, které jsou snad vždy platné  :P

...ale můžu se plést, jsem hrozně omylný člověk  :P

« Poslední změna: 25. 05. 2021, 15:45:18 od PanVP »

PanVP

Re:Windows nespustí příkaz když "cwd" je neplatný?
« Odpověď #2 kdy: 25. 05. 2021, 15:54:29 »
Když si s tím budeš hrát, můžeš zkusit třeba:
\\.\UNC\LOCALHOST\c$\Windows\System32\ping.exe 127.0.0.1

Nebo taky hezký:
\\.\Global\BootPartition\Windows\System32\ping 127.0.0.1

........\\\\\\\\.\\\\..\\\\..\\..\..\\Windows\\\System32\ping.exe 127.0.0.1

A jsou ještě zajímavější věci...

Ty chceš možná: ?-vp-je-buh\..\..\..\..\Windows\System32\ping 127.0.0.1

(Vážně to vem ControlC+ControlV jak to je a prdni to do cmd.exe ...včetně toho \\.\...)
Edit:Dají se s tím dělat velký triky, když víš, co děláš.  8)
« Poslední změna: 25. 05. 2021, 16:00:25 od PanVP »

Re:Windows nespustí příkaz když je „cwd“ neplatný
« Odpověď #3 kdy: 25. 05. 2021, 17:49:33 »
Kód: [Vybrat]
d:\> ping
The current directory is invalid.
d:\> c:
c:\> ping
# ok...
Je nějaký důvod, proč když  spustím nějaký příkaz v cmd windows s aktuálním adresářem, který už neexistuje( fleška, která byla odpojena třebas), ale tato změna nijak cmd neovlivní to shoří na této chybě?

Fakt se TADY ptate, jaky duvod ma nejake chovani uzavreneho programu? Vy nebudete nejostrejsi tuzka v penale...

Re:Windows nespustí příkaz když je „cwd“ neplatný
« Odpověď #4 kdy: 26. 05. 2021, 08:18:39 »
Kód: [Vybrat]
d:\> ping
The current directory is invalid.
d:\> c:
c:\> ping
# ok...
Je nějaký důvod, proč když  spustím nějaký příkaz v cmd windows s aktuálním adresářem, který už neexistuje( fleška, která byla odpojena třebas), ale tato změna nijak cmd neovlivní to shoří na této chybě?

Je to prosty dovod, widle na rozdiel od linuxu, hladaju spustitelny subor v aktualnom adresari az potom podla path... a kedze logika widli nie je tak pokrocila aby prepla na iny disk po odpojeni flasky, tak ani vlastne netusi ze aktualny adresar sa vzdialil s odpojenou flaskou... :D


PanVP

Re:Windows nespustí příkaz když je „cwd“ neplatný
« Odpověď #5 kdy: 26. 05. 2021, 08:27:36 »
widle na rozdiel od linuxu, hladaju spustitelny subor v aktualnom adresari az potom podla path...

Dík, že opisuješ to, co jsem už napsal  8)

Re:Windows nespustí příkaz když je „cwd“ neplatný
« Odpověď #6 kdy: 26. 05. 2021, 09:08:06 »
widle na rozdiel od linuxu, hladaju spustitelny subor v aktualnom adresari az potom podla path...

Dík, že opisuješ to, co jsem už napsal  8)
Kód: [Vybrat]
d:\> ping
The current directory is invalid.
d:\> c:
c:\> ping
# ok...
Je nějaký důvod, proč když  spustím nějaký příkaz v cmd windows s aktuálním adresářem, který už neexistuje( fleška, která byla odpojena třebas), ale tato změna nijak cmd neovlivní to shoří na této chybě?

Necital som tvoj koment. :D

Btw, to ze pise ze nevidi aktualny adresar a nie ze nevidi subor je tiez historicke. Urobi nad tym adresarom ls a konkretny subor si vyberie podla toho ci existuje ping.bat, ping.com alebo ping.exe...

tecka

  • ***
  • 138
    • Zobrazit profil
    • E-mail
Re:Windows nespustí příkaz když je „cwd“ neplatný
« Odpověď #7 kdy: 26. 05. 2021, 22:54:48 »
logika widli nie je tak pokrocila aby prepla na iny disk
A který systém v takovém případě programům přehazuje pracovní adresáře? A proč?

Necital som tvoj koment. :D

Btw, to ze pise ze nevidi aktualny adresar...
Opět opakuješ to, co PanVP už napsal. A ty pak po něm.

Re:Windows nespustí příkaz když je „cwd“ neplatný
« Odpověď #8 kdy: 27. 05. 2021, 00:31:33 »
logika widli nie je tak pokrocila aby prepla na iny disk
A který systém v takovém případě programům přehazuje pracovní adresáře? A proč?
No,u mna (fedora 33):
  • sa ten disk ani neda umountnut, kym s nim nejaka cast systemu pracuje.
  • v pripade ze to usb vytiahnem bez umountu, prompt v terminali samozrejme change directory neurobi ihned, ale az po nejakej interakcii, staci odentrovat.


Necital som tvoj koment. :D

Btw, to ze pise ze nevidi aktualny adresar...
Opět opakuješ to, co PanVP už napsal. A ty pak po něm.

Kde PanVP pisal o tom preco hlasi neexistujuci adresar miesto neexistujuceho suboru? Ja to nikde nevidim, mozes ho odcitovat? :D

Nabuduce by si mohol pisat radsej k topicu, miesto zbytocneho trolenia