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 Datei mit gleichnamigem Ordner verschieben?

Mitglied: hiob08

hiob08 (Level 1) - Jetzt verbinden

09.12.2008, aktualisiert 15:36 Uhr, 4148 Aufrufe, 6 Kommentare

Hallo zusammen,

suche eine Lösung für folgendes Problem:

Ich möchte ununterbrochen einen Ordner nach *.txt Dateien abfragen.
Befindet sich eine solche txt Datei im Ordner, soll das Skript 2 Sekunden warten und dann einen Ordner (der automatisch existiert, sobald die txt Datei existiert), welcher den gleichen Namen hat verschieben.

Also bsp.:
Datei: 12345.txt zusammen mit Ordner "12345" nach D:\Backup verschieben.

So weit bin ich schon:

01.
  
02.
:LOS 
03.
REM #### Da Win2k3 Resouce Kit nicht vorhanden 
04.
REM #### Trick, um unter Batch 2 Sekunden zu warten 
05.
 
06.
PING 1.1.1.1 -n 1 -w 2000 >NUL 
07.
 
08.
REM #### Prüfe, ob Datei vorhanden 
09.
D: 
10.
cd D:\Backup 
11.
if exists *.txt 
12.
 
13.
--Und hier weiß ich nicht mehr weiter-- 
14.
 
15.
goto LOS 
16.
 
Hat hemand schonmal einen ähnlichen Fall gehabt?
Mitglied: bastla
09.12.2008 um 11:32 Uhr
Hallo hiob08!

So ganz klar ist mir Dein Vorhaben nicht - nach Deinem Batchansatz sieht es so aus, als wolltest Du in D:\Backup nachsehen, ob eine Textdatei existiert, die Du dann eigentlich erst dorthin verschieben willst ...

