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

Batchdatei soll variablen Dateinamen auslesen und diesen vergleichen und dann eine Datei kopieren!

Frage Entwicklung

Mitglied: erklaerbaer

erklaerbaer (Level 1) - Jetzt verbinden

05.11.2008, aktualisiert 13:46 Uhr, 6214 Aufrufe, 2 Kommentare

Hallo erstmal,

Ich hoffe Ihr könnt mir weiter helfen.

Ich beschäftige mich erst seit ein paar Tagen mit dem Erstellen von Batchdatein. Nun weiß ich nicht ob sich mein Vorhaben auch realisieren läßt!
Ich habe schon sehr viel hier gesucht und gelesen und leider noch nicht so recht was gefunden.

Nun zu meinem Problem.

Ich habe eine Text Datei in einem Ordner deren Name variabel ist den ich verwenden möchte.
Mit dieser Variablen möchte ich gerne in einem anderen Ordner suchen ob dort ein Datei den selben Namen hat, allerdings mit einer anderen Endung. Und diese würde ich dann anschließend gerne kopieren.

ich habe auch schon einige Ansätze gehabt aber irgendwie noch nicht den richtigen Erfolg!


Goto start
:start
@echo off & setlocal
for %%f in ("C:\\Export\*.txt") do IF EXIST ("C:\\Neu\"%%f.xls") move ("C:\\Neu\"%%f.xls") ("C:\\Ganz\"%%f.xls")
ELSE
goto start

Danke schon im vorraus.
Mitglied: Biber
05.11.2008 um 13:44 Uhr
Moin erklaerbaer,

willkommen im Forum.
Im Prinzip hast Du ja schon alles.
Nur: die Datei in "c:\Neu" soll ja nur den gleichen Namen, nicht die gleiche Endung haben.
Dazu musst Du bei der Variablen %f nur den "Dateinamen von %f" nehmen, also %~nf

Als ganze Zeile zum Test am CMD-Prompt:
01.
for %f in ("C:\Export\*.txt") do IF EXIST "C:\Neu\%~nf.xls" move "C:\Neu\%~nf.xls" C:\Ganz\
Als Batchzeile müssten alle %-Zeichen verdoppelt werden ...
...aber ein Batch wird wohl auch kaum nötig sein...

Grüße
Biber
P.S. Und bitte in Zukunft:
Ersetze
Danke schon im vorraus.
durch
""
[Anführungszeichen nicht mit eingeben.]
Bitte warten ..
Mitglied: bastla
05.11.2008 um 13:46 Uhr
Hallo erklaerbaer und willkommen im Forum!

Falls die betreffende Textdatei tatsächlich im Ordner "C:\Export" die einzige Datei mit dem Typ ".txt" ist, dann etwa so:
01.
@echo off & setlocal 
02.
:Start 
03.
for %%f in ("C:\Export\*.txt") do ( 
04.
    if exist "C:\Neu\%%~nf.xls" move "C:\Neu\%%~nf.xls" "C:\Ganz\" 
05.
) else ( 
06.
    goto :Start 
07.
)
Den Widerspruch zwischen
würde ich dann anschließend gerne kopieren
und der Verwendung von "move" (= verschieben) musst Du selbst aufklären ...

... und ebenso noch überlegen, was mit einer im Ordner "C:\Ganz" ev bereits vorhandenen gleichnamigen Datei geschehen soll (Default im Batch sowohl für "copy" als auch für "move": kommentarlos überschreiben).

Grüße
bastla

[Edit] @Biber: Hast Du jetzt gerade links überholt? [/Edit]
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Dateinamen auslesen und in einer Schleife benutzen (12)

Frage von TeholBeddict zum Thema Batch & Shell ...

Batch & Shell
gelöst Dateinamen mit Batch-Datei ändern - Problem (9)

Frage von fffffuuuuuuuhhhh zum Thema Batch & Shell ...

Batch & Shell
gelöst Verzeichniss überwachen Datei kopieren und umbenennen (6)

Frage von fischle63 zum Thema Batch & Shell ...

Batch & Shell
gelöst Batch Datei Kopieren (17)

Frage von Frager zum Thema Batch & Shell ...

Neue Wissensbeiträge
Windows 10

Windows 8.x oder 10 Lizenz-Key aus dem ROM auslesen mit Linux

Tipp von Lochkartenstanzer zum Thema Windows 10 ...

Tipps & Tricks

Wie Hackt man sich am besten in ein Computernetzwerk ein

(38)

Erfahrungsbericht von Herbrich19 zum Thema Tipps & Tricks ...

Heiß diskutierte Inhalte
Festplatten, SSD, Raid
POS Hardware und alternativen zu Raid 1? (21)

Frage von Brotkasten zum Thema Festplatten, SSD, Raid ...

Viren und Trojaner
Verschlüsselungstrojaner simulieren (18)

Frage von AlbertMinrich zum Thema Viren und Trojaner ...

Ubuntu
gelöst Nextcloud 12 Antivirus App for Files (10)

Frage von horstvogel zum Thema Ubuntu ...

Exchange Server
Exchange Postfach leeren - nicht löschen (9)

Frage von AndreasOC zum Thema Exchange Server ...