Top-Themen

Aktuelle Themen (A bis Z)

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

gelöst Per DOS eine Variable in eine andere Variable kopieren

Mitglied: diesta

diesta (Level 1) - Jetzt verbinden

16.10.2010, aktualisiert 21:36 Uhr, 5847 Aufrufe, 6 Kommentare

Hallo Leute,
ich habe in einem Verzeichnis ( w:\Kamera\Zwi\ ) mehrere Unterverzeichnisse.
Diese Unterverzeichnisse haben alle als Namen ein Datum.
zB. 20101014, 20101015, 20102016 usw.
Jedes dieser Unterverzeichnisse enthält Dateien welche als Namen
eine Uhrzeit haben.
zB. 121025R.txt, 134812R.txt, 152456R.txt usw.

Das Ergerbnis einer Batchprozedur sollte folgendes sein.
Alle Dateien werden in ein neues Verzeichnis ( W:\Kamera\Zeigen\........)
kopiert und sollen folgende Dateinamen haben:
20101014_121025R.txt
20101014_134812R.txt usw.
.....| ..................... |
Ordner- ......... Datei-
name ............ name


ich habe versucht die nachfolgende Bat-Datei zu erstellen.

01.
@ECHO On 
02.
 
03.
SET verzeichnis=W:\Kamera\Zwi 
04.
SET Daz=ABCDEFGHIJKL 
05.
 
06.
 
07.
FOR /F "tokens=*" %%a in ('DIR %verzeichnis% /AD /S /B') DO ( 
08.
 
09.
rem ++++ Die Variable %%a hat jetzt folgenden Inhalt: 
10.
rem ++++ w:\Kamera\Zwi\DATEINAME 
11.
rem ++++ Dieser Inhalt wird jetzt in die Variable Daz kopiert  
12.
 
13.
set Daz=%%a 
14.
 
15.
 
16.
rem ++++ Jetzt soll ab Pos. 15 der Dateiname in die Variable DAT 
17.
rem ++++ kopiert werden 
18.
rem ++++ Funktioniert nicht ???????? 
19.
 
20.
set "Dat=%Daz:~15,8%" 
21.
 
22.
 
23.
rem ++++ Auch dieser copy funktioniert nicht mit *.* 
24.
 
25.
COPY "%%a\*.*" "W:\Kamera\Zeigen\%Dat%_*.*" 
26.
 
27.
)
Funktioniert leider nicht.
Wer kann helfen ?

Gruß diesta

[Edit Biber] Codeformatierung [/Edit]
Mitglied: bastla
16.10.2010 um 21:42 Uhr
Hallo diesta!

Soferne es nur eine Unterverzeichnisebene gibt, könntest Du das so versuchen (ist allerdings ungetestet):
for /d %a in ("W:\Kamera\Zwi\*.*") do @for %d in ("%i\*.txt") do @echo copy "%d" "W:\Kamera\Zeigen\%~nxa_%~nxd"
Zum Testen kannst Du diesen Ansatz direkt an der Kommandozeile eingeben - das Ergebnis sollte die Anzeige der gewünschten "copy"-Befehle sein; ausgeführt werden diese aber nur, wenn Du das "echo" vor dem "copy" entfernst.

Wenn Du einen Batch daraus machen möchtest, einfach jedes (hier) vorkommende Prozentzeichen verdoppeln und, nach Wunsch, an den passenden Stellen Deine Variablen (mit jeweils einfachen Prozentzeichen) für die Pfade einsetzen ...

Grüße
bastla

[Edit] Laufvariablen %a und %d an unten stehende Variante angepasst [/Edit]
Bitte warten ..
Mitglied: diesta
16.10.2010 um 21:56 Uhr
Hallo Bastia,
leider funktioniert es nicht. Weder mit @echo noch ohne @echo kommt etwas.
Bitte warten ..
Mitglied: bastla
16.10.2010 um 22:54 Uhr
Hallo diesta!

