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, 1241 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
Exchange Server

WSUS bietet CU22 für Exchange 2007 SP3 nicht an. EOL Exchange 2007

Tipp von DerWoWusste zum Thema Exchange Server ...

Ähnliche Inhalte
Batch & Shell
Wert in Registry suchen und in Variable speichern (2)

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

Microsoft Office
gelöst Outlook 2007 kann kein Kennwort speichern ausgegraut (4)

Frage von Akcent zum Thema Microsoft Office ...

Outlook & Mail
gelöst Outlook vba Email Anhang in Ordner speichern (3)

Frage von Daywalkercxp zum Thema Outlook & Mail ...

Heiß diskutierte Inhalte
Exchange Server
Test-ActiveSyncConnectivity Error nach neuem Zertifikat (17)

Frage von Driphex zum Thema Exchange Server ...

Batch & Shell
gelöst Batch xls nach aktuellem Datum auslesen und email senden (14)

Frage von michi-ffm zum Thema Batch & Shell ...

Backup
Datensicherung ARCHIV (12)

Frage von fautec56 zum Thema Backup ...