romeon
Goto Top

xcopy setzt ungewollt Attribute

Hi,

Mir ist heute etwas für mich Seltsames aufgefallen. Das Ganze geschah unter Vista32 mit Administratorrechten und deaktivierter UAC (falls von Belang). Es ist absolut nachvollziehbar.

Diese Zeile hatte ich in einer Batch:
xcopy ".\Test\zweitetest.bat" c:\Programme\ /y >NUL

Die Datei wurde einwandfrei kopiert, aaaaaber: nachher ist der "Programme"-Ordner (Vista(32)) versteckt. Die Vista-Eigenheiten sind mir bewusst, doch sieht man ja als normaler User auch einen Ordner namens "Programme". Dieser ist nach der Ausführung des obigen Befehls verschwunden bzw. versteckt und lässt sich witzigerweise auch nicht so einfach wieder sichtbar machen. Der Haken in den Eigenschaften ist nämlich gesetzt und das Kästchen ausgegraut, so dass man ihn nicht entfernen kann.

Weiß jemand, wie das mit obigem Befehl passieren kann - und wie man evtl den Ordner wieder für alle sichtbar macht? face-smile

Danke euch!!

Content-Key: 104348

Url: https://administrator.de/contentid/104348

Printed on: April 16, 2024 at 13:04 o'clock

Member: romeon
romeon Dec 21, 2008 at 23:55:59 (UTC)
Goto Top
Da seid ihr auch platt, was? face-sad Ich habe keinen Schimmer mehr, an was das liegen kann oder wie man das wieder behebt ...
Member: Biber
Biber Dec 22, 2008 at 08:44:05 (UTC)
Goto Top
Moin romeon,

na ja, erklärlich ist das schon...
Die Vista-Eigenheiten sind mir bewusst,
Ach. auch schon mal nach "symbolischer Link Vista" gegooglet?
nachher ist der "Programme"-Ordner (Vista(32)) versteckt...
Im Gegensatz zu welchem "vorher"???
und wie man evtl den Ordner wieder für alle sichtbar macht
Für welche "alle" denn?? Jeder User hat ein eigenes virtuelles "C:\Programme"...

Du darfst unter Vi$ta bezogen auf die "Speicherorte" [O-Ton Unterschleißheim] nicht alles glauben, was Du siehst.

Mach bitte folgende Spielerien am CMD-Prompt:
 
>dir c:\programme /b
Datei nicht gefunden
>attrib c:\programme
     R       C:\Programme
>attrib c:\programme /L
   SH   I    C:\Programme

--> Da ist nix durch XCopy passiert.. das war alles vorher schon so. Die Wahrheit zeigen Tools wi z.B. Junction.exe:
>junction c:\programme

Junction v1.04 - Windows junction creator and reparse point viewer
Copyright (C) 2000-2005 Mark Russinovich
Systems Internals - http://www.sysinternals.com

c:\Programme: JUNCTION
   Print Name     : C:\Program Files
   Substitute Name: C:\Program Files

Grüße
Biber
Member: romeon
romeon Dec 22, 2008 at 09:04:58 (UTC)
Goto Top
Hallo Biber,

Das mit den Speicherorten und Links ist mir durchaus bewusst. Dann formuliere ich es anders, ersetze ggfs. "Ordner" durch Link ;)

- Der Explorer in Vista32 zeigt mit Standardeinstellugnen einen "Ordner" Programme an. (= Zustand "Vorher")
- führe ich die Zeile im ersten Post in einer Batch aus, zeigt mir der Explorer in Vista (mit Standardeinstellungen) [i]keinen[/i] "Ordner" Programme mehr unter Vista32 an (=Zustand "nachher")
- erst durch Ändern der Anzeigeeinstellungen (zeige unsichtbare Dateien an), bekomme ich den "Ordner" Programme wieder zu Gesicht
- er ist jetzt unsichtbar und kann durch Einsicht in die Eigenschaften auch nicht wieder sichtbar gemacht werden, da die Box mit dem Häkchen ausgegraut ist.

