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, 5405 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 ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
C und C++
gelöst Anzahl der Buchstaben in einem String Element Array C++ (3)

Frage von Protected zum Thema C und C ...

C und C++
String einlesen in Array und wieder ausgeben von hinten (4)

Frage von Protected zum Thema C und C ...

Batch & Shell
gelöst Poweshell Script soll String ersetzen und die leere Zeile löschen (4)

Frage von Mars123 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (21)

Frage von Xaero1982 zum Thema Microsoft ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Windows Update
Treiberinstallation durch Windows Update läßt sich nicht verhindern (17)

Frage von liquidbase zum Thema Windows Update ...