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

Automatisch erweitende Ordnernamen (Schleife?)

Mitglied: Tompazi

Tompazi (Level 1) - Jetzt verbinden

02.08.2007, aktualisiert 03.08.2007, 3452 Aufrufe, 8 Kommentare

Hallo wiedermal

Ich will etwas schreiben womit ich Ordner Namen automatisch "erweitern" kann.

also so

if not exist D:\blabla md D:\blabla
if exist D:\blabla md D:\blabla (2)
if exist D:\blabla (2) md D:\blabla (3)

so in die richtung mir schon klar das das so nicht geht.
also es soll sich automatisch bis ins unendliche weiter gehen.
Und ich weiß nicht wie.
und eine Frage noch wie kann ich den benutzernamen von dem der gerade angemeldet ist anzeigen? so ähnlich wie %date%

Danke im voraus

Thomas
Mitglied: Biber
02.08.2007 um 23:49 Uhr
Moin Tompazi,

  • zur zweiten Teilfrage: das steht in der Variable %username%, die immer gesetzt ist.

  • zur ersten Teilfrage: Handwerklich lösbar, aber als Idee nicht von bestechendem Charme.

Gibt es für so einen ...hmmmm... Plan eine überzeugende Notwendigkeit?
Das sieht doch so elegant aus wie Münteferings Socken.
Was steht den für ein Prozess/für ein Ablauf dahinter?

Grüße
Biber
und gewöhnt euch das "Danke im Voraus" ab, sonst werd ich ausschweifend...*gg
Bitte warten ..
Mitglied: Tompazi
02.08.2007 um 23:54 Uhr
naja ich will so was da ein bauen

@echo off
title USB Stick %date:~-10,2%.%date:~-7,2%.%date:~-4%
IF NOT exist M:\ goto Antwort0
setlocal
set "monat1=%date:~-7,2%"
if "%monat1%"=="01" set "monat=Jänner"
if "%monat1%"=="02" set "monat=Februar"
if "%monat1%"=="03" set "monat=März"
if "%monat1%"=="04" set "monat=April"
if "%monat1%"=="05" set "monat=Mai"
if "%monat1%"=="06" set "monat=Juni"
if "%monat1%"=="07" set "monat=Juli"
if "%monat1%"=="08" set "monat=August"
if "%monat1%"=="09" set "monat=September"
if "%monat1%"=="10" set "monat=Oktober"
if "%monat1%"=="11" set "monat=November"
if "%monat1%"=="12" set "monat=Dezember"
set /p "dataname= Beispiel Ordner Namen verwenden (USB Stick %date:~-10,2% %monat% %date:~-4%) (J/N)?"

::HIER
if /i "%dataname%"=="J" set "datname=USB Stick %date:~-10,2% %monat% %date:~-4%"

GOTO :copy
if /i "%dataname%"=="N" set /p "datname= Geben Sie den einen Ordnernamen ein:"
GOTO :copy
:copy
XCOPY M:\ "D:\%datname%" /I /E
goto Antwort1
:Antwort0
echo Der USB Stick ist nicht korrekt Angesteckt!
echo Beachten Sie, dass der USB Stick Vorne am PC angesteckt sein muss.
echo Sollten Sie alles Richtig befolgt haben und Dies erscheint immer noch
echo kontaktieren Sie Bitte den Produzenten der Batch Datei.
pause
exit
:Antwort1
echo Die Dateien Ihres USB Sticks wurden erfolgreich nach D:\%datname%
echo kopiert.
echo.
set /p "Antwort=Dateien auf dem Stick entfernen (J/N)?"
if /i "%Antwort%"=="J" goto :Loeschen
echo Keine Daten entfernt ...
Goto :open
pause
exit
:Loeschen
rd /s /q M:echo Daten wurden entfernt...
echo.
PING 127.0.0.1 -n 6 >nul
echo Der USB Stick kann jetzt ausgesteckt werden.
:open
echo.
set /p "open= Ordner aufmachen? (J/N)"
if /i "%open%"=="J" start D:\"%datname%"
pause
Danke für das %username% gibt es irgendwo eine liste von diesen dingen?

Danke

Thomas
Bitte warten ..
Mitglied: Biber
03.08.2007 um 00:08 Uhr
Moin Tompazi,

Danke für das %username% gibt es irgendwo eine liste von diesen dingen?

Alle Umgebungsvariablen werden Dir durch Eingabe von "Set" am CMD-Prompt angezeigt.
Ein bisschen was dazu steht auch in der Hilfe (Set /?).

Du könntest den "höchsten" angelegten Ordner in einer FOR /L- Anweisung ermitteln.

Bsp im Batch:
01.
... 
02.
...(nur wenn es wenigstens EINEN Ordner mit diesem Pseudo-Index gibt) 
03.
 
