dan!eL Geschrieben 18. April 2007 Teilen Geschrieben 18. April 2007 Hallo zusammen, da in unserer Firma ein USB Stick in unserer Abteilung herumgeht (zwar unverständlich wegen Datenschutz & Sicherheit) möchte ich mir ein Script schreiben, dass dieser jedesmal komplett inhaltlich gelöscht wird wenn man das entsprechende Script aufruft. Kurz: Script ausführen > Stick leer! Problematik: Das eigentliche Script soll ja logischer Weise nicht gelöscht werden bzw. nach dem ganzen Vorgang genau im gleichen Verzeichnis (wieder) vorhanden sein/bleiben. Wie bekomme ich den aktuellen Laufwerksbuchstaben heraus? Ich habe nun folgendes Script bereits geschrieben, bräuchte aber eine Hilfe um den aktuellen Laufwerksbuchstaben herauszufinden. Hat jemand eine Idee? @echo off set scr="stick_aufraeumen.bat" set scrTMP="stick_aufraeumen_temp.bat" set work="" echo *************************************************** echo INFO: USB Stick aufraeumen echo *************************************************** echo. echo Achtung! Es werden alle Daten auf diesem Stick echo geloescht. Abbrechen mit STRG + C echo. echo. pause cls echo *************************************************** echo INFO: Stick wird aufgeraeumt... echo *************************************************** echo. echo Bitte warten... echo. [COLOR="Red"]REM Script ins Temp kopieren[/COLOR] xcopy /Y %scr% %temp% [COLOR="SandyBrown"]REM Kopierscript in TEMP für Script erstellen (Was muss das Kopierscript tun)?[/COLOR] xcopy %temp%/%scr% [COLOR="SeaGreen"]STICKLAUFWERK [/COLOR]>>%temp%/%scrTMP% [COLOR="YellowGreen"]REM Files auf Stick löschen[/COLOR] del /F *.* [COLOR="SeaGreen"]REM Aufraeumscript von Temp wieder auf Stick kopieren[/COLOR] call %scrTMP% [COLOR="MediumTurquoise"]REM Löschen der erstellen Scripts im Temp-Verzeichnis[/COLOR] del /F %temp%/%scr% del /F %temp%/%scrTMP% echo. echo. pause echo *************************************************** echo INFO: ...fertig! echo *************************************************** Wo liegt mein Fehler? Habe mir das aufgezeichnet und rein von der Logik her müsste es doch stimmen oder? 1. Script in ein temporäres Verzeichnis kopieren (für den späteren Gebrauch) 2. Script erstellt ein Kopierscript (dies wiederrum nachher das richtige Script wieder zurückschreiben soll) 3. Das aktuelle Verzeichnis (also der USB Stick) soll komplett gelöscht werden 4. Das erstelle Kopierscript kopiert das eigentliche Script wieder zurück auf den Stick 5. Löschen der Files im Temp-Verzeichnis Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
mamamia Geschrieben 18. April 2007 Teilen Geschrieben 18. April 2007 Warum so umständlich, wie wärs denn mit formatieren?? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
dan!eL Geschrieben 18. April 2007 Autor Teilen Geschrieben 18. April 2007 Warum so umständlich, wie wärs denn mit formatieren?? selbst da müsste im script der laufwerksbuchstabe vorhanden sein. muss das anhand eines scripts machen, da die user das mit dem formatieren nicht verstehen und hier einfach nur ein doppelklick machen müssen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Manitu71 Geschrieben 18. April 2007 Teilen Geschrieben 18. April 2007 Die User verstehen nicht wie man formatiert, aber sie verstehen, dass sie irgendeine Datei dann aufrufen müssen um das Teil zu löschen? Ich geb da mamamia recht, das ist der einfachere und auch logischere Weg. Und noch am einfachsten wäre, wenn man von Haus aus sagt, das jeder, der den Stick benutzt, auch hinterher seine Daten löscht. Ich geh doch auch zum Metzger und kauf ne Wurscht und geh ned zum Bauern in den Stall und stell mich vors Vieh hin und warte bis ne Wurst draus wird. Wenns denn umständlich sein soll, dann würde ich einen schreibgeschützen Ordner machen, der den anderen Ordner, in dem die Dokumente liegen, immer löscht. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
mamamia Geschrieben 19. April 2007 Teilen Geschrieben 19. April 2007 @ Manitu71: Grüß Dich @DanyB.: 1. User haben keine Rechte zum Formatieren! 2. Wir müssen dein Problem nochmal beleuchten. Du sagst, es geht ein Stick in der Abteilung rum. Warum und wie, spielt ja jetzt hier mal keine Rolle, es iss einfach mal so. Warum soll der allszu gelöscht werden? Wenn der Stick voll iss, dann löschen die schon selber. Alternativ kannste dazu auch den Stick als NTFS formatieren und Rechte für explizit diese Datei setzen (Admin: Vollzugriff; User: Lesen). Dadurch kannst du sicherstellen, dass die User das Skript lesen und ausführen können, aber es wird aufgrund mangelnder Berechtigungen nichts gelöscht! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
dan!eL Geschrieben 19. April 2007 Autor Teilen Geschrieben 19. April 2007 wie bereits erwähnt: es ist einfach so. ihr wisst ja selber wie das ist, draufkopieren können sie alle, aber wenns ums aufräumen geht kennt sich keiner mehr aus die lösung soll so aussehen wie oben angesprochen, dass ist so beschlossen :cool: :upps deshalb zerbrech ich mir jetzt den kopf darüber wie es funktionieren könnte. gibt es denn keine möglichkeit immer den aktuellen laufwerksbuchstaben "auszulesen"? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
steinadler Geschrieben 19. April 2007 Teilen Geschrieben 19. April 2007 wie bereits erwähnt: es ist einfach so. ihr wisst ja selber wie das ist, draufkopieren können sie alle, aber wenns ums aufräumen geht kennt sich keiner mehr aus die lösung soll so aussehen wie oben angesprochen, dass ist so beschlossen :cool: :upps deshalb zerbrech ich mir jetzt den kopf darüber wie es funktionieren könnte. gibt es denn keine möglichkeit immer den aktuellen laufwerksbuchstaben "auszulesen"? Das ist doch nicht so schwer. Das Script liegt im Verzeichnis \xyz auf dem Stick. Also speicherst du das aktuelle Arbeitsverzeichnis gleich am Anfang auf dem Stick. Der Befehl "cd" gibt doch das aktuelle Verzeichnis mitsamt Pfad zurück. Der Befehl zum löschen benötigt ggf. noch den Parameter "/s" (löschen von alles Unterverzeichnissen). Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
dan!eL Geschrieben 19. April 2007 Autor Teilen Geschrieben 19. April 2007 evtl. steh ich wirklich gerade auf der leitung, aber wie bekomme ich die "cd"-ausgabe in eine variable? :old Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
steinadler Geschrieben 19. April 2007 Teilen Geschrieben 19. April 2007 evtl. steh ich wirklich gerade auf der leitung, aber wie bekomme ich die "cd"-ausgabe in eine variable? :old mit SET variable=%CD% Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
dan!eL Geschrieben 19. April 2007 Autor Teilen Geschrieben 19. April 2007 oha, warum nicht gleich so. vielen dank Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
steinadler Geschrieben 19. April 2007 Teilen Geschrieben 19. April 2007 oha, warum nicht gleich so. vielen dank nachzulesen bei "set /?" und dreimal Enter drücken Aber dafür gibts meiner Meinung nach ja das Forum ... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
dan!eL Geschrieben 19. April 2007 Autor Teilen Geschrieben 19. April 2007 du ich habe das ganze so oft durchgelesen, ich glaube mir stand der kopf weiß gott wo kann man mit einem paramenter unterdrücken, dass er die kopierten files auflistet? das script wäre dann soweit fertig. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
steinadler Geschrieben 19. April 2007 Teilen Geschrieben 19. April 2007 kann man mit einem paramenter unterdrücken, dass er die kopierten files auflistet? das script wäre dann soweit fertig. mit /Q (allerdings nur bei xcopy) Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
dan!eL Geschrieben 19. April 2007 Autor Teilen Geschrieben 19. April 2007 so leute, vielen dank an alle es ist vollbracht :hells: :floet: @echo off set scr=Stick_saeubern.bat set scrTMP=stick_temp.bat set work=%cd% echo *************************************************** echo INFO: Stick Cleaner v1.0 by DanyB. echo *************************************************** echo. echo Achtung! Es werden alle Daten auf diesem Stick echo geloescht. Es bleibt nur DIESE Datei bestehen! echo. echo Abbrechen mit STRG + C echo. echo. pause echo. echo *************************************************** echo INFO: Stick wird gesaeubert... echo *************************************************** echo. echo Bitte warten... echo. echo. xcopy /Y /Q %scr% %temp% echo rd /S /Q . >>%temp%\%scrTMP% echo xcopy /Q %temp%\%scr% %work% >>%temp%\%scrTMP% call %temp%\%scrTMP% del /F %temp%\%scr% del /F %temp%\%scrTMP% echo. echo *************************************************** echo INFO: ...fertig! echo *************************************************** echo. echo. pause Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Gast ***F.E.A.R.***Fawkes Geschrieben 23. April 2007 Teilen Geschrieben 23. April 2007 täusch ich mich oder wird da zwar alles gelöscht und auch ne temp-datei angelegt, aber im endeffekt wird die "säuberungsdatei" auch mitgelöscht und nicht wiederhergestellt? oder hast du den code nochmal überarbeitet? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
dan!eL Geschrieben 25. April 2007 Autor Teilen Geschrieben 25. April 2007 ich habe das scrpt mittlerweile des öfteren genutzt. es wird bevor alles gelöscht wird, das eigentliche script ins temp und anschließend wieder ins verzeichnis kopiert. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Gast ***F.E.A.R.***Fawkes Geschrieben 26. April 2007 Teilen Geschrieben 26. April 2007 hm, seltsam... hab die pfade bei mir angepasst und es macht zwar alles wie es soll, jedoch kopiert es die temporäre datei zum schluss nicht wieder auf den stick... naja, egal. wenns bei dir funktioniert ist ja gut Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Lighthammer Geschrieben 26. April 2007 Teilen Geschrieben 26. April 2007 hm, seltsam... hab die pfade bei mir angepasst und es macht zwar alles wie es soll, jedoch kopiert es die temporäre datei zum schluss nicht wieder auf den stick... naja, egal. wenns bei dir funktioniert ist ja gut Bei mir funzt es auch einwandfrei... danke übrigens! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
dan!eL Geschrieben 28. April 2007 Autor Teilen Geschrieben 28. April 2007 hm, seltsam... hab die pfade bei mir angepasst und es macht zwar alles wie es soll, jedoch kopiert es die temporäre datei zum schluss nicht wieder auf den stick... naja, egal. wenns bei dir funktioniert ist ja gut du musst an dem script nichts anpassen, das machen die variablen. du kannst es einfach so ausführen. die datei muss halt "Stick_saeubern.bat" heißen @ lighthammer: wunderbar, gerne :bimei Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.