Das ist das eigentliche Problem. User ohne geänderte Anzeigeeigenschaften im Explorer sehen gar keinen "Ordner" Programme mehr.

--> Da ist nix durch XCopy passiert.. das war alles vorher schon so.
Nein.


und wie man evtl den Ordner wieder für alle sichtbar macht
Für welche "alle" denn?? Jeder User hat ein eigenes virtuelles "C:\Programme"...
ok, für den aktuellen User im Windows-Explorer, so wie es "vorher" war.

Danke für alle Bemühungen ;)
Member: Biber
Biber Dec 22, 2008 at 15:39:12 (UTC)
Goto Top
Moin romeon,

ich denke, es ist im wahrsten Sinne des Wortes "Ansichtssache".
Einen Ordner "C:\Programme" siehst Du ja nur im Explorer.
Unter der cmd.exe wird KEIN Ordner dieses Namens gefunden - es ist nur ein Zeiger, ein Link.
Wo hast Du denn Deine erfolgreich kopierte Datei gesehen - im Explorer oder mit dem DIR-Befehl unterm CMD?
Und liegt die Datei jetzt auch in "c:\Program files"?
Oder hast Du jetzt zwei Ordner "c:\Programme" im Explorer?
So geht es mir z.B. unter Vista, seitdem ich die Ordnerattribute geändert habe.. *gg

Ich vermute, dass die "Desktop.ini", die in diesen jeweiligen "Link"-Verzeichnissen liegt nur dann "richtig" interpretiert wird, wenn der entsprechende Ordner auch die Attribute "RSH" hat.
Und die Desktop.ini regelt die Anzeige im Explorer.
Benenne die doch mal um temporär. Effekt?

Grüße
Biber
Member: romeon
romeon Dec 22, 2008 at 19:33:27 (UTC)
Goto Top
Hi Biber,

Ja, "Ansichtssache" trifft es am besten face-wink

Mit den ganz normalen Anzeigeoptionen im Explorer werden versteckte Dateien/Ordner ja nicht angezeigt. Schaut man aber auf C:, sieht man dennoch einen "Programme"-Ordner (oder -verweis), auf jeden Fall rein optisch ist ein "Programme" da.

Führe ich aber die Zeile oben aus, dann verschwindet dieser Programme-"Ordner" oder -verweis bei der normalen Ansicht im Explorer, weil diese eine Zeile das Attribut versteckt setzt. Der normale User denkt jetzt, dass der Programme-"Ordner" nicht mehr da ist, gelöscht wurde, auf jeden Fall nicht mehr da ist, weil er durch diese eine Zeile eben warum auch immer versteckt wurde.

Kopiere ich mit der xcopy-Zeile eine Datei nicht in "Programme", sdn in einen anderen Ordner (einen "richtigen" Ordner), dann bleibt der Zielordner sichtbar, also so, wie man es erwartet.

Ich selber lasse mir auch alles anezeigen, deshalb fiel es mir nicht auf, aber ein Bekannter, der die normale Dateiansicht hat (versteckte werden nicht angezeigt), und die Zeile ausgeführt hat, bei dem ist der "Ordner" in der Ansicht verschwunden.
Wenn du Lust hast, kannst du es gerne mal ausprobieren - müsstest halt kurz die Ansichtoptionen des Explorers wieder dahingehend ändern, dass versteckte nicht angezeigt werden. Dann siehst die den "Ordner" und nach Ausführen der Batch (wahrscheinlich reicht es auch per CMD) ist er verschwunden, da das Attribut "versteckt" gesetzt wurde.

Lässt man sich alle Dateien im Explorer anzeigen, liegt die kopierte Datei anschließend im unsichtbaren Programme-Ordner (er wird als Ordner angezeigt). Ich hab ebenfalls einen zweiten Programme-"Ordner", der aber wohl eine Verknüpfung ist und auf den ich per Explorer nicht zugreifen kann (Zugriff verweigert).

Per CMD ist die kopierte Datei nur in Program Files zu finden.

Wie gesagt, mir gehts echt nur darum, dass diese sch... Zeile für den normalen User den sichtbaren Programme-Ordner versteckt und ich weiß ums Verrecken nicht warum.

