Ein Batch-Skript, das ein anderes Batch-Skript in die Dokumentordner von Benutzern in Windows kopieren sollte, hatte den unerwünschten Effekt, dass im Dokumentordner eines Benutzers ein ca. 1 GB großer Ordner erstellt wurde, wenn er es mit Administratorrechten ausführte. Nachdem ich das Skript überprüft habe, bin ich mir immer noch nicht sicher, was dieses Verhalten verursacht hat.
Dies ist die Quelle mit dem Namen test1_install:
@echo off
mkdir %userprofile%\Documents\test1
copy *.* "%userprofile%\Documents\test1\" /Y
copy "test1 - Shortcut.lnk" "%appdata%\Microsoft\Windows\Start Menu\Programs\Startup" /Y
Dies wird in einem Ordner abgelegt, der drei weitere Dateien enthält – „test1.bat“, „input.txt“ und „test1 – Shortcut.lnk“. Der gesamte Ordner ist nur 16 KB groß.
Ich bin sicher, dass ich etwas Offensichtliches übersehe. Was ist es?
Antwort1
Die Zeile copy *.* "%userprofile%\Documents\test1\" /Y
bewirkt, dass die Daten im Stapel nicht aus dem Verzeichnis kopiert werden,wird gespeichert in, sondern aus dem Verzeichnises heißt von. Fügen Sie cd /d %~dp0%
nach der ersten Zeile ein, um das letztere Verzeichnis zum ersteren zu machen.