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, 6194 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 ..
Neuester Wissensbeitrag
Internet

Unbemerkt - Telekom Netzumschaltung!

(1)

Erfahrungsbericht von ashnod zum Thema Internet ...

Ähnliche Inhalte
Batch & Shell
gelöst In Batchdatei Variablen befüllen - mit Werten aus einer TXT-Datei (6)

Frage von donnyS73lb zum Thema Batch & Shell ...

Batch & Shell
gelöst Ordner per Batch verschieben, Datei kopieren (2)

Frage von Shape.Shifter zum Thema Batch & Shell ...

C und C++
gelöst In einer Windows Form Anwendung per Button eine Datei kopieren (4)

Frage von Knuefi zum Thema C und C ...

Batch & Shell
gelöst Powershell Datei kopieren mit ACL Script funktioniert nicht (4)

Frage von xpxy15 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Switche und Hubs
Trunk für 2xCisco Switch. Wo liegt der Fehler? (15)

Frage von JayyyH zum Thema Switche und Hubs ...

DSL, VDSL
DSL-Signal bewerten (13)

Frage von SarekHL zum Thema DSL, VDSL ...

Backup
Clients als Server missbrauchen? (10)

Frage von 1410640014 zum Thema Backup ...