一個批次腳本旨在將另一個批次腳本複製到Windows 中使用者的文件資料夾中,當使用者以管理員權限執行該腳本時,會在使用者的文件資料夾中建立約1GB 的資料夾,從而產生不良影響。查看腳本後,我仍然不確定是什麼導致了這種行為。
這是原始碼,名為 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
該檔案位於包含其他三個檔案的資料夾中:「test1.bat」、「input.txt」和「test1 - Shortcut.lnk」。整個資料夾大小僅為 16KB。
我確信我一定錯過了一些明顯的東西。它是什麼?
答案1
該行copy *.* "%userprofile%\Documents\test1\" /Y
使得批量複製資料不是從它的目錄中進行儲存在,但是從目錄它被稱為來自。在第一行後面插入cd /d %~dp0%
,使後一個目錄成為前一個目錄。