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

batchdatei -> ordner wie eine datei benennen

Frage Entwicklung Batch & Shell

Mitglied: 39263

39263 (Level 1)

06.12.2006, aktualisiert 16:22 Uhr, 6279 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 Von Batchdatei ausgeführten Prozess benennen (12)

Frage von itazubii zum Thema Batch & Shell ...

Windows Server
gelöst Datei-Ordner Überwachung für bestimmte Dateitypen (4)

Frage von hushpuppies zum Thema Windows Server ...

Batch & Shell
gelöst Ordner und Datei Name gleich (BATCH) (12)

Frage von clragon zum Thema Batch & Shell ...

Neue Wissensbeiträge
Batch & Shell

Batch als Dienst bei Systemstart ohne Anmeldung ausführen

(4)

Tipp von tralveller zum Thema Batch & Shell ...

Sicherheits-Tools

Sicherheitstest von Passwörtern für ganze DB-Tabellen

(1)

Tipp von gdconsult zum Thema Sicherheits-Tools ...

Peripheriegeräte

Was beachten bei der Wahl einer USV Anlage im Serverschrank

(9)

Tipp von zetboxit zum Thema Peripheriegeräte ...

Heiß diskutierte Inhalte
Windows 7
gelöst Lokales Adminprofil defekt (25)

Frage von Yannosch zum Thema Windows 7 ...

Server
gelöst Wie erkennen, dass nur deutsche IPs Zugang zu einer Website haben? (22)

Frage von Coreknabe zum Thema Server ...

LAN, WAN, Wireless
gelöst Statische Routen mit ISC-DHCP Server für Android Devices (22)

Frage von terminator zum Thema LAN, WAN, Wireless ...

Exchange Server
gelöst Migration Exchange 2007 zu 2013 - Public Folder teilweise weg (16)

Frage von Andy1987 zum Thema Exchange Server ...