Top-Themen

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

Frage Entwicklung Batch & Shell

GELÖST

Vorhandene batch bearbeiten

Mitglied: joman78

joman78 (Level 1) - Jetzt verbinden

29.06.2010, aktualisiert 17:29 Uhr, 2561 Aufrufe, 5 Kommentare

hallo nochmal ich dau

hab eine batch aus dem internet gezogen die aus einer file einen ordner macht und die file in den ordner schiebt jetzt hab ich nur ein problem das mir im namen des ordners immer dateinamen drin steht mir reichen aber die ersten 3 stellen ich poste mal die batch vielleicht hat jemand ein tipp

01.
@echo off 
02.
 
03.
rem rekursiver Aufruf? (1.Parameter == /R) 
04.
if %1.==/R. goto rekursiv 
05.
 
06.
 
07.
rem ein Prameter vorhanden? 
08.
if %1.==. goto no_params 
09.
set src=%1 
10.
:param_ 
11.
 
12.
rem erster Prameter sollte der Ordner sein, wo's abgeht 
13.
if not exist %src%\* goto err_param 
14.
 
15.
 
16.
rem und nun für jede Datei innerhalb des Quellordners ... 
17.
rem dabei ist: 
18.
rem   '%%i'	die "For"-Variable 
19.
rem   '%0'	ist das script selbst 
20.
rem 1 '/R'	die Markierung für den rekursiven Aufruf 
21.
rem 2 '%src%'	der Quellordner 
22.
rem 3 '%%~fi'	Laufwerk+Pfad+Name+Erweiterung der Datei 
23.
rem 4 '%%~dpsi'	Laufwerk+Pfad+Name+Erweiterung als '8.3' 
24.
for %%i in (%src%\*.*) do call %0 /R "%src%" "%%~fi" %%~si 
25.
goto end_batch 
26.
 
27.
 
28.
rem -------------------------------------------------- 
29.
 
30.
:rekursiv 
31.
rem bin ich's selbst??? Ooops! 
32.
if %3.==%0. goto exit_batch 
33.
 
34.
rem check %3 (Datei) 
35.
if not exist %3 goto err_R_Datei 
36.
 
37.
rem "falschen" Ordner erstellen ... 
38.
if exist %4__\* goto err_R_Dummy 
39.
md %4__ 
40.
rem ... Datei verschieben ... 
41.
move %3 %4__ >Nul 
42.
rem ... und "falschen" Ordner korrigieren... 
43.
move %4__ %3 
44.
 
45.
goto exit_batch 
46.
 
47.
 
48.
rem -------------------------------------------------- 
49.
 
50.
:no_params 
51.
echo. 
52.
echo. kein Ordner angegeben... 
53.
echo. verwende aktuellen Ordner 
54.
set src=. 
55.
rem ... und Rücksprung 
56.
goto param_ 
57.
rem echo. [Abbruch] 
58.
rem echo. 
59.
rem goto end_batch 
60.
 
61.
 
62.
:err_param 
63.
echo. 
64.
echo. Ordner "%1" scheint nicht zu existieren, kein Zugriff oder nix drin! 
65.
echo. [Abbruch] 
66.
echo. 
67.
goto end_batch 
68.
 
69.
:err_R_Datei 
70.
echo. Kein Zugriff auf oder Datei "%3" existiert nicht! 
71.
echo. [skip...] 
72.
goto exit_batch 
73.
 
74.
:err_R_Dummy 
75.
echo. Dummer Zufall... 
76.
echo. Dummy-Ordner "%4__" existiert bereits! 
77.
echo. [skip...] 
78.
goto exit_batch 
79.
 
80.
 
81.
rem -------------------------------------------------- 
82.
 
83.
:end_batch 
84.
rem falls noch irgendetwas zu sagen ist... 
85.
pause 
86.
 
87.
:exit_batch
[Edit Biber] geCodeformatiert. [/Edit]
Mitglied: bastla
29.06.2010 um 18:57 Uhr
Hallo joman78!

Soferne es mehrere Dateinamen mit den selben 3 Anfangsbuchstaben gibt: Sollen dann alle Dateien im selben Ordner landen?
Außerdem: Ist nur eine Ordnerebene zu berücksichtigen?

Bei zweimal "Ja" als Antwort sollte das so gehen:
01.
@echo off & setlocal 
02.
set "Ordner=D:\Dein Ordner" 
03.
 
04.
pushd "%Ordner%" 
05.
for /f "delims=" %%i in ('dir /b /a-d') do set "Name=%%~ni" & call :ProcessFile "%%i" 
06.
popd 
07.
goto :eof 
08.
 
09.
:ProcessFile 
10.
set "Abk=%Name:~,3%" 
11.
echo md "%Abk%" 2>nul 
12.
echo move %1 "%Abk%" 
13.
goto :eof
Die beiden "echo" dienen dazu, den Ablauf zunächst nur zu simulieren - wenn Du sie entfernst, werden tatsächlich Ordner erstellt und die Dateien verschoben ...

