Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

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

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, 6242 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 In einer Batch-Datei einen variablen Teil eines Dateinamens auslesen (5)

Frage von dh0815 zum Thema Batch & Shell ...

Batch & Shell
Vergleich einer Zeichenfolge in zwei Dateinamen (3)

Frage von hongziehong zum Thema Batch & Shell ...

Batch & Shell
gelöst Dateinamen auslesen und in einer Schleife benutzen (12)

Frage von TeholBeddict zum Thema Batch & Shell ...

Batch & Shell
Wildcard im Dateinamen möglich bei Batchdatei? (3)

Frage von imebro zum Thema Batch & Shell ...

Neue Wissensbeiträge
Windows Update

Novemberpatches und Nadeldrucker bereiten Kopfschmerzen

(14)

Tipp von MettGurke zum Thema Windows Update ...

Windows 10

Abhilfe für Abstürze von CDPUsersvc auf Win10 1607 und 2016 1607

(7)

Tipp von DerWoWusste zum Thema Windows 10 ...

RedHat, CentOS, Fedora

Fedora 27 ist verfügbar

Information von Frank zum Thema RedHat, CentOS, Fedora ...

Heiß diskutierte Inhalte
Server
Bilder aus dem Web mit CSV runterladen (30)

Frage von Yannosch zum Thema Server ...

Server-Hardware
Bestehendes Raid erweitern um 4 gleiche Platten! (Verständnis Fragen) (12)

Frage von Hendrik2586 zum Thema Server-Hardware ...

Windows Update
WSUS 4 (Server 2012 R2) - Windows 10 Updates nicht möglich (12)

Frage von c0d3.r3d zum Thema Windows Update ...