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

gelöst Ordnernamen mit Variablen erstellen bzw. verändern

Mitglied: Ovis

Ovis (Level 1) - Jetzt verbinden

13.02.2006, aktualisiert 15.02.2006, 8400 Aufrufe, 6 Kommentare

Hallo und 'nabend zusammen, ich möchte aus einer Variablen einen Ordnamen erstellen bin aber mittlerweile etwas konfus.

Ich habe jetzt einige Abende (z.T. auch Wochenenden) hier verbracht, auf der Suche nach einer Lösung für meine Batch Probleme. Zum größten Teil habe ich alles hier gefunden um mein automatisches Update meiner Virensignaturen und von Spybot zu starten.

Kenne mich mit Batch Programmierung nur wenig aus und kann mir daher alles nur zusammen Wursteln, aber wie gesagt es läuft.
Allerdings komme ich jetzt nicht mehr weiter, mit meiner Kleinigkeit. Im Verlauf der nachfolgenden Prozedur möchte ich einen Ordnernamen aus der zuletzt eingelesenen Zipdatei erstellen. Soweit so gut, aber der Ordner soll nicht z.B. Dat-4692.zip heißen, sondern Dat.4692
Vielleicht sehe ich den Wald vor lauter Bäumen nicht mehr, aber ich krieg´s nicht hin ....

for /F %%i in ('dir dat-*.zip /b /o:d') do set var=%%i
echo %var%
set vv=%var:~0,4%
set ww=%var:~4,4%
md "%vv%%ww%" 'da macht er ein Blank zwischen die Variablen?!

Danke für jeden Hinweis schon mal im Voraus (dann kann ich wieder ruhig schlafen).
grüsse Ovis


p.s.: meine automatik (ich weiß, die programme können das auch, aber wer will´s immer einfach .....)

cmdow @ /HID
@echo off

set verz="D:\Progra~1\Gemein~1\Networ~1\Engine"
set zielverz=c:\temp2\dat-fi~1
set logfile=%zielverz%\autoupdaten.log
set zielpc=192.211.99.7

echo
BEGINN Update von Mcafee und Spybot %date% %username% %computername% %time:~0,8%
>> %logfile%

:Verbindungstest
echo ping -n 2 %zielpc% | find "TTL=" >> %logfile%
ping -n 2 %zielpc% | find "TTL=" >> %logfile%

echo goto %errorlevel% >> %logfile%
goto %errorlevel% >> %logfile%

:0
rem Verbindung OK
goto :laufw

:1
rem Keine Verbindung
goto exit2

:laufw
echo if not exist Y:\ ( start /W %systemroot%\system32\wscript.exe "%zielverz%\laufhol2.vbs" ) >> %logfile%
if not exist Y:\ ( start /W %systemroot%\system32\wscript.exe "%zielverz%\laufhol2.vbs" )
echo if not exist Y:\ goto exit2 >> %logfile%
if not exist Y:\ goto exit2

:step1
rem ------------------------ Kopieren von Y:\Dat*.zip nach zielverz
echo if not exist y:\dat*.zip goto step2 >> %logfile%
if not exist y:\dat*.zip goto step2

echo for /F %%i in ('dir y:\dat*.zip /b /o:d') do set kop1=%%i >> %logfile%
for /F %%i in ('dir y:\dat*.zip /b /o:d') do set kop1=%%i >> %logfile%

echo robocopy "y:" %zielverz%\ %kop1% /Z /R:5 /W:2 >> %logfile%
robocopy "y:" %zielverz%\ %kop1% /Z /R:5 /W:2 >> %logfile%
echo
goto %errorlevel%

:0
echo ----------------- Nix zu kopieren bei STEP1 >> %logfile%
goto step2 >> %logfile%

:1
rem -------------------------- Verarbeitung geht los
echo if not exist %zielverz%\dat*.zip goto step2 >> %logfile%

if not exist %zielverz%\dat*.zip goto step2 >> %logfile%
echo for /F %%i in ('dir %zielverz%\dat*.zip /b /o:d') do set var=%%i >> %logfile%
for /F %%i in ('dir %zielverz%\dat*.zip /b /o:d') do set var=%%i >> %logfile%

echo unzip -o %zielverz%\%Var% -d %verz% >> %logfile%
unzip -o %zielverz%\%Var% -d %verz% >> %logfile%

