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

String variabel beschneiden

Frage Entwicklung Batch & Shell

Mitglied: mzah00

mzah00 (Level 1) - Jetzt verbinden

05.01.2009, aktualisiert 14:18 Uhr, 5412 Aufrufe, 2 Kommentare

Hallo Script-Menschen

Ich habe eine Batch Datei. Diese möchte ich in einen ORdner kopieren können in denen sich Dateien befinden, die ich durch das automatisiert Script umbenennen bzw. den Namen kürzen möchte. Das Schema sieht eigentlich immer gleich aus -> ersten 14 Zeichen des Dateinamens abschneiden manchmal aber nur die ersten 8 Zeichen. Also muss die Anzahl der abzuschneidenden Zeichen Variabel sein (durch eine Userabfrage).

Das Script sieht so aus:

@echo off
FOR /F "delims=" %%i in ('Dir /B /A-H-D') do call:umbenen "%%i"
goto:eof

:umbenen
set "oldname=%~1"
set "newname=%oldname:~16%"
rename "%oldname%" "%newname%"

Wie kann ich das "~16" in eine veränderbare Variable umwandeln? Wenn ich vorher z.B. der Variable %%k den Wert 16 <<set %%k = 16>> zuweise und statt <<set "newname=%oldname:~16%">> den Befehl <<set "newname=%oldname:~%%k%">> verwende, werden nicht die ersten 16 Zeichen abgeschnitten, sondern ich erhalte den kompletten Dateinamen inkl. der Zahl 16 angehängt im Dateinamen.

Ich hoffe ich konnte meine Frage ein wenig verständlich formulieren...

Bin Dankbar für jede Hilfe!

Gruss
mzah_




[Edit Biber] Als "gelöst" markiert und verschoben von "Editoren & IDE's" nach "Batch & Shell"[/Edit]
Mitglied: bastla
05.01.2009 um 12:11 Uhr
Hallo mzah00!

Sollte etwa so gehen (um die Kontrolle der eingegebenen Zeichenanzahl musst Du Dich natürlich noch kümmern):
01.
@echo off & setlocal 
02.
set /p "Lang=Wie viele Zeichen sollen abgeschnitten werden?" 
03.
for /f "delims=" %%i in ('dir /b /a-h-d') do call :umbenen "%%i" 
04.
goto :eof 
05.
 
06.
:umbenen 
07.
set "oldname=%~1" 
08.
call set "newname=%%oldname:~%Lang%%%" 
09.
ren "%oldname%" "%newname%"
Grüße
bastla

P.S.: Bitte zum Posten von Batches o. Ä. Code-Formatierung verwenden ...
Bitte warten ..
Mitglied: mzah00
05.01.2009 um 12:25 Uhr
You're the man!

Danke!
Bitte warten ..
Ähnliche Inhalte
Visual Studio
gelöst DotNet String Sortierung (5)

Frage von emeriks zum Thema Visual Studio ...

Batch & Shell
gelöst Powershell select-string -pattern (2)

Frage von LianenSchwinger zum Thema Batch & Shell ...

Batch & Shell
String Zeichenpaare auslesen und bearbeiten (6)

Frage von ahstax zum Thema Batch & Shell ...

Batch & Shell
gelöst String automatisch anpassen (erweitern oder kürzen) (9)

Frage von CreatorX zum Thema Batch & Shell ...

Neue Wissensbeiträge
Batch & Shell

Batch zum Zurücksetzen eines lokalen Profils

Tipp von Mr.Error zum Thema Batch & Shell ...

RedHat, CentOS, Fedora

Fedora, RedHat, Centos: DNS-Search Domain setzen

(13)

Tipp von Frank zum Thema RedHat, CentOS, Fedora ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
VPN Tunnel aufbauen (16)

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

Router & Routing
ASUS RT-N18U mit VPN Client hinter Fritzbox - Portforwarding (14)

Frage von marshall75000 zum Thema Router & Routing ...

Microsoft Office
Saubere HTML aus Word-Dokument (14)

Frage von peterpa zum Thema Microsoft Office ...

E-Mail
gelöst Probleme beim E-Mail Empfang (12)

Frage von TommyB83 zum Thema E-Mail ...