批量文件将另一个文件复制到“启动”文件夹中?

时间:2014-08-08 11:38:20

标签: windows batch-file copy command wildcard

我正在创建一个批处理文件,需要将另一个批处理文件复制到“开始菜单启动”文件夹 (在登录/启动时启动程序时使用的文件)。由于该路径使用用户的计算机名称,例如。 C:\Documents and Settings\User Name我需要批处理文件来获取用户的正确名称,而不是"用户名"或*(通配符)。当批处理文件出现时,通配符不起作用" 文件名目录名称或卷标语法不正确"。

我希望这很清楚。

11 个答案:

答案 0 :(得分:3)

你也可以试试这个:

cd %APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup

适用于Windows 10. %appdata%变量默认为您提供所需的用户名

答案 1 :(得分:2)

通过执行cmd.exe或使用Windows开始菜单中Accessories中的快捷方式打开新的命令提示符窗口。输入set并查看Windows预定义的环境变量列表。您最感兴趣的是 USERPROFILE

以下命令可用于将名称为AaRM.bat的批处理文件从可用于所有用户的文件夹(如所有用户桌面文件夹)复制到当前登录用户的启动文件夹。

copy "%ALLUSERSPROFILE%\Desktop\AaRM.bat" "%USERPROFILE%\Start Menu\Programs\Startup"

双引号很重要,因为带有路径的批处理文件的名称和启动文件夹的路径都包含空格。

很可能无法将批处理文件从桌面文件夹复制到其他用户的启动文件夹,因为其他用户可能无权访问您的用户个人资料目录及其下的任何内容。

您可以复制批处理文件,以便也可以分发给"%ProgramFiles%"%SystemRoot%等所有用户均可访问的其他文件夹,因为桌面上的所有用户帐户都可以看到所有用户桌面文件夹中的批处理文件。

最好将批处理文件放入Windows目录(%SystemRoot%%windir%),并在其他用户帐户的启动文件夹中创建/复制快捷方式文件(* .lnk)。 Windows开始菜单文件夹应仅包含* .lnk文件,而不应包含批处理文件和应用程序。

最后,还可以在"%ALLUSERSPROFILE%\Start Menu\Programs\Startup"中为%windir%中的批处理文件创建一个快捷方式,以便为登录此计算机的任何用户执行此批处理文件。您的批处理文件可以在if "%USERNAME%"=="your account name" goto :EOF之类的内容中包含1次或更多次的各种用户帐户名,以防止为1个或更多特定用户执行任何操作。

答案 2 :(得分:1)

如果你使用win 7,请尝试以下命令。但是从未在win 8上尝试过。

cd C:\ Users \%username%\ AppData \ Roaming \ Microsoft \ Windows \ Start Menu \ Programs \ Startup

非常适合我。

答案 3 :(得分:1)

难以接受任何回答.. 为什么我们这么迷失?

echo %userprofile%

了解当前用户的名称

复制 复制/ y%~f0"%USERPROFILE%\%AppData%\ Roaming \ Microsoft \ Windows \ Start Menu \ Programs \ Startup

替代 复制"您要复制的文件路径" "要复制的目录的路径"

复制启动文件夹批处理文件路径的路径

答案 4 :(得分:0)

复制/ y"文件地址复制到这里" "其中到拷贝到这里"
(如上) 然后将文件另存为.bat 并且您有一个批处理文件,如果在系统目录中则以管理员身份运行。

答案 5 :(得分:0)

copy "C:\Documents and Settings\%username%\Desktop\batch.bat" "C:\Documents and Settings\%username%\Start Menu\Programs\Startup\"

这应该有效。

答案 6 :(得分:0)

尝试一下:

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

此外,如果要跳过复制路径的用户名,请使用%username%代替实际的用户名。

答案 7 :(得分:0)

这有效:

@echo off
copy "C:\Users\%username%\Desktop\somefolder\example.bat" "C:\Users\%username%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\"

答案 8 :(得分:0)

@回声关闭

复制“%〜n0%〜x0”“%USERPROFILE%\开始菜单\程序\启动”


* 使用此代码!

答案 9 :(得分:0)

我知道答案, 在您的批处理文件中输入:

copy“复制文件路径”“粘贴文件路径”

如果文件路径有一个用户名而不是输入 %ALLUSERSPROFILE% 而不是用户名(它会自动填写每个 windows pc 的用户名)

示例:复制 "C:\Users%username%\Desktop\New folder\hi.txt" "C:\Users%username%\Desktop"

这样做的: Example to what it did when opened

答案 10 :(得分:0)

最终答案:

复制“文件路径”“C:\Users%username%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup”

那行得通