Grüße
bastla
Bitte warten ..
Mitglied: joman78
29.06.2010 um 19:17 Uhr
also dier dateiname z.b lautet b67.123 dann ist der ordnername b67.123 und ich hätte gerne
als ordnername nur b67
Bitte warten ..
Mitglied: bastla
29.06.2010 um 19:22 Uhr
Hallo jomain78!
also dier dateiname z.b lautet b67.123 dann ist der ordnername b67.123 und ich hätte gerne
als ordnername nur b67
Das glaube ich schon verstanden (und im Batch oben berücksichtigt) zu haben - aber wenn es auch eine Datei "b67_2.123" gäbe: was sollte mit der passieren?

Grüße
bastla

P.S.: Falls alle Dateien nur mit jeweils 3 Zeichen vor und nach dem Punkt benannt sein sollten, ließe sich das Ganze noch etwas kürzer schreiben:
for /f %%i in ('dir /b /a-d') do (echo md %%~ni 2>nul & echo move %%i %%~ni)
als Zeile 5; der Rest ab Zeile 7 könnte entfallen ...
Bitte warten ..
Mitglied: joman78
29.06.2010 um 19:26 Uhr
der name lautet immer von der file b67.xxx nur die ersten drei ändern sich die hinteren bleiben immer gleich
Bitte warten ..
Mitglied: joman78
29.06.2010 um 19:42 Uhr
bastla,

du bist mein held wenn du mal in stuttgart bist ruf an das bier geht auf mich

danke danke
Bitte warten ..
Ähnliche Inhalte
Windows Userverwaltung
Einstellungen in GPO lassen sich nicht bearbeiten da nicht vorhanden
gelöst Frage von ahsendenWindows Userverwaltung4 Kommentare

Guten Tag, Wir haben einige Gruppenrichtlinienobjekte die auf einem Windows Server 2007 SBS erstellt wurden. Dieser SBS Server ist ...

Batch & Shell
Batch zum bearbeiten mehrerer CSV
Frage von Matzus87Batch & Shell3 Kommentare

Hallo Zusammen, ich bin neu hier und arbeite mich gerade in die Batch Programmierung ein. Ich sitze momentan an ...

Batch & Shell
Batch : alle Dateien eines Ordners bearbeiten
gelöst Frage von deguonkelBatch & Shell1 Kommentar

Hallo, ich habe folgendes Problem, ich habe ein fertiges Batch-Programm, bei dem man einen Dateipfad angibt, und diese Datei ...

Datenbanken
Access 97 Datenbank mit vorhandener menu.exe bearbeiten
Frage von teetrinkerDatenbanken4 Kommentare

Hallo allerseits Ein Kunde betreibt ein kleine Agentur zur Vermietung von Villen und Wohnungen. Die bestehende Webweite wurde das ...

Neue Wissensbeiträge
Linux

Meltdown und Spectre: Linux Update

Information von Frank vor 2 TagenLinux

Meltdown (Variante 3 des Prozessorfehlers) Der Kernel 4.14.13 mit den Page-Table-Isolation-Code (PTI) ist nun für Fedora freigegeben worden. Er ...

Tipps & Tricks

Solutio Charly Updater Fehlermeldung: Das Abgleichen der Dateien in -Pfad- mit dem Datenobject ist fehlgeschlagen

Tipp von StefanKittel vor 3 TagenTipps & Tricks

Hallo, hier einmal als Tipp für alle unter Euch die mit der Zahnarztabrechnungssoftware Charly von Solutio zu tun haben. ...

Sicherheit

Meltdown und Spectre: Wir brauchen eine "Abwrackprämie", die die CPU-Hersteller bezahlen

Information von Frank vor 3 TagenSicherheit12 Kommentare

Zum aktuellen Thema Meltdown und Spectre: Ich wünsche mir von den CPU-Herstellern wie Intel, AMD oder ARM eine Art ...

Sicherheit

Meltdown und Spectre: Realitätscheck

Information von Frank vor 3 TagenSicherheit15 Kommentare

Die unangenehme Realität Der Prozessorfehler mit seinen Varianten Meltdown und Spectre ist seit Juni 2017 bekannt. Trotzdem sind immer ...

Heiß diskutierte Inhalte
Firewall
Penetrationstester-Labor - Firewalls
Frage von Oli-nuxFirewall10 Kommentare

Mich würde interessieren warum man beim Einrichten eines Penetrationstester-Labor (VMs) die Firewall der Systeme deaktivieren soll? Hat das nur ...

SAN, NAS, DAS
Wer kennt sich mit QNAP und CISCO aus ?
gelöst Frage von MachelloSAN, NAS, DAS9 Kommentare

Hallo Zusammen hier im Forum, Ich habe ein QNas 451+ und dieses NAS hat zwei GBit Lan Adapter die ...

Netzwerkgrundlagen
IPv6 Inter-VLAN Routing
gelöst Frage von clSchakNetzwerkgrundlagen9 Kommentare

Hi ich befasse mich gerade mit der Implementierung von IPv6 was bisher (in einem VLAN) korrekt funktioniert inkl. DNS ...

Windows Netzwerk
Zugriff auf den Desktop Ordner eines anderen Rechners in der gleichen Domäne
gelöst Frage von JensNomaWindows Netzwerk6 Kommentare

Guten Abend, ich war neulich mit unserem Admin am Tisch gesessen. Er an seinem Notebook angemeldet mit dem Domänen-Admin, ...