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

Batch & Shell
gelöst Auslesen und Vergleichen Zweiter CSV Dateien Powershell (7)

Frage von Hainoon zum Thema Batch & Shell ...

Neue Wissensbeiträge
Windows Server

Umstellung SHA 1 auf SHA 2 - Migration der CA von CSP auf KSP

Tipp von Badger zum Thema Windows Server ...

Windows 10

Quato DTP94 unter Windows 10 x64 installieren und verwenden

Anleitung von anteNope zum Thema Windows 10 ...

Windows 10

Win10 1703 und Nutzerkennwörter bei Ersteinrichtung - erstaunliche Erkenntnis

(15)

Erfahrungsbericht von DerWoWusste zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Windows 10
Windows 10 im Unternehmen? (21)

Frage von zorlayan zum Thema Windows 10 ...

Festplatten, SSD, Raid
Raid 1 2 SSD mit Windows Server 2016 (17)

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

Netzwerkgrundlagen
Pro Contra "echtes Subnetting" VLSM (12)

Frage von killing.Apfelkuchen zum Thema Netzwerkgrundlagen ...

Voice over IP
Über Fritzfax over IP gehen nur einige Faxe (11)

Frage von shearer9 zum Thema Voice over IP ...