将文件复制到所有用户的Startup文件夹

时间:2014-03-19 19:55:12

标签: windows batch-file

我正在尝试编写一个批处理文件,该文件将自身复制到Windows 7中的启动文件夹中,供所有用户使用。

我在这里试过这段代码:

copy test.bat "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup" 

并且它不起作用。但是,如果我改为输入此代码:

copy test.bat "C:\Users\Kreature\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup" 

它有效,但问题在于我需要这对所有帐户都是通用的。

5 个答案:

答案 0 :(得分:1)

我猜您必须从管理员帐户调用脚本才能将文件复制到系统文件夹。在CMD上尝试“以管理员身份执行”并调用您的脚本。

答案 1 :(得分:0)

可能您没有权限写入所有用户共享的文件夹,因此第一部分失败。但是你可以写你自己的文件夹,这样部分就可以了。

答案 2 :(得分:0)

你可以这样做: copy test.bat“C:\ Users \%USERNAME%\ AppData \ Roaming \ Microsoft \ Windows \ Start Menu \ Programs \ Startup” %USERNAME%将自动填入用户的用户名。

答案 3 :(得分:0)

在寻找解决方案时,找不到任何解决方案,因此我分批进行了潜水,并意识到这非常简单。希望您将需要复制的文件复制到每次用户启动,并且系统上具有admin privs。创建如下的批处理文件:

@echo off
set back=%cd%
for /d %%i in ("C:\Users\"*) do (
cd "%%i"
REM copy "C:\Users\Administrator\Desktop\file.cmd" "AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\"
echo.
echo -----------------------------------------------------------------------------------------------
dir "AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\"
echo -----------------------------------------------------------------------------------------------
echo.
cd ..
timeout 2 > NUL
)
cd %back%

答案 4 :(得分:0)

尝试使用:

copy %0 "%appdata%\Microsoft\Windows\Start Menu\Programs\Startup" 

%0代表具有路径的本地文件。您可以将%0更改为所需的任何文件。

%appdata%会将您重定向到以下路径:C:\Users\[user]\AppData\Roaming