PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Powershell: Kann clc-Befehl nicht ausführen - Schreibweise falsch?


Rampage 2
2013-10-12, 15:20:28
Hallo,

Ich will den Inhalt folgenden Ordners löschen (genauer gesagt nicht die Files selber sondern deren Inhalt):

C:\Program Files (x86)\Steam\userdata\29214209\240\remote

Dazu habe ich erst die Eingabeaufforderung gestartet (SHIFT + Rechtsklick auf den oben genannten Ordner ("remote") ) und dann "powershell" eingegeben.

Dann habe ich folgenden Befehl eingegeben: clc C:\Program Files (x86)\Steam\userdata\29214209\240\remote\*

Daraufhin kam eine Fehlermeldung:

"Die Benennung "x86" wurde nicht als Name eines Cmdlet, einer Funktion, einer Skriptdatei oder eines ausführbaren Programms erkannt. Überprüfen Sie die Schreibweise des Namens, oder ob der Pfad korrekt ist (sofern enthalten), und wiederholen Sie den Vorgang.
Bei Zeile:1 Zeichen:26
+ clc C:\Program Files (x86 <<<< )\Steam\userdata\29214209\240\remote\*
+ CategoryInfo : ObjectNotFound: (x86:String) [], CommandNotFound
Exception
+ FullyQualifiedErrorId : CommandNotFoundException"

Ich bin mir sicher, dass ich die Schreibweise nicht richtig gemacht habe - ich bin nach dieser Anleitung vorgegangen (ansonsten benutze ich PowerShell nicht):

http://forums.steampowered.com/forums/showthread.php?t=2470784&page=4

Also wie schreibt man den Befehl richtig, damit er korrekt ausgeführt wird? Ich habs bereits gegoogelt aber keine zufriedenstellende Antwort gefunden;)

Ich hoffe, dieses Unterforum ist geeignet für diesen Thread...

Thx,

R2

samm
2013-10-12, 15:28:03
Pfad in Anführungszeichen setzen, weil er Leerzeichen enthält.

Rampage 2
2013-10-12, 16:51:23
Pfad in Anführungszeichen setzen, weil er Leerzeichen enthält.

Thx, das Problem ist nun gelöst, dafür aber jetzt ein anderes:

"Clear-Content : Der Zugriff auf den Pfad "C:\Program Files (x86)\Steam\userdata\29214209\240\remote\cfg" wurde verweigert.

Bei Zeile:1 Zeichen:4

+ clc <<<< "C:\Program Files (x86)\Steam\userdata\29214209\240\remote\*"
+ CategoryInfo : PermissionDenied: (C:\Program File...\240\remote
\cfg:String) [Clear-Content], UnauthorizedAccessException
+ FullyQualifiedErrorId : ClearContentUnauthorizedAccessError,Microsoft.Po
werShell.Commands.ClearContentCommand"

Die Ordner waren schreibgeschützt - die Häkchen habe ich dann entfernt, aber das Problem tritt weiterhin auf:confused:

Trap
2013-10-12, 17:08:47
Eingabeaufforderung explizit als Admin starten. (Rechtklick->Als Administrator ausführen).

Rampage 2
2013-10-12, 17:35:04
Eingabeaufforderung explizit als Admin starten. (Rechtklick->Als Administrator ausführen).

Habe ich bereits versucht - sowohl explizit als auch als Admin (also Abmelden -> als Admin anmelden -> Powershell öffnen (sowohl 32Bit als auch 64Bit)) -> selben Befehl reinschreiben)

Es kommt immer wieder derselbe Fehler.

R2

samm
2013-10-12, 19:29:26
Sicher, dass es als Admin lief? 46905

Eine andere Variante wäre, dass Steam noch am Laufen war.

Rampage 2
2013-10-12, 20:10:28
Sicher, dass es als Admin lief? 46905

Eine andere Variante wäre, dass Steam noch am Laufen war.

Ja, habe ich alles bereits versucht und Steam habe ich immer beendet, bevor ich den Befehl eingegeben habe. Ich habe danach nochmal im Taskmanager nachgeschaut, ob noch irgendein Steam-Service am Laufen ist - Nichts!

R2

samm
2013-10-14, 23:24:21
Sorry, dass ich nochmal nachfrage - hast du wirklich Powershell als Admin gestartet oder cmd als Admin und daraus dann Powershell? Vielleicht spielt das eine Rolle. Ok, ich rate sinnlos rum ;)

Vielleicht mal zusätzlich den Parameter "-force" mitgeben?

pollux
2013-10-15, 13:27:55
Ich kann das Problem bei mir nachvollziehen - trotz ausreichender Rechte gehts nicht.
Lösung:
remove-item Ordnername -recurse

Allerdings, ein einfaches rmdir /S/Q Ordnername tuts auch.(cmd)

Edit: in jedem Falle muss die Powershell oder cmd natürlich explizit mit Administratorrechten gestartet werden.

Rampage 2
2013-10-15, 15:40:40
Ich kann das Problem bei mir nachvollziehen - trotz ausreichender Rechte gehts nicht.
Lösung:
remove-item Ordnername -recurseAllerdings, ein einfaches rmdir /S/Q Ordnername tuts auch.(cmd)

Edit: in jedem Falle muss die Powershell oder cmd natürlich explizit mit Administratorrechten gestartet werden.

Das Wichtige ist, dass der Ordner (und die enthaltenen Files) eben NICHT gelöscht werden, sondern deren Inhalt gelöscht wird - dass die Files also weiter existieren aber 0 Byte groß sind (also dass die Files "geleert" werden). Das ist, was die Anleitung erreichen will.

R2

pollux
2013-10-15, 16:03:13
ah ok sorry. wenns nicht anders geht: per Schleife alle Dateien in allen Unterverzeichnissen durchgehen und NULLen

edit: auf eigene Gefahr:
Get-ChildItem -directory "C:\Program Files (x86)\Steam\userdata\29214209\240\remote" -recurse | ForEach-Object {if ($_.Attributes -ne "Directory") {New-Item $_.fullname -type file -force} }

mit "for /r" bekommt man das auch unter ner normalen Commandline hin.