Falls gemeint wäre, dass diese Überprüpfung zB für den Ordner "D:\In" gemacht werden soll, dann etwa so:
01.
@echo off & setlocal 
02.
:LOS 
03.
ping 127.0.0.1 -n 2>nul 
04.
for %%i in ("D:\In\*.txt") do ( 
05.
    move "%%i" "D:\Backup\">nul 
06.
    move "%%~dpni" "D:\Backup\">nul 
07.
08.
goto :LOS
Falls es möglich wäre, dass ein gleichnamiger Ordner in "D:\Backup" bereits existiert, müsstest Du Dir überlegen, was in diesem Fall zu geschehen hat - ein Überschreiben ließe sich etwa so realisieren:
01.
@echo off & setlocal 
02.
:LOS 
03.
ping 127.0.0.1 -n 2>nul 
04.
for %%i in ("D:\In\*.txt") do ( 
05.
    move "%%i" "D:\Backup\">nul 
06.
    if exist "D:\Backup\%%~ni" ( 
07.
        rd /s /q "D:\Backup\%%~ni" 
08.
        move "%%~dpni" "D:\Backup\">nul 
09.
10.
11.
goto :LOS
Grüße
bastla
Bitte warten ..
Mitglied: hiob08
09.12.2008 um 12:48 Uhr
Hallo bastla,

vielen dank für deine Antwort.

Hast schon recht, ist ein bißchen verwirrend. Ich versuche mal, dass ganze etwas übersichtlicher zu erklären.

Auf meinem Rechner gibt es einen Ordner D:\Backup.
In diesem Ordner befinden sich txt Dateien. Zu jeder txt Datei gibt es einen gleichnamigen Ordner, nur halt ohne die Endung txt, also bspw.
kjasdjhasdj.txt ->kjasdjhasdj

Der Ordner und die txt Datei werden von einem anderen Programm erzeugt. Ich möchte nun
ständig den Ordner antriggern und prüfen, ob sich eine txt Datei innerhalb des Ordners befindet. Wenn ja, soll sowohl die txt als auch der gleichnamige Ordner in ein anderes Verzeichnis gemoved werden.
Bitte warten ..
Mitglied: bastla
09.12.2008 um 12:57 Uhr
Hallo hiob08!

Dann musst Du eigentlich nur im Batch oben "D:\Backup" auf "D:\Anderer Ordner" und "D:\In" auf "D:\Backup" ändern (was viel leichter ginge, wenn ich, wie üblich, Variablen verwendet hätte )...

... was aber noch offen bleibt, ist die Frage der möglichen Existenz eines gleichnamigen Ordners in "D:\Anderer Ordner" bzw der Reaktion darauf.

Grüße
bastla
Bitte warten ..
Mitglied: hiob08
09.12.2008 um 13:23 Uhr
Hallo nochmal,

vielen dank!
Ein gleichnamiger Ordner bzw. txt Datei kann sich eigentlich nicht im Zielordner befinden, bzw. es ist sehr unwahrscheinlich, weil die txt- Datei (und somit der Ordner) per %random%%random%%random% erzeugt werden Das könnte ich aber dann per
move /Y erledigen, oder? Dann soll halt der "alte" Ordner überschrieben werden.

Das Skript, welches du vorgeschlagen hast, scheint ja im ersten Augenblick nicht kompliziert. Denoch habe ich einige Fragen. Wenn du Zeit/Lust hast, würde ich mich über eine Antwort sehr freuen!

01.
for %%i in ("D:\In\*.txt") do
Kann ich hier %%i als eine Art Zählvariable sehen, die einfach nur zählt, wie viele txt Dateien sich in D:\In befinden, oder hat %%i in diesem Fall den Dateinamen inne?

Wieso heißt die Variable %%i und nicht bspw. %i%?

01.
move "%%i" "D:\Backup\">nul 
Hiernach zu urteilen müsste in %%i der Dateiname stehen, richtig?
Und was macht das >nul am Ende der Zeile?

01.
"%%~dpni"
Und das überfordert mich leider komplett

Wie gesagt, ich weiß, dass es viele Fragen sind.. Würde mich sehr über eine Antwort freuen!

Danke nochmal!
Bitte warten ..
Mitglied: bastla
09.12.2008 um 13:40 Uhr
Hallo hiob08!

Das könnte ich aber dann per move /Y erledigen, oder?
Abgesehen davon, dass "move" in einem Batch automatisch mit "/y" ausgeführt wird: Leider nein - um den bestehenden Ordner durch den neu zu verschiebenden zu ersetzen, müsstet Du die zweite Variante oben verwenden.

Wieso heißt die Variable %%i und nicht bspw. %i%?
Da es sich um eine "for"-Laufvariable (die tatsächlich den Dateipfad enthält) handelt, weist diese einige Besonderheiten auf - die Schreibweise ohne abschließendes "%" ist eine davon.

Eine weitere berührst Du mit Deiner dritten Frage: Es ist nur für Parametervariable (%0 bis %9) und die Variablen der "for"-Schleife möglich, eine Pfadzerlegung vorzunehmen - "%%dpni" liefert daher Laufwerk ("drive"), Pfad und Name (ohne "extension") der Datei in "%%i".

Durch die Schleife werden der Reihe nach alle im Ordner befindlichen Textdateien erfasst (es könnten ja während der Pause theoretisch auch 2 Ordner + Textdateien erstellt worden sein).

Mehr zum Thema findest Du unter "for /?" (wenn Du Dich bis zum Ende durchkämpfst ).
Noch zum Rest der Frage 2: Das ">nul" hat nur optische Gründe - es wird damit die Ausgabe des "move"-Befehles ("1 Datei verschoben") nach "Nirgendwo" geschickt und damit unterdrückt.

Grüße
bastla
Bitte warten ..
Mitglied: hiob08
09.12.2008 um 15:36 Uhr
Funktioniert soweit alles!
SUPER!!! Danke für die blitzschnelle Hilfe
Bitte warten ..
Ähnliche Inhalte
Windows 10

Windows 10 gleichnamigen Ordner auf Netzlaufwerk verschieben

Frage von BuggerWindows 1014 Kommentare

Hallo, kann mir jemand sagen, warum ich auf einem Netzlaufwerk keine Ordner mehr ineinander verschieben kann? Beispiel: Ich erstelle ...

Windows Netzwerk

Dateien und Ordner verschieben mit Rückfrage

Frage von steftsWindows Netzwerk1 Kommentar

Hallo, in einer Windows Server-Client Umgebung habe ich folgende Anforderung: Dateien und Ordner die auf einem Netzwerk Fileshare liegen, ...

Batch & Shell

Verschieben von Dateien in zugehörige Ordner

Frage von vmihaylovBatch & Shell5 Kommentare

Hallo allerseits! Ich habe in einem Ordner sehr viele Dateien mit Artikelnummern als Namen (z.B. 123456.tiff, 123456.jpg, 215456.jpg,215456,tiff,), die ...

VB for Applications

Datei hinter Hyperlink in anderen existierenden Ordner verschieben

gelöst Frage von Anna2701VB for Applications15 Kommentare

Halloo zusammen :) ich würde gerne die Datei hinter meinem Hyperlink der in Orderner "Test-PDF" liegt, in den darin ...

Neue Wissensbeiträge
Humor (lol)

WhatsApp-Nachrichten endlich auch per Bluetooth versendbar

Information von BassFishFox vor 7 StundenHumor (lol)1 Kommentar

Genau darauf habe ich gewartet! ;-) Der beliebte Messaging-Dienst WhatsApp erhält eine praktische neue Funktion: Ab dem nächsten Update ...

Google Android

Googles "Android Enterprise Recommended" für Unternehmen

Information von kgborn vor 19 StundenGoogle Android3 Kommentare

Hier eine Information, die für Administratoren und Verantwortliche in Unternehmen, die für die Beschaffung und das Rollout von Android-Geräten ...

Sicherheit

Intel gibt neue Spectre V2-Microcode-Updates frei (20.02.2018)

Information von kgborn vor 20 StundenSicherheit

Intel hat zum 20. Februar 2018 weitere Microcode-Updates für OEMs freigegeben, um Systeme mit neueren Prozessoren gegen die Spectre ...

Microsoft
ARD-Doku - Das Microsoft Dilemma
Tipp von Knorkator vor 23 StundenMicrosoft3 Kommentare

Hallo zusammen, vor einigen Tagen lief in der ARD u.a. Reportage. Das Youtube Video dazu dürfte länger verfügbar sein. ...

Heiß diskutierte Inhalte
Windows Server
AD DS findet Domäne nicht, behebbar?
Frage von schapitzWindows Server40 Kommentare

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

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 ...

Router & Routing
ISC DHCP 2 Subnetze
gelöst Frage von janosch12Router & Routing19 Kommentare

Hallo, ich betreibe bei mir im Netzwerk einen ISC DHCP Server auf Debian, der DHCP verwaltet aktuell ein /24 ...

Switche und Hubs
Cisco SG350X-48 AdminIP in anderes VLAN
Frage von lcer00Switche und Hubs14 Kommentare

Hallo zusammen, ich habe ein Problem mir einem Cisco SG350X-48 bei der Erstinstallation wurde eine IP 192.168.0.254 (Default VLAN ...