我想在批处理时使用set / p复制文件

时间:2014-05-12 08:50:51

标签: batch-file

我想复制一个set /p的文件。任务:使用set / p编写文件名,并将其复制到我想要的目录中,但不起作用。

我目前的来源:

@echo off
echo Enter YOur Pic Name With .jpg
set /p cop=
xcopy /s %systemroot%\%cop% %systemroot%\system32\oobe\info\backgrounds
cls
pause 

3 个答案:

答案 0 :(得分:0)

对于SET /P命令,格式最适合这样:

set /p cop=Enter your Pic name with .jpg

我还建议您添加几行来检查文件是否确实存在:

@rem just check that the full path is what I expect
echo %systemroot%\%cop%
@rem and check if the file is there
dir %systemroot%\%cop%

(批处理文件工作后删除这些行)。

此外,删除cls行,直到它正常工作。然后,一旦它正在做你需要的东西,你可以把它放回去,如果你愿意的话。

您可能想要考虑%systemroot%是否适合拍摄这些照片,即使是暂时的。它通常用于Windows操作系统代码。

答案 1 :(得分:0)

%systemroot%path可能有空格,因此文件名必须用引号括起来:

@echo off
set /p "cop=Enter YOur Pic Name With .jpg: "
xcopy /s "%systemroot%\%cop%" "%systemroot%\system32\oobe\info\backgrounds"
cls
pause 

答案 2 :(得分:0)

尝试以管理员身份运行:http://windows.microsoft.com/en-us/windows7/how-do-i-run-an-application-once-with-a-full-administrator-access-token

您也可以尝试以下操作(xcopy不喜欢/s),我认为您试图使输出静音,只需尝试使用>nul重定向:

@echo off
echo Enter YOur Pic Name With .jpg
set /p cop=
xcopy /y %systemroot%\%cop% %systemroot%\system32\oobe\info\backgrounds\* >nul
cls
pause