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

Pfadanlage in Batch unter WinXP

Frage Entwicklung Batch & Shell

Mitglied: mapl99sb

mapl99sb (Level 1) - Jetzt verbinden

06.09.2013 um 12:18 Uhr, 1294 Aufrufe, 6 Kommentare

Hallo Forum,

ich habe hier ein Programm, das Dateien in einen Ordner kopiert, dessen erste 4 Zeichen den ersten 4 Zeichen des Dateinamens entsprechen. Ich will das Programm erweitern, und zwar soll es im Zielverzeichnis einen Pfad analog oben anlegen, in den dann das File kopiert wird. Aber nur, wenn es den Pfad noch nicht gibt. Ansonsten sollen die Files wie bisher in die bestehenden Pfade kopiert werden, also in die, für die ein Match existiert zwischen Datei- und Padnamen.

Beispiel (siehe dazu auch http://www.administrator.de/frage/batchprogramm-unter-winxp-154091.html):

Wenn zusätzlich zu o.g. Beispiel eine Datei 3000_a.png existiert, im Zielverzeichnis aber kein Pfad, der mit 3000 beginnt, dann soll der Pfad d:\test\3000 angelegt werden und anschließend das File 3000_a.png dort hinein kopiert werden.

Wie und wo muss ich das in das Coding einsetzen?

Vielen Dank.

Hier mein aktuelles Coding:

01.
 
02.
echo off & setlocal 
03.
set "Quelle=c:\Temp\Test" 
04.
set "Ziel=d:\Test" 
05.
set "Prot=%Quelle%\Prot_%date:~-4%-%date:~-7,2%-%date:~-10,2%_%time:~,2%%time:~3,2%%time:~6,2%.txt" 
06.
set "Prot=%Prot: =0%" 
07.
 
08.
del "%Prot%" 2>nul 
09.
pushd "%Quelle%" 
10.
for /f "tokens=1* delims=_" %%i in ('dir /b /a-d e*_*.* 2^>nul') do ( 
11.
set "Done=" 
12.
for /d %%a in ("%Ziel%\%%i*") do if not defined Done ( 
13.
copy "%%i_%%j" "%%a" >nul 
14.
set "Done=True" 
15.
16.
17.
popd 
18.
 
19.
set "Liste=%Quelle%\Liste.txt" 
20.
copy nul "%Liste%" 
21.
 
22.
for /f "tokens=1* delims=_" %%i in ('dir /b /a-d e*_*.* 2^>nul') do findstr "%%i" "%Liste%" || ( 
23.
>>"%Liste%" echo %%i 
24.
 
25.
for /d %%a in ("%Ziel%\%%i*") do ( 
26.
echo %%~fa 
27.
dir /b /a-d "%%a" 2>nul 
28.
echo\ 
29.
30.
)>>"%Prot%" 
31.
 
Mitglied: Endoro
06.09.2013 um 12:28 Uhr
Hi,
meinst du so was:
01.
PUSHD "%Quelle%"  
02.
for /f "tokens=1* delims=_" %%i in ('dir /b /a-d e*_*.* 2^>nul') do ( 
03.
	MD "%ziel%\%%~i" 2>NUL 
04.
	COPY "%%~i_%%~j" "%ziel%\%%~i\" 
05.
06.
POPD
lg.
Bitte warten ..
Mitglied: mapl99sb
06.09.2013 um 13:17 Uhr
Hi Endoro,
ja, super.

Klappt allerdings nur, wenn ich von z.B. c:\ auf d:\ kopiere.

Ich habe aber als Zielverzeichnis einen anderen Rechner, den ich über das Netzwerk eingebunden habe, im Explorer unter "Netzwerkumgebung" finde und nur über seine IP-Adresse ansprechen kann.

In diesem Falle klappt das Kopieren nicht.

Hast du eine Ahnung, woran das liegen könnte? Über den Win Explorer kann ich ganz normal Dateien dort hin kopieren, wie auf einen anderen Pfad meines Rechners.

VG MAPL
Bitte warten ..
Mitglied: Endoro
06.09.2013 um 13:33 Uhr
Hi,
du brauchst einen Laufwerksbuchstaben für die Netzressource, das geht zB. so:
01.
net use Z: \\Server\Ressource\Ordner
lg.
Bitte warten ..
Mitglied: mapl99sb
06.09.2013 um 14:46 Uhr
Klappt nicht, ist ein WEBADV-Ordner.
Zuweisung eines Netzwerkbuchstabens geht wohl nur unter Win > XP
Trotzdem danke für die Hilfe.
VG Mapl
Bitte warten ..
Mitglied: mapl99sb
06.09.2013 um 15:59 Uhr
Klappt doch.
Musst unter XP aber ein Hilfsprogramm (z.B. Novell Net Drive) benutzen.
VG MAPL
Bitte warten ..
Mitglied: pieh-ejdsch
06.09.2013 um 16:44 Uhr
moin Endoro,

pushD erstellt Dir auch temporär die fehlende Netzwerkverbindung bevor ins Verzeichnis gewechselt wird, mit aktiven Befehlserweiterungen.

Gruß Phil
Bitte warten ..
Neuester Wissensbeitrag
Off Topic

"Ich habe nichts zu verbergen"

(2)

Erfahrungsbericht von FA-jka zum Thema Off Topic ...

Ähnliche Inhalte
Batch & Shell
gelöst Batch: Textdatei Zeilenweise auslesen (2)

Frage von CreatorX zum Thema Batch & Shell ...

Batch & Shell
Verschachtelte For Schleife für Batch Neuling (3)

Frage von yperiu zum Thema Batch & Shell ...

Batch & Shell
gelöst Alle Ordner bis auf die letzten 3 per Batch löschen (5)

Frage von Stefan2733 zum Thema Batch & Shell ...

Batch & Shell
gelöst Fenstertitel von anderen Tasks per batch auslesen (3)

Frage von NetMare zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Linux Netzwerk
gelöst DHCP vergibt keine Adressen (32)

Frage von Maik82 zum Thema Linux Netzwerk ...

Apache Server
gelöst Lets Encrypt SSL mit Apache2 (20)

Frage von banane31 zum Thema Apache Server ...

CPU, RAM, Mainboards
Kaufberatung für mind. 8 verschiedene HighEnd-Mainboards (17)

Frage von yperiu zum Thema CPU, RAM, Mainboards ...