cmd xcopy a nefunkčnost ve woknech
Potřeboval bych poradit jak rozchodit následující bat soubor
@ ECHO off
xcopy hosts C:\windows\System32\drivers\etc
Když ho spustím skrze cmd, tak to projde, ale když na něj poklikám, tak se neprovede. Kde může být chyba?
Doplň na konec dávky příkaz pause a když na bat soubor něj klikneš, tak jestli se zobrazí nějaká chybová hláška?
Nejdřív samozřejmě zaremuj první řádek - vypnutí echo.
ano, zda to chci přepsat.. tudíž stačí parametr pro xcopy.. ještě, dá se tam nějak udělat abych to nemusel spouštět jako správce?
nyní mi to hlásí že soubor nebyl nalezen
Spouštět zástupcem... RunAs...
ok, ovšem když to spustím v tomhle případě
tak mi to napíše, že hosts nebyl nalezen, jelikož on ten soubor hledá nikoli ve složce kde je bat soubor, ale kde je zrovna "kurzor" v cmd. Potřeboval bych to trochu univerzální, jelikož je hloupost aby ten daný uživatel byl nucen si to celé zkopírovat na dané místo.
Zkus použít symbol pro aktuální adresář ./hosts
neplatný parametr s
nemá to být v uvozovkách?
Eh, má tam být zpětné lomítko... (.\hosts)
Teď jsem upravoval nějaký PHP skript, tak se mi to popletlo - tam se používá klasické lomítko v cestě.
v klidu, taky jsem předchvilkou dělal PHP a taky si to pletu (v práci zase dělám s xPath, takže zase lomítka jinak :) )
btw. opět zase nenalezen..
Problem moze byt napr. v tom ze subor hosts je systemovy alebo skryty apod. V tom pripade daj do bat najprv prikaz attrib.
Skus pouzit aj copy a nie xcopy.
Jak nastavi Windows pracovny adresar ked kliknes priamo na bat netusim, ale je mozne ze to proste nastavi na systemovy default (ten ma kazdy iny), daj si vypisat aktualny pracovny adresar
Echo %CD%
jak myslíš attrib? s bat soubory apod pracuji poprvé a potřebuji jen na hosts totiž
prip. skus
copy %cd%\hosts C:\Windows\atd
funguje ale az od Win2000
%cd% mi navrátí C:\Windows\system32
ale bat mám na ploše ve složce
to mas ale nieco blbo, teraz som to skusal ked som klikol na bat z C:\Temp tak mal %cd% hodnotu C:\temp
Jake mas Windows? Skus zavret vsetky konzoly.
prip. nepozivaj copy ale priamo vypisy do suboru na C:\ pomocou > a >>
napr.
del C:\neco\hosts
echo blablabla >C:\neco\hosts
echo blablabla2 >>C:\neco\hosts
echo blablabla3 >>C:\neco\hosts
...
toto mi příjde jako hloupost ne?
preco hlupost?
Ale nemaju tam byt uvodzovky.
dobré, je to vyřešeno skrze toto
ovšem zapisuje mi dovnitř i že režim echo je zapnut či vypnut :(
To dělá ten druhý (nesmyslný) řádek - vyhoď ho.
no jo, ale když tam není, tak mi tu IP nezapisuje na nový řádek.
Nechápu. A kam ti tu IP zapisuje?
když ho dám pryč.. tak to echo s IP tam zapíše, ale zapíše to na poslední řádek, tudíž pak mi může vzniknout něco následovného
192.168.40.6 tirus.eu 192.168.40.6 localhost
namísto tohoto
192.168.40.6 tirus.eu
192.168.40.6 localhost
pardon... ve skutečnosti to první echo zapíše na poslední řádek, ale následující echa vypisuje správně
echo. >> %SYSTEMROOT%\System32\drivers\etc\hosts
echo 192.168.40.6 tirus.eu >> %SYSTEMROOT%\System32\drivers\etc\hosts
Echo s tečkou (bez mezery!) funguje jako CrLf.
děkuji. problém vyřešen.. všichni tři u mne máte pivko :)