Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Xcopy Auswertung in Variable speichern

Frage Entwicklung Batch & Shell

Mitglied: Nightythehawk

Nightythehawk (Level 1) - Jetzt verbinden

02.10.2014 um 09:40 Uhr, 1223 Aufrufe, 10 Kommentare

Hallo Admins & Co,

bin gerade auf der Suche nach einer Möglichkeit die Auswertung meiner Batchdatei in eine Variable zu speichern und sie am Ende nochmal als Info auszugeben.

Mein Skript kopiert via xcopy Daten von einem PC auf den Stick in die dafür erstellen Ordner, das klappt soweit auch alles gut!
Jetzt soll aber am Ende meines Batchskriptes eine Auflistung kommen wie viele Daten er kopiert hat!
xcopy gibt ja nach jedem Kopiervorgang automatisch an das ** Dateien kopiert wurden.
Kann man diese Ausgabe direkt in eine Variable umleiten?

Hoffe Ihr versteht was ich meine ;)

Einen guten Start in den letzten Arbeitstag dieser Woche!

Gruß Nighty
Mitglied: laster
02.10.2014 um 11:16 Uhr
Hallo Nighty,

01.
for /F "tokens=1 Delims= " %%i in ('xcopy /s /e /Y c:\temp\*.txt d:\yyy ^| find " Datei(en) kopiert"') do @set WORT=%%i 
02.
echo %WORT%
Kopiert alle TXT-Dateien von c:\temp nach d:\yyy und gibt am Ende die Anzahl (Variable WORT) aus. Mit WORT kannst Du dann weitermachen ...

VG
LS
Bitte warten ..
Mitglied: Nightythehawk
02.10.2014 um 11:43 Uhr
Ok, mein aktueller Befehl lautet:

"%SCRIPT_PFAD%\xcopy_xp.exe" "C:\Dokumente und Einstellungen\%NAME%\Desktop" "%SCRIPT_PFAD%\%COMPUTERNAME%\%USERNAME%\Desktop" /i /s /e /y /q

(Die Deklarierung der Variablen geschieht am Anfang.)

Deine Zeile mit meiner gefüttert würde dann so aussehen, ist das richtig?

for /F "tokens=1 Delims= " %%i in ('xcopy /i /s /e /y /q C:\Dokumente und Einstellungen\%NAME%\Desktop %SCRIPT_PFAD%\%COMPUTERNAME%\%USERNAME%\Desktop ^| find " Datei(en) kopiert"') do @set WORT=%%i

und das kann ich dann direkt mit meiner Zeile im Skript ersetzen? Oder muss ich da noch was beachten?

Gruß Nighty
Bitte warten ..
Mitglied: Nightythehawk
02.10.2014 um 11:50 Uhr
Nachtrag.

Habe den neuen Skriptteil getestet, leider erhalte ich die Meldung " Unzulässige Parameteranzahl".
Die Parameter habe ich bis auf /y rausgenommen aber kommt trotzdem noch.. hm ..
Bitte warten ..
Mitglied: Biber
02.10.2014 um 13:02 Uhr
Moin Nightythehawk,

dann setze doch den Quellpfad-mit-Leerzeichen in Anführungszeichen ("C:\Dokumente und was auch immer...\...\Desktop").

Grüße
Biber
Bitte warten ..
Mitglied: Nightythehawk
02.10.2014 um 13:19 Uhr
Danke Biber, das hat noch gefehlt!

Eine Frage zu den Tokens ! Wenn ich die Zeile nochmal verwenden möchte, muss ich dann "tokens=2" setzen!?
Bitte warten ..
Mitglied: laster
02.10.2014 um 13:49 Uhr
Hallo,

Tokens=1 bedeutet, dass von der Ausgabe (Teil in den Klamern) das 1. Wort (getrennt durch Leerzeichen) verwendet wird.
Wenn Du die Anweisung/Zeile mehrfach hintereinander ausführst, ändert das nichts an dem Ergebnis (mal abgesehen von der Anzahl ...)

VG
LS
Bitte warten ..
Mitglied: Nightythehawk
02.10.2014 um 14:06 Uhr
Verstehe, ok!

Also der Test mit der Zeile war erfolgreich, in meinem Skript allerdings führt es zu einem direkten Absturz, trotz Pause.

Der Unterschied zwischen meinem Test-Skript und dem richtigen Skript ist das Ziel von XCOPY, im richtigen Skript wird dafür erst der USB-Stick mit %SCRIPT_PFAD% ausgewählt (vorher im Skript mit "@SET SCRIPT_PFAD=%~dp0" gesetzt".

Richtige Skript:
for /F "tokens=1 Delims= " %%i in ('xcopy /i /s /e /y /q "C:\Dokumente und Einstellungen\%NAME%\Desktop %SCRIPT_PFAD%\%COMPUTERNAME%\%USERNAME%\Desktop ^| find " Datei(en) kopiert"') do set Ausgabe1=%%i

Test-Skript:

@for /F "tokens=1 Delims= " %%i in ('xcopy /i /s /e /y /q "C:\Dokumente und Einstellungen\%NAME%\Desktop" C:\Test\ ^| find " Datei(en) kopiert"') do set WORT=%%i

Sorry das ich gerade soviel nachfragen muss^^

Gruß Nighty
Bitte warten ..
Mitglied: laster
02.10.2014, aktualisiert um 14:14 Uhr
Der Unterschied zwischen meinem Test-Skript und dem richtigen Skript ist
das vergessene doppelte Anführungszeichen zum Abschluß des Quellpfades.

setz vor die Zeile mal ein echo und schau Die die Ausgabe genau an, schrittweise herantesten ...

Gruß
LS
Bitte warten ..
Mitglied: laster
06.10.2014 um 09:21 Uhr
Hallo Nighty,

wenn's geholfen hat, bitte [Zur Lösung beigetragen] anklicken.
Schöne Woche!

LS
Bitte warten ..
Mitglied: Nightythehawk
06.10.2014 um 11:55 Uhr
Hallo laster,

bin noch dabei zu testen, werde das Ergebnis auch nochmal posten!

Gruß Nighty
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Batch & Shell
Wert in Registry suchen und in Variable speichern (2)

Frage von J.Troll zum Thema Batch & Shell ...

Batch & Shell
Batch-Variable nach Stichworten aus TXT Datei durchsuchen (3)

Frage von Markus5579 zum Thema Batch & Shell ...

VB for Applications
gelöst VBA-Makro verschwindet nach Speichern (5)

Frage von lupi1989 zum Thema VB for Applications ...

Batch & Shell
gelöst Selected Gridview Value in Variable schreiben (4)

Frage von reissaus73 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (33)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...

Windows Netzwerk
Windows 10 RDP geht nicht (18)

Frage von Fiasko zum Thema Windows Netzwerk ...