Zum Inhalt springen

Einfaches Kopierscript


dan!eL

Empfohlene Beiträge

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

@ 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!

Link zu diesem Kommentar
Auf anderen Seiten teilen

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"?

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

Gast ***F.E.A.R.***Fawkes

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?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Gast ***F.E.A.R.***Fawkes

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 ;)

Link zu diesem Kommentar
Auf anderen Seiten teilen

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 :rolleyes:

@ lighthammer:

wunderbar, gerne :bimei

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...