psycho82 Geschrieben 29. Oktober 2009 Geschrieben 29. Oktober 2009 Hallo an alle, ich mochte eine Datei via batch script auf den Benutzerdesktop kopieren. Dies soll eine Erweiterung für ein Loginscript werden. Des bedeutet es wird von jedem Benutzer geladen welcher sich am Rechner anmeldet. Nun meine Frage, wie ich das anstelle ist mir im Großen und Ganzen schon klar. ICh möchte anhand einer IF-Anweisung abfragen welches Betriebssystem installiert ist, entweder Vista oder XP. Dann soll die Datei in den entsprechenden Ordner kopiert werden. Scriptablauf soll so aussehen: - START des Scripts - Abfrage nach OS - IF-Anweisung welche nach OS entscheidet - kopieren der Datei - Script ENDE Wenn ich eine Datei in den ProgrammeOrdner des jeweiligen OS kopieren wollte, wäre es deutlich einfacher, aber für den Desktop gibt es keine Umgebungsvariable wie %PROGRAMFILES%, oder doch? Danke für eure Hilfe
Kappa Geschrieben 29. Oktober 2009 Geschrieben 29. Oktober 2009 Moin, du kannst den Ordner "...\all users\Desktop" als Ziel nutzen. Gruß
psycho82 Geschrieben 29. Oktober 2009 Autor Geschrieben 29. Oktober 2009 Moin, du kannst den Ordner "...\all users\Desktop" als Ziel nutzen. Gruß Das Problem bei deiner Lösung liegt darin, dass sich die Pfade von "all users" unter XP und Vista unterscheiden.
erax Geschrieben 29. Oktober 2009 Geschrieben 29. Oktober 2009 probiers mal so: @echo off ver | find "Version 5.0" >nul if not errorlevel 1 goto W2000 ver | find "Version 5.2" >nul if not errorlevel 1 goto WXP ver | find "Version 6.0" >nul if not errorlevel 1 goto WVista ver | find "Version 6.1" >nul if not errorlevel 1 goto W7 :W2000 xcopy /Y /C c:\temp\test.txt "c:\Dokumente und Einstellungen\All Users\Desktop\test.txt" goto end :WXP xcopy /Y /C c:\temp\test.txt "c:\Dokumente und Einstellungen\All Users\Desktop\test.txt" goto end :WVista xcopy /Y /C c:\temp\test.txt C:\Users\Default\Desktop\test.txt goto end :W7 xcopy /Y /C c:\temp\test.txt C:\Users\Default\Desktop\test.txt goto end :end pause
psycho82 Geschrieben 29. Oktober 2009 Autor Geschrieben 29. Oktober 2009 probiers mal so: @echo off ver | find "Version 5.0" >nul if not errorlevel 1 goto W2000 ver | find "Version 5.2" >nul if not errorlevel 1 goto WXP ver | find "Version 6.0" >nul if not errorlevel 1 goto WVista ver | find "Version 6.1" >nul if not errorlevel 1 goto W7 :W2000 xcopy /Y /C c:\temp\test.txt "c:\Dokumente und Einstellungen\All Users\Desktop\test.txt" goto end :WXP xcopy /Y /C c:\temp\test.txt "c:\Dokumente und Einstellungen\All Users\Desktop\test.txt" goto end :WVista xcopy /Y /C c:\temp\test.txt C:\Users\Default\Desktop\test.txt goto end :W7 xcopy /Y /C c:\temp\test.txt C:\Users\Default\Desktop\test.txt goto end :end pause Brilliante Lösung, funktioniert. Allerdings nicht unter Vista, da die Benutzerkontensteuerung dazwischen funkt. Zugriff verweigert!
RipperFox Geschrieben 29. Oktober 2009 Geschrieben 29. Oktober 2009 (bearbeitet) ICh möchte anhand einer IF-Anweisung abfragen welches Betriebssystem installiert ist, entweder Vista oder XP. Dann soll die Datei in den entsprechenden Ordner kopiert werden. Warum brauchst Du die OS Abfrage überhaupt? Ein xcopy /Y \\server\file.txt %HOMEPATH%\Desktop > NIL: tut's doch? Grüße Ripper Edit: In Batches ggf. %%HOMEPATH%% verwenden Bearbeitet 29. Oktober 2009 von RipperFox %% im Batch statt %
erax Geschrieben 29. Oktober 2009 Geschrieben 29. Oktober 2009 Brilliante Lösung, funktioniert. Allerdings nicht unter Vista, da die Benutzerkontensteuerung dazwischen funkt. Zugriff verweigert! rechtsklick --> ausführen als administrator sollte das problem beheben, ansonsten siehe RipperFox's Lösung
psycho82 Geschrieben 29. Oktober 2009 Autor Geschrieben 29. Oktober 2009 @ripperfox Genau diese Umgebungsvariable habe ich anfangs gesucht (%HOMEPATH%), mit dieser Variable funktionierts selbstverständlich auch ohne OS Abfrage. Sehr gute Lösung und funktioniert auch. @erax Hab in der Zwischenzeit deine Lösung angepasst, dann hats auch ohne Adminrechte, allerdings nur für den jeweiligen Benutzer funktioniert. Aber das reich tmir als Lösuung auch. Ich beide Lösungen als korrekt und hilfreich einstufen. Danke GELÖST!
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden