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
GELÖST

batchdatei -> ordner wie eine datei benennen

Frage Entwicklung Batch & Shell

Mitglied: 39263

39263 (Level 1)

06.12.2006, aktualisiert 16:22 Uhr, 6297 Aufrufe, 3 Kommentare

hallo,
ich brauche eine batchdatei die mir mehrere ordner erstellt, welche wie gespeicherte pdf-dokumente heißen. das problem ist, dass das skript eigentlich nicht weiß wie die dokumente heißen. nun wollt ich über den befehl

dir C:\test /B > C:\test\verz.txt

die namen der dokumente eben in eine txt-datei speichern und dann über eine schleife

For /f "tokens=*" %%i IN C:\test\verz.txt) DO call:benennen %%i
:benennen
set var=%1
md C:\Test\%var%

die namen auslesen und die ordner dementsprechend erstellen und benennen.
dummerweise heißen meine ordner dann xyz.pdf
ich möchte aber, dass sie nur xyz heißen...

hat jmd nen brauchbaren vorschlag?
Mitglied: AxelHahn
06.12.2006 um 15:08 Uhr
Hi

rufe mal "for /?" auf - da steht drin, dass man von einer Variable Pfad, Extension, ... extrahieren kann. Ergänzend schaue noch in "set /?"

In addition, substitution of FOR variable references has been enhanced.
You can now use the following optional syntax:

%~I - expands %I removing any surrounding quotes (")
%~fI - expands %I to a fully qualified path name
%~dI - expands %I to a drive letter only
%~pI - expands %I to a path only
%~nI - expands %I to a file name only
%~xI - expands %I to a file extension only
%~sI - expanded path contains short names only
%~aI - expands %I to file attributes of file
%~tI - expands %I to date/time of file
%~zI - expands %I to size of file
%~$PATH:I - searches the directories listed in the PATH
environment variable and expands %I to the
fully qualified name of the first one found.
If the environment variable name is not
defined or the file is not found by the
search, then this modifier expands to the
empty string

The modifiers can be combined to get compound results:

%~dpI - expands %I to a drive letter and path only
%~nxI - expands %I to a file name and extension only
%~fsI - expands %I to a full path name with short names only
%~dp$PATH:I - searches the directories listed in the PATH
environment variable for %I and expands to the
drive letter and path of the first one found.
%~ftzaI - expands %I to a DIR like output line


hallo,
ich brauche eine batchdatei die mir mehrere
ordner erstellt, welche wie gespeicherte
pdf-dokumente heißen. das problem ist,
dass das skript eigentlich nicht weiß
wie die dokumente heißen. nun wollt ich
über den befehl

dir C:\test /B > C:\test\verz.txt

die namen der dokumente eben in eine
txt-datei speichern und dann über eine
schleife

For /f "tokens=*" %%i IN
C:\test\verz.txt) DO call:benennen %%i
:benennen
set var=%1

set sDir=%~dpvar%
echo md "C:\Test\%sDir%"


zum "Scharfmachen" echo entfernen.


Viele Grüsse
-= Axel =-
Bitte warten ..
Mitglied: Biber
06.12.2006 um 15:50 Uhr
Zum Sichtbar- bzw. Deutlichmachen der von AxelHahn geposteten Lösung gib einfach mal am CMD-Prompt ein:
01.
For /f "delims=" %i IN ('dir /a-d /b c:\test\*.*') DO @echo md "%~dpni" ^& move "%~dpnxi" "%~dpni\"
Sollte das Ergebnis (=reine Anzeige, der macht nix kaputt!) mit dem übereinstimmen, was Du wolltest,
dann einfach diese Zeile als Batch-Oneliner abspeichern.
01.
@For /f "delims=" %%i IN ('dir /A:-d /b c:\test\*.*') DO @md "%%~dpni" & move "%%~dpnxi" "%%~dpni\"
HTH Biber
[Edit] Anmerkung:
Wie in der M$-Hilfe auch in vielen Sprachen geschrieben steht:
....substitution of FOR variable references has been enhanced
-bzw. -
Zusätzlich wurde die Ersetzung von Verweisen auf FOR-Variablen erweitert
-------> dieses "%~dp"-usw.-Geraffel fünktioniert nur bei
- FOR-Zählvariablen
- den Übergabeparametern %1, %2 ...%9 beim Aufruf eines Batches oder eines CALL-Blocks.

Die AxelHahn-Zeile...
01.
 set sDir=%~dpvar%
geht also nicht, sondern muss heißen
01.
 set sDir=%~dp1
[...also "gib mir Laufwerk und Pfad vom Übergabeparameter %1"]
Wobei eben eigentlich kein CALL-Block nötig ist.
[/Edit]
Bitte warten ..
Mitglied: 39263
06.12.2006 um 16:22 Uhr
so, hab's endlich geschafft. hatte noch ein paar probleme diesen teil in das eigentliche skript einzubauen...
aber nun funktioniert es einwandfrei und tut auch endlich das, was es soll ;)
vielen dank für die schnelle antwort.
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Mit Batch Datei nach Ordner benennen indem sie sich befindet? (4)

Frage von PinkFLuffyUnicorn zum Thema Batch & Shell ...

Microsoft
Ordner mit LW-Buchstaben versehen und benennen (21)

Frage von Xaero1982 zum Thema Microsoft ...

Batch & Shell
gelöst Batchdatei Ordner nach Letztem Datum suchen und Dateien im Unterordner verschieben (13)

Frage von noby.dick zum Thema Batch & Shell ...

Windows 10
Löschen von Ordner mit Dateien (3)

Frage von jerry32 zum Thema Windows 10 ...

Neue Wissensbeiträge
Microsoft

Die neuen RSAT-Tools für Win10 1709 sind da

(1)

Information von DerWoWusste zum Thema Microsoft ...

Humor (lol)

Wohnt jemand in Belgien und kann nicht mehr ruhig ausschlafen?

(5)

Information von LordGurke zum Thema Humor (lol) ...

Sicherheits-Tools

Trendmicro OSCE und das Fall Creators Update Win10 RS3

(3)

Information von Henere zum Thema Sicherheits-Tools ...

Heiß diskutierte Inhalte
Hosting & Housing
Mailserver Software Empfehlungen (21)

Frage von sunics zum Thema Hosting & Housing ...

Voice over IP
DeutschlandLAN IP Voice Data M Premium, Erfahrung mit Faxgeräte? (16)

Frage von liquidbase zum Thema Voice over IP ...

TK-Netze & Geräte
TK-Anlage VoIP - DECT Erweiterung (15)

Frage von Lynkon zum Thema TK-Netze & Geräte ...