04.
Set Idx=2 
05.
for /l %%i in (%idx%,1,222) do if exist "d:\temp\blabla(%%i)" set "idx=%%i" 
06.
REM wenn der "höchste" Ordner bis jetzt "d:\temp\blabla(47)" war, ist %idx% jetzt 47 
07.
set /a idx+=1 
08.
REM jetzt wäre %idx% gleich 48 
09.
Md "d:\temp\blabla(%idx%)" 
10.
 
[statt "unendlich" habe ich oben mal als Max-Wert 222 gesetzt.]

Aber nobelpreisverdächtig ist das alles nicht...
.....sieht doch shice aus im Ergebnis...

Grüße
Biber
Bitte warten ..
Mitglied: Tompazi
03.08.2007 um 00:24 Uhr
Erstmal Danke
Frage wieso das temp?
Ich habs (dumm wie ich bin) gleich mal verändert -.- .
Und so geht es nicht.

set /p "dataname= Beispiel Ordner Namen verwenden (USB Stick %date:~-10,2% %monat% %date:~-4%) (J/N)?"
if /i "%dataname%"=="J" set "datname=USB Stick %date:~-10,2% %monat% %date:~-4%" GOTO :check
if /i "%dataname%"=="N" set /p "dateiname= Geben Sie den einen Ordnernamen ein:"
GOTO :copy
:check
Set Idx=2
for /l %%i in (%idx%,1,22) do if exist "d:\%dataname%(%%i)" set "idx=%%i"
set /a idx+=1
set "dateiname=%dataname%(%idx%)"
:copy
XCOPY M:\ "D:\%dateiname%" /E
goto Antwort1
Bitte warten ..
Mitglied: Biber
03.08.2007 um 00:48 Uhr
Hmm...<grinz>...

würde sich das Verhalten Deines Schnipsels eventuell geringfügig ändern, wenn Du überall als Variablennamen "dataname" verwendest und nicht drei verschiedene Variationen (dataname, datname und dateiname)? *wimpernklapp*

Bei mir hat das schon mal geholfen! *TippGeb*

P.S. Das "temp" hatte ich nur in meinem separaten Demo-Beispiel verwendet...
Hat keinen Bezug zu Deinem Schnipsel.

Grüße
Biber
Bitte warten ..
Mitglied: Tompazi
03.08.2007 um 01:04 Uhr
so? geht trotzdem nicht...
es macht noch immer nur den "USB Stick %date:~-10,2% %monat% %date:~-4%" Ordner
Und noch eine frage weil ich grad bei set nachgeschaut hab kann man %random% irgendwie eingrenzen also nicht das zwischen 0 und 32767 is sondern 1-100?
set /p "dataname= Beispiel Ordner Namen verwenden (USB Stick %date:~-10,2% %monat% %date:~-4%) (J/N)?"
if /i "%dataname%"=="J" set "dataname=USB Stick %date:~-10,2% %monat% %date:~-4%" GOTO :check
if /i "%dataname%"=="N" set /p "dataname= Geben Sie den einen Ordnernamen ein:"
GOTO :copy
:check
Set Idx=2
for /l %%i in (%idx%,1,222) do if exist "d:\%dataname%(%%i)" set "idx=%%i"
set /a idx+=1
set "dataname=%dataname%(%idx%)"
:copy
XCOPY M:\ "D:\%dataname%" /I /E
goto Antwort1
Thomas
Bitte warten ..
Mitglied: Biber
03.08.2007 um 06:44 Uhr
Moin Tompazi,

sorry, eine mögliche Fehlersache hab ich gestern überlesen.
Das GOTO hängt ja syntaktisch in der Luft.
01.
... 
02.
REM ?? if /i "%dataname%"=="J" set "dataname=USB Stick %date:~-10,2% %monat% %date:~-4%" GOTO :check 
03.
REM gemeint vermutlich: 
04.
if /i "%dataname%"=="J" (  
05.
        set "dataname=USB Stick %date:~-10,2% %monat% %date:~-4%"  
06.
        GOTO :check 
07.
08.
...
Zur zweiten Frage: Den %random%-Bereich auf bestimmte Ober-/Untergrenzen festlegen..
Im Prinzip genau wie mit anderen Skriptsprachen auch, handwerklich allerdings mit dem Modulo-Operator.

01.
REM Bsp: Random-Wert SOLL zwischen 13 (incl.) und 296 liegen 
02.
REM %random% IST immer zwischen 0 und 32767, das ist halt so im CMD-Kontext. 
03.
Set /a "myMin=13" & Set /a "myMax=296" 
04.
Set /a "myRandom=%myMin% + (%random% %% %myMax%)" 
05.
...
Grüße
Biber
Bitte warten ..
Mitglied: Tompazi
03.08.2007 um 15:02 Uhr
Hallo
es funktioniert schon fast.
es erstellt leider gleich einen "USB Stick %date:~-10,2% %monat% %date:~-4% (3)" Ordner.
set /p "dataname= Beispiel Ordner Namen verwenden (USB Stick %date:~-10,2% %monat% %date:~-4%) (J/N)?"
if /i "%dataname%"=="J" (
set "dataname=USB Stick %date:~-10,2% %monat% %date:~-4%"
GOTO :check
)
if /i "%dataname%"=="N" set /p "dataname= Geben Sie den einen Ordnernamen ein:"
GOTO :copy
:check
Set Idx=2
for /l %%i in (%idx%,1,222) do if exist "d:\%dataname%(%%i)" set "idx=%%i"
set /a idx+=1
set "dataname=%dataname%(%idx%)"
:copy
XCOPY M:\ "D:\%dataname%" /I /E
Und ein weiteres Porblem das vorher nicht da war

set /p "open= Ordner aufmachen? (J/N)"
if /i "%open%"=="J" start D:\%dataname%

Wenn ichs so mache sagt er D:\Usb nicht gefunden
---

if /i "%open%"=="J" start D:\"%dataname%"

So hab ichs vorher gehabt und es hat funktionert aber jetzt sagt er mir D:\"Usb stick ..." nicht gefunden

---
if /i "%open%"=="J" start "D:\%dataname%"

Und so öffnets logischerweise ein neuses cmd Fenster

Danke
Thomas
Bitte warten ..
Ähnliche Inhalte
Entwicklung
Automatische Ping schleife
gelöst Frage von innovpizzaEntwicklung12 Kommentare

Hallo an alle, ich bin Auszubildender in einer Firma, in der wir gerade versuchen, vieles zu Automatisieren, so auch ...

Batch & Shell
Batch Schleife als FOR-SCHLEIFE
gelöst Frage von mp2711Batch & Shell2 Kommentare

Mit den FOR-Schleifen habe ich mich leider bislang zu selten auseinander gesetzt, aber da ich sonst gerade nicht weiter ...

Windows Server

Windows Server 2012R2 Automatische-Reparatur Schleife - NEU

Frage von hans-tu-wasWindows Server46 Kommentare

Hallo Leute, mein Windows 2012 R2 Server startet nach Update nicht mehr. Es gibt hier im Forum bereits einen ...

Windows Server

Windows Server 2012R2 Automatische-Reparatur Schleife

gelöst Frage von Timo0oWindows Server8 Kommentare

Hallo zusammen. Ich habe ein Problem mit einem Windows Server 2012R2, der physikalisch auf einem Fujitsu RX100 S8 installiert ...

Neue Wissensbeiträge
Humor (lol)

WhatsApp-Nachrichten endlich auch per Bluetooth versendbar

Information von BassFishFox vor 11 StundenHumor (lol)3 Kommentare

Genau darauf habe ich gewartet! ;-) Der beliebte Messaging-Dienst WhatsApp erhält eine praktische neue Funktion: Ab dem nächsten Update ...

Google Android

Googles "Android Enterprise Recommended" für Unternehmen

Information von kgborn vor 1 TagGoogle Android3 Kommentare

Hier eine Information, die für Administratoren und Verantwortliche in Unternehmen, die für die Beschaffung und das Rollout von Android-Geräten ...

Sicherheit

Intel gibt neue Spectre V2-Microcode-Updates frei (20.02.2018)

Information von kgborn vor 1 TagSicherheit

Intel hat zum 20. Februar 2018 weitere Microcode-Updates für OEMs freigegeben, um Systeme mit neueren Prozessoren gegen die Spectre ...

Microsoft
ARD-Doku - Das Microsoft Dilemma
Tipp von Knorkator vor 1 TagMicrosoft3 Kommentare

Hallo zusammen, vor einigen Tagen lief in der ARD u.a. Reportage. Das Youtube Video dazu dürfte länger verfügbar sein. ...

Heiß diskutierte Inhalte
Windows Server
AD DS findet Domäne nicht, behebbar?
Frage von schapitzWindows Server45 Kommentare

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

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 ...

Server-Hardware
Welche Rolle spielt Design bei Enterprise IT Hardware?
Frage von ApolloXServer-Hardware16 Kommentare

Ich arbeite für einen internationalen Elektronikhersteller in der Forschung und meine Aufgabe ist es, Feedback von Nutzern in Hinsicht ...

Switche und Hubs
Cisco SG350X-48 AdminIP in anderes VLAN
Frage von lcer00Switche und Hubs14 Kommentare

Hallo zusammen, ich habe ein Problem mir einem Cisco SG350X-48 bei der Erstinstallation wurde eine IP 192.168.0.254 (Default VLAN ...