Jump to content

schreckinger

Members
  • Gesamte Inhalte

    73
  • Registriert seit

  • Letzter Besuch

Alle erstellten Inhalte von schreckinger

  1. hallo danke erstmal für die Erklärung. Aber mir ist unklar wofür ich einen Zeitstempel funktion benötigte ? Überprüft diese Function die Zeitstempel von Datein damit diese nicht daruüber kopiert werden ? Kann ich das nicht lösen mit dem Operator -match in der schleife ? Das mit log werde ich verwenden. Die Transaktionen brauche ich nicht zu sichern dachte mir nur das wird alles mit Protokliert was passiert. Frage zum $event = "hier steht dein Fehler oder deine Info" #Setzt das Datum (zum String formatiert) -kann man bei Bedarf auch in anderen Format ausgeben- und den String in das angegebene Log. (get-date).toString() + $event >> c:\log.log Brauche ja den Pfad der Datei die Kopiert wird, deswegen bin ich leicht verunsichert wegen den Zeitangaben im Code ( Get-date) und wegen dem Zeitstempel. Ich freue mich auf eine Antwort :)
  2. Hallo Blubb... okay wo es hackt ;) leider zur Zeit noch an mehren Stellen. #Quelle $src = "C:\filetyp" #Ziel $dst = "\\fileserver01\filetyp" #Schleife über Dateisystem. $abc = foreach($file in (Get-ChildItem $src -Recurse -include *.txt,*.doc,*.ppt)){ #Dateiname im Ziel $dstfile = $file.FullName.replace("$src","$dst") #Ordner im Ziel $dstfolder = $dstfile.split('\')[0..($dstfile.split('\').length-2)] -join '\' #Testen ob diese Datei NICHT existiert if(!(test-path $dstfile)){ #Testen ob ein Ordner existiert if(!(test-path $dstfolder)){ #Wenn er nicht existiert, dann an anlegen new-item $dstfolder -type directory -recurse }s #Wenn die Datei nicht existiert von der Quelle kopieren copy-item $file.FullName $dstfolder } } Start-Transaction -path "C:\Benutzer\lrzlboh\Desktop\transcript1.txt" -noclobber #$abc | Select-String -path Habe den Ansatz das ich mit Transaction vorgänge in einer Log Datei sichere, und mit die ganze Foreach Schleife in einer Variablen definiere damit ich dann $abc mit "Select-String" den Pfad auslesen kann ... bin mir aber noch nicht im Klaren wie das genau Funktioniert.. Habe mir gerade das Buch PowerShell in Action zu gelegt also sollte es bald aufhörn mit der Fragerei, aber wie gesagt bin ich sehr dankbar für Hilfe oder einen Denk Anstoß.
  3. Zusatz: Das Programm wird dann nicht für *.txt genommen sondern für Datenbank-files.
  4. Ja des schon, aber wenn eine Datei gleich ( besser gesagt wenn der Dateiname schon vorhanden ist) ist soll er abbrechen. aber dann komplett raus. Dass soll ich in einem Log mitschreiben wenn er abbricht. Wenn aber keine Datei gleich sind soll das Script einfach alle Dateien Kopieren und dann in eine Variable in einem String speichern. Im String soll der Pfad der kopierenden Datei stehen. Die File brauche ich nur auf den Namen checken, der Inhalt ist nicht wichtig. Danke nochmals
  5. So das Script läuft jetzt wunderbar :) hab mich verguckt ... so daher es noch weiter geht lasse ich den Thread noch offen :) ich soll nun in das Vorhande Script eine Abfrage einbauen die folgendes kann: Also wenn auf den Quell Laufwerk eine Datei Gleich ist am Ziel Laufwerk soll er abbrechen. Sofrot raus. Und dann soll ich noch in der Varaiable eine String definieren wo die Daten hinkopiert worden sind, wenn er nicht abbricht. Wie gesagt daher mir das ganze noch neu ist bitte ich um Anregungen sowie Hilfe Danke
  6. Hallo danke für den Hinweiß mit { das was ich jetzt noch habe ist ... das Script läuft durch macht aber nix ? #Quelle $src = "C:\filetyp" #Ziel $dst = "\\fileserver01\filetyp" #Schleife über Dateisystem. foreach($file in (Get-ChildItem $src -Recurse -include *.txt,*.doc,*.ppt)){ #Dateiname im Ziel $dstfile = $file.FullName.replace("$src","$dst") #Ordner im Ziel $dstfolder = $dstfile.split('\')[0..($dstfile.split('\').length-2)] -join '\' #Testen ob diese Datei NICHT existiert if(!(test-path $dstfile)){ #Testen ob ein Ordner existiert if(!(test-path $dstfolder)){ #Wenn er nicht existiert, dann an anlegen new-item $dstfolder -type directory -recurse } #Wenn die Datei nicht existiert von der Quelle kopieren copy-item $file.FullName $dstfolder } } Weiters möchte ich eine Abfrage einbauen die das Script mit protokoliert, was genau passiert ? Wie kann ich das am besten lösen. Und nochmals ich kann mich nur bei euch bedanken das ihr euch Zeit nehmst. Echt ein klasse Forum. ( Kennt man eigentlich nicht so aus der Windows Welt) Na dann im diesem Sinne wünsche ich euch allen einen wünderschönen Guten Morgen :)
  7. foreach($file in (Get-ChildItem $src -Recurse -include *.txt,*.doc,*.ppt)){ $dstfile = $file.FullName.replace("$src","$dst") if(!(Test-Path $dstfile)) copy-item $file.FullName $dstfolder } Missing statement block after if ( condition ). At line:4 char:1 + <<<< copy-item $file.FullName $dstfolder + CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordException + FullyQualifiedErrorId : MissingStatementBlock Die Meldung bekomme ich wenn ich es dirket in der Powershell Konsole ausprobiere Danke nochmals :)
  8. Hallo ja er spring mir ab der ersten if raus. und kopiert wird auch nix ? Obwohl ich die richten Quelle und Soruce ja angebe ? Danke nochmals
  9. was ich noch nicht daran verstehe #Quelle $src = "C:\Benutzer\filetyp" #Ziel $dst = "\\fileserver01\filetyp" #Schleife über Dateisystem. foreach($file in (Get-ChildItem $src -Recurse -include *.txt,*.doc,*.ppt)){ #Dateiname im Ziel $dstfile = $file.FullName.replace("$src","$dst") #Ordner im Ziel $dstfolder = $dstfile.split('\')[0..($dstfile.split('\').length-2)] -join '\' #Testen ob diese Datei NICHT existiert if(!(test-path $dstfile)){ #Testen ob ein Ordner existiert if(!(test-path $dstfolder)){ #Wenn er nicht existiert, dann an anlegen new-item $dstfolder -type directory -recurse } #Wenn die Datei nicht existiert von der Quelle kopieren copy-item $file.FullName $dstfolder } } aber ab der ersten if schleife bliebt er mir hängen ? Also ich verwende den PowerGUI Skript Editor dafür beim Schritt-weißen ausführe sehe ich es eine weiter Frage stellt sich mir ? Wie kann ich den am besten einen Fehlercode ermittelung einbauen sprich das er mir genau mit Protokoliert was er macht ? Danke nochmals :)
  10. Ein Problem hat sich mir noch aufgtan. Also beim Befehl: if(!(test-path $dstfile)) spring er mir immer raus ? Frage für was steht das ! in der ersten Klammer.... danke
  11. Okay danke, i probier das gleich mal aus mit deinem Script. Und nohcmals ein Fettes DANKE genau so erklärt das ich es Verstehen kann :D DANKE DANKE Aber ich bin sehr Wissen gierig :D Frage: #Ordner im Ziel $dstfolder = $dstfile.split('\')[0..($dstfile.split('\').length-2)] -join '\' was macht dieser Befehl ? Als erster defierst du dir die Varaible dstfolder und dann müss ich ehrlich sagen Bahnhof ? machst du ihr eine vergleich oder wie ? Und wie gesagt besten dank;)
  12. Hallo Ich möchte Powershell können / verstehen / nutzen. Aber mein Primäresziel ist es das Problem so schnell wie möglich zu lösen. Ich glaube wenn ich ein dieses Beispiel gelöst ist, werde ich sicher mehr verstehen, daher ich dann mal sehe wie genau der Abgleich funktioniert. Das Problem daran ist das mein Arbeitsgeber das Script schon benötigt und ich mich persönlich ein bisschen aus dem Fenster gelegt habe und ihm zuversichert habe das ich das Script bis am Freitag habe. Mir geht einfach noch der Zusammen hang ein bisschen ab. Oder besser gesagt die Richtige schreibweise. ich glaube mein Script unten im Anhang ist schon mal nichtso flasch ? Das mit neuen Thread dachte ich ist normal das man wieder einen neuen anlegt ? Sorry wird nicht wieder vorkommen...
  13. Hallo danke erstmals für deine Antwort. Ja der Fleiß fehlt sicher nicht, bin die ganze Zeit daran am Lernen von dieser Powershell. Aber zur Info ich komme aus dem Linux Bereich / Monitoring und daurch ich einen Jobwechsel machte, müss ich jetzt Powershell können. Aber mit den erklärungen aus dem Netz ist es halt immer so eine Sache. Bin wirklich dankbar wenn du dir ein wenig Zeit nimmst und mir die wichtigsten Dinge beibringst. Wäre auch bereit dich dafür zu entschädigen. In Form von Hilfe bei anderen Dingen oder mit einer Paysafe Karte. :) Folgendes. Ich soll nämlich ein Script schreiben: ich soll einen Odrner der auf C:\Filetyp liegt mit einem Ordner auf \\fileserver01\filetyp abgleichen. Die Dateien sollen nach folgenden Punkten ausgewählt werden. Also nur *.txt *.doc *.ppt sollen abgelichen werden. Dann sollen alle Datei von C:\filetyp auf den Server kopiert werden. Aber nur die Dateien die dem Fileserver fehlen $a = dir -Path C:\\filetyp # In der Variablen a steht jetzt der Inhalt vom Ordner $b = dir -Path \\fileserver\filetyp # In der Variablen b steht jetzt der Inhalt vom Netzlaufwerk Compare-Object -ReferenceObject $a -DifferenceObject $b | Format-Table #diff -includeequal -excludedifferent -ReferenceObject ($a -r) -DifferenceObject ($b -r) $src = $a $dst = $b move-item -recurse $src $dst Nur so wie ich mir das gedacht habe funktioniert das nicht. Aufjedenfall wäre ich für Hilfe sehr dankbar. Hoffentlich ist es verständlich geschrieben Lg Schreckinger
  14. Hallo Gemeinde Meine Frage: Besitzt jemand von euch einfach Codebeispiele für die Foreach Schleife + kleiner Erklräung Wäre sehr dankbar dafür daher ich noch nicht dahinter gekommen bin wie diese Schleife funktioniert. Danke lg schreckinger
  15. Guten Morgen. So leute ganz ehrlich gesagt steh ich noch immer an. $a = dir -Path C:\Benutzer\filetyp # In der Variablen a steht jetzt der Inhalt vom Ordner $b = dir -Path \\server01\filetyp # In der Variablen b steht jetzt der Inhalt vom Netzlaufwerk foreach ($datei in $a) { write-host $datei.name } Meine Frage baue ich den Abgleich ob es die Bestimmten File Typen sind nach der ersten { ein ? und wechlen Vergleichs Operator kann ich nehmen ? Gib es einen der auf die *.txt, *.doc, *.pps schaut ? Danke nochmal
  16. So einzig wo ich noch immer hänge ist die Foreach schleife ? Kann man eine foreach schleife im hinteren Teil durch Pipen damit ich mir mit sort-object die filetypen ayaliesrung zu machen ? Wie man Kopiert habe ich noch nicht verstanden ? mit move-item oder ? danke nochmal
  17. Hallo Dukel :) Wie gesagt beschäftige ich mich seit ca 10 Tagen mit der Powershell. Brauche die Scripts für meinen neuen Arbeitgeber. Habe einen 5 Tägigen Grundkurs hinter mir und seit letzten Freitag spiele ich mich herum mit der Powershell. Heute hab ich meinen ersten Auftrag bekommen. Aber ich versteh es halt noch nicht so ganz. Woher man die ganzen Befehle nimmt ? Deswegen meine Frage ob es eine Liste mit Befehlen für die Foreach schleife gibt ? Also ich möchte einfach die Daten per Filetyp & per Name vergleichen. Ist die selbe datei oben das soll es so bleiben. Fehlt eine Datei soll er sie von C auf den Share Kopieren.
  18. Okay soweit hab ich verstanden mit der Foreach Schleife. Aber was ich noch immer nicht ganz verstehe woher nehme die Befehle für die Foreach Schleife. Sprich wo begebe ich ihm an das er zum Beispiel den vergleich startet und den kopier vorgang macht. Gibt es da so eine Art Datenbank wo die einzeln Befehle drinnen stehen die eine Foreach Schleife verarbeiten kann ? Danke nochmals
  19. Hallo Dukel ich stell jetzt mal eine Frage kannst du mir anhand eines Beispiel von dir die foreach schleife erklären ? danke
  20. Danke erstmals für deine Antwort. Wie meinst du mit einer Schleife ? Hast du ein Beispiel für mich ? oder kennst du ein gutes Tutarial für Schleifen ?
  21. Hallo Gemeinde Kurz zur Info. Ich beschäftige mich erst seit 10 Tagen mit der Powershell steh also noch richtig am Anfang also bitte vorweg seit mir nicht böse wenn ich vielleicht "dumme" fragen stelle. Danke schon mal im Voraus für eure Hilfe. Also folgendes Ich soll ein Script schreiben welches auf dem Ordner der auf C liegt alle 3 Dateitypen ( *.txt *.doc *.pps) auflistet dann soll das Script einen Vergleich auf ein Netzlaufwerk machen und alle vorher gefunden 3 Dateitypen abgleichen. Wenn das file nicht vorhanden ist soll es dort hinkopiert werden. Wenn es vorhanden ist soll er einfach weiter machen. Alles klar soweit ? Okay jetzt zu meiner Lösung hab mir gedacht .... Ich definiere mir 2 Variablen. $a = dir -Path C:\Benutzer\user1\daten # somit habe ich ja die Daten nu in der Variablen ..... Zwischen Frage reicht mir das so ? weil wenn ich die $a ausgebe sehe ich die Auflistungen 2.tens haben ich mir die Variable $b definiert. $b = dir -Path \\server01\user1\daten2 jetzt besitze ich 2 Variablen ... die Inhalte von Ordner anzeigen. Aber wie löse ich jetzt am besten den Vergleich + Kopier Vorgang ? Hat wer eine Idee oder einen Denkanstoß für mich Danke nochmals für eure Hilfe Lg Schreckinger :D
×
×
  • Neu erstellen...