ping /n 4 localhost >nul
goto step2

:2
echo Datei(en) gelöscht im Zielverz wg. manuellem Löschen in Quellverz!! >> %logfile%
goto step2

:16
echo
! Parameterfehler! >> %logfile%
goto exit4


:step2
rem -------------------------- Kopieren von y:\Spybot*.exe nach zielverz
echo if not exist y:\spybotsd_includes.exe goto exit4 >> %logfile%
if not exist y:\spybotsd_includes.exe goto exit4

echo robocopy "y:" %zielverz%\ spybotsd_includes.exe /Z /R:5 /W:2 >> %logfile%
robocopy "y:" %zielverz%\ spybotsd_includes.exe /Z /R:5 /W:2 >> %logfile%
echo
>> %logfile%
goto %errorlevel%

:0
echo ----------------- Nix zu kopieren bei STEP2 >> %logfile%
goto exit3 >> %logfile%

:1
rem -------------------------- Verarbeitung geht los
echo if not exist y:\spybotsd_includes.exe goto exit4 >> %logfile%
if not exist y:\spybotsd_includes.exe goto exit4
echo
>> %logfile%
echo %zielverz%\spybotsd_includes.exe /S >> %logfile%
%zielverz%\spybotsd_includes.exe /S >> %logfile%

ping /n 6 localhost >nul
goto exit

:2
echo Datei(en) gelöscht im Zielverz wg. manuellem Löschen in Quellverz!! >> %logfile%
goto exit5

:16
echo
! Parameterfehler! >> %logfile%
goto exit4

:exit
echo
ENDE Update von Mcafee und Spybot %date% %username% %computername% %time:~0,8%
>> %logfile%
echo net use y: /d >> %logfile%
net use y: /d >> %logfile%
call %zielverz%\erledigt.vbs
exit

:exit2
echo
ENDE2 Laufwerk Y: war nicht da ! %date% %username% %computername% %time:~0,8%
>> %logfile%
echo net use y: /d >> %logfile%
net use y: /d >> %logfile%
call %zielverz%\fehler.vbs
exit

:exit3
echo
ENDE3 Es gab NICHTS upzudaten ! %date% %username% %computername% %time:~0,8%
>> %logfile%
echo net use y: /d >> %logfile%
net use y: /d >> %logfile%
call %zielverz%\fehler3.vbs
exit

:exit4
echo
ENDE4 GROBER FEHLER ! %date% %username% %computername% %time:~0,8%
>> %logfile%
echo net use y: /d >> %logfile%
net use y: /d >> %logfile%
call %zielverz%\fehler4.vbs
exit
Mitglied: Petrof
14.02.2006 um 00:11 Uhr
Hallo,

der war nicht schlecht!

Nimm einfach das Leerzeichen am Ende der dritten Zeile weg!


Gruß
Peter
Bitte warten ..
Mitglied: Ovis
14.02.2006 um 00:30 Uhr
.... der Blitz soll mich doch beim ..... treffen, so was blödes aber auch. Mit so einem Fehler hätte ich nicht gerechnet. Großen Dank an dich.

Gibt´s eine elegantere Version den - durch einen . zu ersetzen, ausser einem Rename danach?
grüsse
Ovis
Bitte warten ..
Mitglied: Petrof
14.02.2006 um 00:46 Uhr
Wieder die 3 Zeile

set vv=%var:~0,3%.

Bitte keine Leerzeichen am Ende

sry
Peter
Bitte warten ..
Mitglied: Ovis
14.02.2006 um 17:42 Uhr
.... so einfach kann die Welt sein .... Jetzt funktioniert´s, wie es auch soll.
Danke Peter!

grüsse ovis
Bitte warten ..
Mitglied: Biber
14.02.2006 um 19:52 Uhr
Moin ovis,

ich weiß jetzt nicht, ob Deine Frage damit beantwortet ist.
Eine Alternative (oder zumindest eine Ergänzung) von mir:

a) ich setze die variablen immer in Anführungszeichen, um trailing blanks zu vermeiden.

for /F %%i in ('dir dat-*.zip /b /o:d') do set "var=%%~ni"
echo %var%
:: --set vv=%var:~0,4%
::-- set ww=%var:~4,4%
::-- md "%vv%%ww%"
md "%var:-=.%"

