Veröffentlicht 29. Oktober 200915 j 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
29. Oktober 200915 j 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.
29. Oktober 200915 j 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
29. Oktober 200915 j 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!
29. Oktober 200915 j 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 200915 j von RipperFox %% im Batch statt %
29. Oktober 200915 j 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
29. Oktober 200915 j @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!
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.