Jump to content

Biber

Members
  • Gesamte Inhalte

    97
  • Registriert seit

  • Letzter Besuch

Alle erstellten Inhalte von Biber

  1. Moin wannabee, ich kann zwar nur vermuten, was Du da treibst, aber ich kann mir nicht vorstellen, dass es auf diese Art nur dankbare Blicke erzeugt. - ich würde NICHT den eigentlichen Root-Ordner mit löschen (oder zu löschen versuchen), denn dann sind auch immer alle Rechte dieses Ordners mit beim Doppelhörnigen. - ich würde NICHT unterstellen, dass ein normaler Benutzer einen Systemordner wie "c:\Recycler" löschen darf oder einen neuen Ordner auf C:\ (==[C-Root]! ) angelen darf - ich würde NICHT unterstellen, dass alle Computer dieser Welt dieselbe Ordnerstruktur haben, NICHT EINMAL wenn ich sie selbst per GPO heute morgen so hätte anlegen lassen Minimal ändern würde ich es zu einer vorgeschalteten Prüfung mit IF exist "x:\irgendeinJunk" .... ...und statt der Pünktchen dann for /d %%i in ("c:\irgendeinJunk\*") do rd /s /q "%%i" >nul ---> Wenn es partout ein Batch dieser Art sein muss. Sonst würde ich es eher über GPO, Logoffskript und das Tool CleanMgr.exe [==XP-Standardumfang) empfehlen. Hilfe zu CleanMgr findest Du z.B. bei Aufruf des Proggies CleanMgr, dann "?" wählen. Grüße Biber
  2. Moin wannabee, diese Batchdatei kann mit relativ sparsamen Mitteln erzeugt werden: :: -------------snipp DelTempdocs.bat @del /s /q "x:\share\Aufträge\~*.doc">>\\somewhere\tempDeleted.log :: -------------snapp DelTempdocs.bat ...wäre eine der Varianten. Grüße Biber edited by marka: Code-Tags vervollständigt...
  3. Moin blub, hast ja Recht. Dann ziehe ich mene Frage von vorhin zurück. Und liefere noch mal eine Variante mit, um die führende "0" zu entsorgen (Nachzukaspern am CMD-Prompt): (=13:28:17 D:\temp=) >set "monat=%date:~-7,2%" & echo %date:~-7,2%|findstr "^0" && set "monat=%date:~-6,1%" 07 (=13:28:43 D:\temp=) >set monat monat=7 Ist zwar auch wieder ohne die CMD-interne Wechseln/Ersetzen-Funktionalität, aber die wäre für das genannte "Problem" wirklich noch nicht mal ein Plan C oder D bei mir.. ;-) Anyhow, schönes Wochenende Biber
  4. Thx @Das Urmel, das erspart es mir die Antwort, die ich grad auf der Tastatur hatte, in vollständiger Wortlänge hier runterzutippen. Ich beschränke mich also auf eine kurze Gegenfrage @lefg: Okay, wenn das einfacher geht... ich lerne ja gern ein paar Tricks dazu. Analog zu billyboyss Vorgehen würde ja zum Beispiel bei der Ermittlung des aktuellen Monats aus der %date%-Variablen herauskommen ( Beispiel am CMD-Prompt): >echo %date:~-7,2% 07 set monat=%date:~-7,2% Bitte ersetze mir mal die führende "0" in dieser Monatsangabe mit dem von Dir genannten Befehl. P.S. Es sollte aber für den Monat Oktober nichts ungeplantes herauskommen.. *gg Grüße Biber
  5. Moin billyboy, ich würde mir das Leben auch nicht unnötig schwer machen und Datumsdifferenzen/-berechnungen immer mit einem VBS-Schnipsel abfackeln. Allerdings dann mit den Funktionen DateDiff()/DateAdd(), also direkt mit Datumswerten rechnen. Aber um nochmal auf die "01, 02, ...07, 08, 09. werden Oktalzahlen interpretiert-Problematik zurückzukommen... Du kannst es umgehen, indem Du mit 101, 102...109 "rechnest statt mit 01, 02,..09. Beispiel am CMD-Prompt: >for /L %i in (1,1,31) do @for /f %j in ('@set /a ^(10%i-1^) % 100') do @echo %i -1 = %j 1 -1 = 0 2 -1 = 1 3 -1 = 2 4 -1 = 3 5 -1 = 4 6 -1 = 5 7 -1 = 6 8 -1 = 7 9 -1 = 8 10 -1 = 9 11 -1 = 10 12 -1 = 11 .... ..im Prinzip rechne ich also (bzw. lasse rechnen) Statt: 01 - 1 = 0 --> 101 - 1 mod 100 = 0 Statt: 02 - 1 = 1 --> 102 - 1 mod 100 = 1 Statt: 03 - 1 = 2 --> 102 - 1 mod 100 = 2 usw. usw. ... ..aber hilft Dir alles nicht nicht über den Winter... sobald Du vom ersten des Monat einen Tag abziehen willst, sind die Einsatzmöglichkeiten von "gestern ist heute minus 1" ausgereizt. Ein Beispiel für die Ermittlung des gestrigen Datums im Batch via VBSkript folgt: ::------snipp GesternDemo.bat @echo wscript.echo dateAdd("d",-1, date())>%temp%\gestern.vbs @For /f %%i in ('cscript //nologo %temp%\gestern.vbs') do @set "yesterdate=%%i" @echo [Demo:] Heute ist %date%, gestern war %yesterdate% @del %temp%\gestern.vbs ::---snapp GesternDemo Grüße Biber
  6. Moin mullfreak, steht doch da.... in der Section: [DestinationDirs] DefaultDestDir = 12 [/Code] ..übersetzt: [i] 12 Drivers directory This is equivalent to %windir%\system32\drivers for NT-based platforms, and to %windir%\system\IoSubsys on Windows 9x/Me platforms. [/i] Quelle: Using Dirids Gruss Biber
  7. Moin Rudman, lass einfach den Backslash nach "...configuration" weg und setze das neue Value "Time Server" wegen des Leerzeichens in Anführungszeichen. Test Am CMD-Prompt: >reg add "HKLM\Software\argosoft\time Synchronizer\configuration" /v "Time Server" /t REG_SZ /d 192.168.186.17 /f Der Vorgang wurde erfolgreich ausgeführt. (=15:38:41 D:\temp=) >reg query "HKLM\Software\argosoft\time Synchronizer\configuration" /s ! REG.EXE VERSION 3.0 HKEY_LOCAL_MACHINE\Software\argosoft\time Synchronizer\configuration Time Server REG_SZ 192.168.186.17 [/Code] Gruss Biber
  8. Moin Nimda3000, ich habe zwar keine Lösung für Dein Prolem, aber bin auch an diesem (möglichen) Bug und seiner Vermeidung interessiert. Hast Du denn mal die Datei-Zeiten auf Original- und Backup-Device verglichen? Laufen die vielleicht eine Stunde auseinander wegen Sommerzeit/nicht Sommerzeit? Gruss Biber
  9. Hm, mach doch zur Probe mal so etwas wie for /d %i in ("%USERPROFILE%\..\*") do @echo %i [/Code] oder in Deinem Fall [Code] for /d %i in ("d:\daten\homedirs\*") do @echo md %i\NeuerOrdner [/Code] ...dann müsste sich doch erkennen lassen, ob Wunsch und Wirklichkeit weit auseinanderliegen. Gruss Biber
  10. Etwas schlanker wäre vom CMD-Prompt des Servers aus for /d %i in ("d:\daten\homedirs\*") do @md "%i\NeuerOrdner" [/Code] Gruss Biber
  11. Etwas kürzer ginge es so vom CMD-Prompt (Demo): (=18:29:53 D:\temp=) >for %i in (*.tst) do @for /f "tokens=1-3 delims=-" %j in ("%i") do @echo rename "%i" "%j-%k-%l%~xi" rename "aaaa-bbb-ccc-1.tst" "aaaa-bbb-ccc.tst" rename "azzzzzzaaa-fff-ddd-9.tst" "azzzzzzaaa-fff-ddd.tst" rename "mit leer azzzzzzaaa-fff-ddd-9.tst" "mit leer azzzzzzaaa-fff-ddd.tst" Gruss Biber
  12. Moin qnorx, nun muss ich aber mal zurückfragen... In der Hilfe "Start /?" steht: Wird eine grafische 32-Bit-Anwendung aufgerufen, wartet CMD.EXE nicht auf das Beenden dieser Anwendung, sondern kehrt sofort zur Eingabeauforderung zurück. Das gilt NICHT, wenn diese Anwendung aus einem Befehlsskript heraus aufgerufen wird. Also: ist mysqldump eine graphische W32-Bit-Anwendung? If so, dann kannst Du soviele /Waits eingeben, wie Du möchtest - ohne Effekt. If not: Dann kannst Du doch statt diesem Start /b /low /whatever einfach direkt eingeben: d:\mysql-slave-3307\bin\mysqldump ...... ... oder hab ich jetzt etwas übersehen? Gruß Biber
  13. *SichvornKoppKlatsch JETZT habe ich es gesehen....*grmpf*.... wie doch die Zeit vergeht.... ...und dennoch .... noch 19 Stunden bis zum Wochenende... Grüße & Danke Biber
  14. @thorgood Öhhm... heißt das, ich muss diesen Krempel jetzt auf diese unsägliche PowerShell umstellen? Oder hat M$ seit Vista endlich diese Problemchen mit Pfadlängen jenseits der 250 Zeichen im Griff? :rolleyes: Grüße Biber
  15. Ergänzung bzw. Alternative zu thorgood's Lösung: @echo off :: Aufruf beispiel1 [Laufwerk:] for /F "delims=" %%i in ('dir %1\ /b /s') do call :loop "%%i" goto :eof :loop set Fullpath=%~1 if ("%Fullpath:~199,10%") GTR ("") echo %fullpath% >>d:\groesser200.lst goto :eof @Haennerson: Ich fände das auch guten Stil, die Quelle des Fund-Batches mit anzugeben. Oder, eigentlich noch besser, die Rückfrage direkt in dem Forum zu stellen, in dem dieses Beispiel gepostet war. Pfadtiefe auslesen - administrator Gruß Biber, der auch in anderen Foren diesen Nick hat ;) Im selben Forum habe ich auch nach der oben angegebenen Jugendsünde im Bereich "Batch & Shell" die kleine Tut-Serie "Workshop Batch for Runaways" gepostet. Teil 1 behandelt diese FindLongPath-Klamotte ausführlich.
  16. Moin droja, hatte dasselbe Problem exakt an der gleichen Stelle (nur bei "Notizen") bei Einsatz einer nVidia-Grafixkarte. Konnte ich beheben durch aktuelle Patches von der Homepage des Grafikkartenherstellers. Gruß Biber
  17. @klausk Nicht, dass ich hier unbedingt das letzte Wort haben will - ist wirklich nur ein dummer Zufall.... *schwör ....aber eine Nachfrage hätte ich jetzt noch. Dieser Ping-Bug ist mir bekannt -sollte doch aber eigentlich nur mal bei einer relativ alten Ping.exe (Win NT? Win2k?) mit ausgeliefert worden sein IMHO. Ist dieses buggy behavior jetzt wieder da bzw. welche Ping.exe-Version hast Du denn benutzt? Denn in ein, zwei Bätchen könnte ich schon eine Ping-Errorlevel-Abfrage drin haben. Da wüsste ich schon gerne, wenn ich da (wieder) über Bande prüfen muss. Thx schon mal Biber
  18. > Hallo Gemeinde Bin eigentlich Atheist, wenn Du schon dieses Thema anschneiden willst, aber egal. Hallo dmoss, > , wie muss ich die Batchdatei anlegen damit ich mein Daten sichern kann. > Ich möchte die Daten auf einer Externen Platte sichern. Eine Batchdatei ist schwer zu schreiben, wenn es um "die Daten", "auf einer externen Festplatte", "die Menschheit", "das Leben" etc. geht. Normalerweise lässt sich eine Batchdatei stressärmer schreiben, wenn bekannt ist, dass die konkreten Unterverzeichnisse D:\Fotos, E:\Downloads und F:\Mails auf eine Festplatte G: gesichert werden sollen. Ist einfacher zu formulieren. > Die Batchdatei sollte so anglegt werden, dass sie beim erstenmal alles sichert "Alles" ist auch keine hilfreiche Eingrenzung...*seufz* > und dann die alten und neuen Daten vergleicht und dann nur die neuen dazu sichert. > Gibt es irgendwo eine Anleitung wie ich so eine Datei erstellen kann. Hunderte. Suche einfach in einer Suchmaschine Deines Vertrauens nach "Datensicherung" , "Batch" ... Hier ist eine ausführliche: Norberts XP Ressource - Batch Datei > Möchte nicht jedesmal alles Sichern was schon älter ist. Die Kurzfassung aller Beispiele: Schau Dir die Hilfe zu XCopy an. ("XCopy /?" am CMD-Prompt oder im Klicki-Bunti-Hilfe-und-Supportfenster unter "XCopy".) Speziell der Parameter /D ist für Deinen Plan wichtig. Beispiel: ::---snipp DeinSicherungs.bat @XCopy /S /R /H /D /y <Alles> <ExternePlatte> ::---snapp DeinSicherungs.bat HTH Biber
  19. Na, dann machen wir mal den Schnipsel komplett... Verheerender als das "NULL" statt "NUL" ist ja, dass sich die zweite ERRORLEVEL-Abfrage auf etwas anderes bezieht als geplant, nämlich auf den Rückgabewert der nach der ersten IF ERRORLEVEL-Abfrage ausgeführten <aktion>. Jedenfalls wenn der CMD-Interpreter da reingeht. @ECHO OFF PING -n 1 <Adresse> > NUL IF NOT ERRORLEVEL 1 <Aktion> REM -----> zum Beispiel ein xcopy quelle ziel... REM oh? Hat einen Fehler?-->dann ist errorlevel > 0 ...auch in der nächsten Zeile *g IF ERRORLEVEL 1 <Aktion> Also dann entweder @ECHO OFF PING -n 1 <Adresse> > NUL IF NOT ERRORLEVEL 1 ( <AllesOkAktion> ) ELSE ( <KeinPingResponseAktion> ) -oder, wie oben skizziert, mit "goto": :: ----snipp Try2Copy2Server.bat @ECHO OFF & setlocal PING -n 1 <Adresse> > NUL ||goto NoPingResponse <AllesOkAktion> goto :eof :NoPingResponse Set /P TryAgain="Server antwortet nicht... Nochmal versuchen J/N? " If /i "%TryAgain%"=="J" %0 ::----snipp Try2Copy2Server.bat [ungetestete Skizze] Grüße Biber
  20. ...oder noch besser: @ECHO OFF PING -n 1 <Adresse> > NUL IF NOT ERRORLEVEL 1 <Aktion> IF ERRORLEVEL 1 <Aktion> ...dann wird keine überflüssige Datei namens NULL angelegt :D Grüße aus Bremen Biber
  21. ...oder (ohne Zusatztool) mit VBS auslesen as per M$: M$ Scriptcenter ListHotfixes.vbs M$ ScriptCenter ListLatestSP.vbs ..oder mit dem Zusatztool PsInfo.exe (hier: "PsInfo /h" ) von Sysinternals Freeware Die beiden Varianten funktionieren jedenfalls vom CMD-Prompt auch unterhalb von WinXP. Bei W2000 wirst Du sonst beim Eintippen von "srvinfo", "systeminfo" und "wmic" nur Gelächter ernten. Gruß Biber
  22. Moin Thanquol, lass mal bitte im Zielpfad den abschließenden Backslash weg. Da hast Du es zu gut gemeint. Oder besser, als M$ verkraftet beim Parsen. Gruß Biber
×
×
  • Neu erstellen...