Wenn ich die desktop.ini des vermeintlich echten Programme-Ordners umbennene, verschwindet dieser in der Explorer-Ansicht ganz, auch wenn versteckte Dateien angezeigt werden sollen. Stattdessen gibt es nun auch im Explorer "program files". Mache ich die Änderungen rückgängig (die geänderte desktop.ini program files), dann habe ich wieder den Programme-Ordner im Explorer, aber weiterhin ist er unsichtbar und für den normalen User nicht zu sehen.

Es war eine Menge Text, hoffentlich habe ich es verständlich wiedergegeben. Ich bin absolut ratlos und weiß nicht, wie ich für den normalen USer (versteckte Dateien werden ausgeblendet) den Ordner wieder sichtbar machen kann ...

Danke face-smile

Gruß,
romeon
Member: Biber
Biber Dec 22, 2008 at 20:04:32 (UTC)
Goto Top
Moin romeom,
Wie gesagt, mir gehts echt nur darum, dass diese sch... Zeile für den normalen User den sichtbaren Programme-Ordner versteckt und ich weiß ums Verrecken nicht warum.
Okay, dann nimm doch mal die Attribute des eigentlichen Zielordners "c:\program files" unter die Lupe..
Der "sichtbare" Ordner "C:\Programme" hat wahrscheinlich "R", und möglicherweise hat "c:\program files "SH" statt "RSH". Denn xCopy löscht standardmäßig das "R"eadonly-Attribut.

Grüße
Biber
Member: romeon
romeon Dec 22, 2008 at 20:34:17 (UTC)
Goto Top
Hi Biber,

Da habe ich leider dasselbe Problem:

C:\>attrib "program files"
SH I C:\Programm Files

C:\>attrib +r "program files"
Versteckte Datei wird nicht zurückgesetzt - C:\Program Files

C:\>attrib programme
SH I C:\Programme

C:\>attrib +r "programme"
Versteckte Datei wird nicht zurückgesetzt - C:\Programme


C:\>attrib -h "programme"
Versteckte Datei wird nicht zurückgesetzt - C:\Programme

C:\>attrib -h "program files"
Versteckte Datei wird nicht zurückgesetzt - C:\Program Files


(jeweils mit veränderter desktop.ini versucht und mit richtiger)

Bin als Admin angemeldet und UAC ist deaktiviert ...

Ciao,
romeon
Member: bastla
bastla Dec 22, 2008 at 20:50:29 (UTC)
Goto Top
Hallo romeon und Biber!

Wenn ich mich mal kurz (für dieses Detailproblem) einklinken darf:
attrib -s -h "program files" & attrib +s +h +r "program files"
Grüße
bastla
Member: romeon
romeon Dec 22, 2008 at 20:56:40 (UTC)
Goto Top
ahhhhhhh!!!

Ich hatte doch noch im Hinterkopf, dass irgendwas beim Setzen beachtet werden muss. Das wars!! Die Attribute müssen gleichzeit entfernt werden, dann klappt es!!

Habe es mit -s -h (und +s) hinbekommen.

Danke danke bastla und danke auch an Biber für die Mühe mit mir!!! face-wink
Member: Biber
Biber Dec 22, 2008 at 21:06:22 (UTC)
Goto Top
Moin romeon und danke bastla,

sorry, ich war grade in einem noch abstruseren Beitrag hier im Forum am Tippseln...

@romeon: Ändert das zusätzlich gesetzte "+R" denn irgendetwas an der "Sichtbarkeit"?

Grüße
Biber
Member: romeon
romeon Dec 22, 2008 at 21:13:48 (UTC)
Goto Top
Hi Biber,

ne, ändert bei mir eigentlich nichts. mit +SHR bleibt er trotzdem unsichtbar. Ich hab Programme jetzt auf -H gesetzt, dann ist alles ok (zumindest schaut es so aus wie vorher). Ich müsste ein Image aufspielen, um zu sehen, wie es vorher war - denn alle meine Rechner sind zwecks Testen schon "verseucht" mit der oberen Zeile.

Ciao,
romeon