Benutzer mit den meisten Antworten
Powershell: count-Eigenschaft im Script nicht erkannt

Frage
-
Moin Forum!
Ich habe ein Script, das unter anderem eine SQL-Datenbank austauschen soll. Manuell in der Powershell funktioniert das auch, lasse ich es als Script laufen, wird die count-Eigenschaft nicht gefunden:
(100 Zeilen tolle Sachen, Variablen gefüllt...)
if (Verzweigung Level 1) {
$sf_DBPfadTmp = "$sf_Dir\Unterordner"
if ((Get-ChildItem "$sf_DBPfadTmp\*.* -Include *.bak).count = 1) {
Tu was!
}
}Von Hand ausgeführt ist tutti bene, im Script meckert er "Die Eigenschaft "count" wurde für dieses Objekt nicht gefunden. Vergewissern Sie sich, dass die Eigenschaft vorhanden ist und festgelegt werden kann."
Beim manuellen Ausführen habe ich die if-Verzweigungen nicht dabei, da mache ich das einzeln. Kann es sein, dass so etwas in Verzweigungen oder mit den doppelten Klammern ein Problem ist? Hat da jemand einen liebevollen Klaps auf den Hinterkopf für mich?
Das "Tu was" darf nur ausgeführt werden, wenn es genau eine *.bak-Datei gibt. Gibt es vielleicht eine andere sinnvolle Art, die Anzahl von Dateien zu zählen?
Grüße aus dem Norden
Jörg
Ich will die Welt verbessern und bei mir fang' ich an. Deal? der Joerg
Antworten
-
- Als Antwort markiert Yavor TanevMicrosoft contingent staff Donnerstag, 19. März 2020 08:26
-
if ((Get-ChildItem "$sf_DBPfadTmp\*.bak").count -eq 1)
Das "=" Zeichen ist eine Zuweisung und count ist keine Eigenschaft für eine Zuweisung (readonly).
Das -include kannst du dir ja schenken, da du den pfad direkt korrekt angeben kannst.
Außerdem vermisse ich das abschließende Anführungszeichen.- Bearbeitet Der Suchende Montag, 9. März 2020 17:12
- Als Antwort markiert Yavor TanevMicrosoft contingent staff Donnerstag, 19. März 2020 08:26
Alle Antworten
-
- Als Antwort markiert Yavor TanevMicrosoft contingent staff Donnerstag, 19. März 2020 08:26
-
if ((Get-ChildItem "$sf_DBPfadTmp\*.bak").count -eq 1)
Das "=" Zeichen ist eine Zuweisung und count ist keine Eigenschaft für eine Zuweisung (readonly).
Das -include kannst du dir ja schenken, da du den pfad direkt korrekt angeben kannst.
Außerdem vermisse ich das abschließende Anführungszeichen.- Bearbeitet Der Suchende Montag, 9. März 2020 17:12
- Als Antwort markiert Yavor TanevMicrosoft contingent staff Donnerstag, 19. März 2020 08:26
-
@ Evgenij Smirnov und Der Suchende:
Jetzt, wo Ihr es sagt... Schade, nicht aufgepasst beim Kopieren. Ärgerlich, dass es in Powershell selbst funktioniert hat, das war in diesem Fall eher verwirrend. Mit -eq funktioniert es natürlich auch im Script.
Danke dafür!
@ Der Suchende: Ich habe mir zum ersten Mal ein Script gebaut, in dem ich bewusst count verwende. Ich übe gerade ;-)
Danke auch hier für den Tipp!
Das fehlende Anführungszeichen ist beim Übertragen untergegangen, im Script ist es vorhanden.
Danke Euch!
Der Jörg
Ich will die Welt verbessern und bei mir fang' ich an. Deal? der Joerg