Wenn Du überhaupt keine Ausgabe erhältst, kann das eigentlich nur daran liegen, dass es entweder keine Unterordner von "W:\Kamera\Zwi" gibt oder sich in diesen Unterordnern keine ".txt"-Dateien befinden - daher bitte nochmals die Inhalte der Klammern prüfen ...

... oder den folgenden Batch auf Basis Deines Entwurfes (und daher ohne Einschränkung auf ".txt"-Dateien) testen:
01.
@ECHO On & setlocal 
02.
 
03.
SET verzeichnis=W:\Kamera\Zwi 
04.
 
05.
FOR /F "delims=" %%a in ('DIR "%verzeichnis%" /AD /S /B') DO ( 
06.
 
07.
    rem ++++ Die Variable %%a hat jetzt folgenden Inhalt: 
08.
    rem ++++ w:\Kamera\Zwi\ORDNERNAME 
09.
 
10.
    FOR /F "delims=" %%d in ('DIR "%%a\*.*" /A-D /B') do ECHO COPY "%%a\%%d" "W:\Kamera\Zeigen\%%~nxa_%%~nxd" 
11.
)
Grüße
bastla
Bitte warten ..
Mitglied: diesta
17.10.2010 um 10:34 Uhr
Hallo bastla !

Jetzt sind wir schon ein Stück weiter.
Die Variable %%d bekommt jedoch keinen Inhalt sodass der Copy nicht funktioniert.

Folgende DOS-Anezige

W:\Kamera>SET verzeichnis=W:\Kamera\Zwi

W:\Kamera>FOR /F "delims=*" %a in ('DIR W:\Kamera\Zwi /AD /S /B') DO (
FOR /F "delims=" %d in ('DIR "%a\*.*" /A-D /B') do ECHO COPY
"%a\%d" "W:\Kamera\Zeigen\%~nxa_%~nxd"
echo %a
echo %d
)

W:\Kamera>(
FOR /F "delims=" %d in ('DIR "W:\Kamera\Zwi\20101015\*.*" /A-D /B') do ECHO COPY

"W:\Kamera\Zwi\20101015\%d" "W:\Kamera\Zeigen\20101015_%~nxd"
echo W:\Kamera\Zwi\20101015
echo %d
)

W:\Kamera>ECHO COPY
COPY

W:\Kamera>ECHO COPY
COPY

W:\Kamera>ECHO COPY
COPY
Der Befehl ""W:\Kamera\Zwi\20101015\%d"" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.
W:\Kamera\Zwi\20101015
%d

W:\Kamera>(
FOR /F "delims=" %d in ('DIR "W:\Kamera\Zwi\20101016\*.*" /A-D /B') do ECHO COPY

"W:\Kamera\Zwi\20101016\%d" "W:\Kamera\Zeigen\20101016_%~nxd"
echo W:\Kamera\Zwi\20101016
echo %d
)

W:\Kamera>ECHO COPY
COPY
Bitte warten ..
Mitglied: bastla
17.10.2010 um 10:48 Uhr
Hallo diesta!

Kontrolliere zunächst das Ergebnis eines (direkt an der Kommandozeile eingegebenen)
DIR "W:\Kamera\Zwi\20101015\*.*" /A-D /B
Wenn das ok ist, versuche
FOR /F "delims=" %d in ('DIR "W:\Kamera\Zwi\20101016\*.*" /A-D /B') do ECHO %~nxd
Dein Test-Batch scheint nach "ECHO COPY" einen Zeilenumbruch zu enthalten - der gehört dort sicher nicht hin; wenn schon, dann sollte das eher so aussehen:
01.
FOR /F "delims=" %%d in ('DIR "%%a\*.*" /A-D /B') do ( 
02.
    echo %%a 
03.
    echo %%d 
04.
    ECHO COPY "%%a\%%d" "W:\Kamera\Zeigen\%%~nxa_%%~nxd" 
05.
)
Grüße
bastla

P.S.: Poste bitte Batch-Schnipsel, aber auch Ausgaben, unter "Code"-Tags ...
Bitte warten ..
Mitglied: diesta
17.10.2010 um 11:11 Uhr
Hallo Bastla !