...also ein "Ersetze in %var% ALLE Bindestriche durch Punkte".
Wenn also die Datei "dat-1234.zip" heißt, wird %var% zu "dat-1234" und beim MD dann zum Verzeichnis "dat.1234".
Wenn die Datei allerdings auch "dat-12-34.zip" heißen kann, dann käme auch "dat.12.34" als Verzeichnis raus.

HTH Biber
Bitte warten ..
Mitglied: Ovis
15.02.2006 um 14:44 Uhr
Hallo Biber,

Danke auch für deine Variante. Spannend was da alles machbar ist - ich glaube, ich werde meine Automatik wieder umbauen.
grüsse
ovis
Bitte warten ..
Ähnliche Inhalte
Visual Studio
Variabler Ordnername VB.Net
gelöst Frage von Tealk144Visual Studio12 Kommentare

Servus, also ich habe einen Ordner an dem immer ein Datum angehängt ist, diesen Variablen namen müsste ich irgendwie ...

Batch & Shell
Ordnernamen aus Dateinamen erstellen
Frage von Dr.ByteBatch & Shell1 Kommentar

Hi Gemeinde, benötige ein kleines Tool. Es liegen ca 100 Dateien in einem Ordner. Ich bräuchte nun ein Tool ...

Batch & Shell
Wert in einer Variable verändern
gelöst Frage von donmanolitoBatch & Shell1 Kommentar

Hallo in dieser Schleife: echo off for /D %%a in ("c:\Ordner\*") DO @( echo %%a ) bekomme ich für ...

Batch & Shell

Mehrere Ordnernamen auslesen und in eine Variable schreiben

gelöst Frage von schmithoBatch & Shell5 Kommentare

Hallo zusammen, ich versuche verzweifelt eine Lösung eines Problems zu finden, wie ich den Namen mehrere Ordner in eine ...

Neue Wissensbeiträge
Windows 10

Neue Sicherheitslücke in Windows 10 (Version 1709) durch Google öffentlich geworden

Information von kgborn vor 10 StundenWindows 10

Vor ein paar Tagen haben Googles Sicherheitsforscher vom Projekt Zero eine Sicherheitslücke im Edge-Browser publiziert. Jetzt wurde eine weitere ...

iOS
IOS 11.2.6 verfügbar
Information von sabines vor 16 StundeniOS

Mit dem Update soll der Bug behoben werden, bei dem eine bestimmte Zeichenkette IOS zum Absturz gebracht hat.

Sicherheit
Sicherheitsrisiko: Die Krux mit 7-Zip
Information von kgborn vor 1 TagSicherheit8 Kommentare

Bei vielen Anwendern ist das Tool 7-Zip zum Entpacken von Archivdateien im Einsatz. Die Software ist kostenlos und steht ...

Internet

Datendealing im WWW Tracking Methoden immer brutaler

Information von sabines vor 1 TagInternet

Interessanter Artikel zum Thema Tracking im WWW und die immer "besseren" Methoden des Trackings. Professor Arvind Narayanan (Princeton-Universität) betreibt ...

Heiß diskutierte Inhalte
Router & Routing
LANCOM VPN CLIENT einrichten
Frage von Finchen961988Router & Routing27 Kommentare

Hallo, ich habe ein Problem und hoffe ihr könnt mir helfen, wir haben einen Kunden der hat einen Speedport ...

Windows Server
AD DS findet Domäne nicht, behebbar?
Frage von schapitzWindows Server25 Kommentare

Guten Tag, ich habe bei einem Kunden ein Problem mit den AD DS. Umgebung ist folgende: Windows Server 2016 ...

LAN, WAN, Wireless
VPN Cisco ASA5505 PaloAlto PA-200
gelöst Frage von YannoschLAN, WAN, Wireless22 Kommentare

Hallo zusammen, ich würde gerne ein Site-to-Site VPN zwischen den beiden Standorten aufbauen. PaloAlto PA200 Internetanschluss Deutsche Telekom GK ...

SAN, NAS, DAS
Qnap TS-453S Pro - Anbindung Active Directory
Frage von JuckieSAN, NAS, DAS13 Kommentare

Hallo zusammen, ich habe hier eine Qnap TS-453S Pro die sich mal so absolut gar nicht in das Active ...