Super !!!!! Es funktioniert.
Hat anscheinend am Zeilenumbruch gelegen.

Nochmals Danke.

Gruß diesta
Bitte warten ..
Ähnliche Inhalte
Batch & Shell

Dateinamen mit Leerzeichen mit xcopy in einer Variable kopieren

gelöst Frage von chainsawBatch & Shell8 Kommentare

Hallo Gemeinde, Für euch bestimmt ein banales Problem: Ich möchte mit folgendem Script aus einem bestimmten Ordner alle Dateien ...

VB for Applications

Variable Tabelle kopieren und in neue Excel-Datei verschieben

gelöst Frage von Gimli3311VB for Applications5 Kommentare

Guten Zusammen, ich bin grad Praktikant bei einem Unternehmen und muss aus verschiedenen Excel Dateien die jeweils eine Tabelle ...

Batch & Shell

In Batch variable DOS-Funktion von "größer" und "kleiner" Zeichen unterdrücken

gelöst Frage von 126594Batch & Shell3 Kommentare

Hallo liebe "Programmiergemeinde ;) ich versuche mich derzeit an der Bearbeitung von Variablen in Batchdateien. Nun hab ich das ...

Batch & Shell

Mit zusammengesetzter Variable auf andere Variable zugreifen

gelöst Frage von abiberBatch & Shell2 Kommentare

Hallo zusammen, ich möchte in einer Batch Datei über Robocopy auf mehrere Rechner Dateien verteilen. Dazu möchte ich am ...

Neue Wissensbeiträge
Windows 10

Neue Sicherheitslücke in Windows 10 (Version 1709) durch Google öffentlich geworden

Information von kgborn vor 12 StundenWindows 10

Vor ein paar Tagen haben Googles Sicherheitsforscher vom Projekt Zero eine Sicherheitslücke im Edge-Browser publiziert. Jetzt wurde eine weitere ...

iOS
IOS 11.2.6 verfügbar
Information von sabines vor 18 StundeniOS

Mit dem Update soll der Bug behoben werden, bei dem eine bestimmte Zeichenkette IOS zum Absturz gebracht hat.

Sicherheit
Sicherheitsrisiko: Die Krux mit 7-Zip
Information von kgborn vor 1 TagSicherheit8 Kommentare

Bei vielen Anwendern ist das Tool 7-Zip zum Entpacken von Archivdateien im Einsatz. Die Software ist kostenlos und steht ...

Internet

Datendealing im WWW Tracking Methoden immer brutaler

Information von sabines vor 1 TagInternet

Interessanter Artikel zum Thema Tracking im WWW und die immer "besseren" Methoden des Trackings. Professor Arvind Narayanan (Princeton-Universität) betreibt ...

Heiß diskutierte Inhalte
Router & Routing
LANCOM VPN CLIENT einrichten
Frage von Finchen961988Router & Routing27 Kommentare

Hallo, ich habe ein Problem und hoffe ihr könnt mir helfen, wir haben einen Kunden der hat einen Speedport ...

Windows Server
AD DS findet Domäne nicht, behebbar?
Frage von schapitzWindows Server25 Kommentare

Guten Tag, ich habe bei einem Kunden ein Problem mit den AD DS. Umgebung ist folgende: Windows Server 2016 ...

LAN, WAN, Wireless
VPN Cisco ASA5505 PaloAlto PA-200
gelöst Frage von YannoschLAN, WAN, Wireless22 Kommentare

Hallo zusammen, ich würde gerne ein Site-to-Site VPN zwischen den beiden Standorten aufbauen. PaloAlto PA200 Internetanschluss Deutsche Telekom GK ...

SAN, NAS, DAS
Qnap TS-453S Pro - Anbindung Active Directory
Frage von JuckieSAN, NAS, DAS13 Kommentare

Hallo zusammen, ich habe hier eine Qnap TS-453S Pro die sich mal so absolut gar nicht in das Active ...