Board logo

标题: [文件操作] [已解决]BAT如何复制文件夹到带Windows变量的目标路径 [打印本页]

作者: xp3000    时间: 2013-8-27 20:31     标题: [已解决]BAT如何复制文件夹到带Windows变量的目标路径

%ProgramFiles% XP路径是C:\Program Files
%ProgramFiles%Windows832位C:\Program Files(x86)
%APPDATA% XP路径是C:\Documents and Settings\Administrator\Application Data
%APPDATA% Windows8 32位路径是C:\ProgramData
%SystemRoot% 路径是C:\Windows ,Install文件夹带隐藏属性

Game复制到%ProgramFiles%里面去

Install复制到%SystemRoot%里面去

Save复制到%APPDATA%里面去

请问这个文件夹下的复制.BAT怎么写代码?
作者: xp3000    时间: 2013-8-28 21:23

有人说这样可以,可是试了不行

cd /d "%~dp0"
xcopy Install %SystemRoot%
作者: sunson    时间: 2013-8-29 11:14

不知道楼主这些系统变量都自己定义了么?还是需要判断操作系统的种类?
其实需求应该很简单啊,如下
::Game复制到%ProgramFiles%里面去
::Install复制到%SystemRoot%里面去
::Save复制到%APPDATA%里面去
xcopy Game  %ProgramFiles%\Game   /K /I /H /Y
xcopy Install %WINDIR%\Install          /K /I /H /Y
xcopy Save   %APPDATA%\Save          /K /I /H /Y
作者: xp3000    时间: 2013-8-29 12:07

批处理无效,这个是Windows变量,
在命令提示符用全部路径可以,但是还要提示是文件还是目录,
然后再按提示操作。
%Appdata%              ---→当前用户的应用程序路径
%SystemRoot%        ---→系统所在的目录
%ProgramFiles%       ---→应用程序的默认安装目录

有个想法,不知道怎么弄,也不知道可行不
写个批处理,列出目录下文件夹路径,每个文件夹保存成带文件夹名称的TXT,
Game.txt(带Game文件夹路径);
Install.txt(带Install文件夹路径);
Save.txt(带Save文件夹路径);
转到%Appdata%,创建个bat,读取Save.txt里面的路径,执行后把Save文件夹复制过来,
然后转到%SystemRoot%,创建个bat,读取Install.txt里面的路径,执行后把Install文件夹复制过来,
再转到%ProgramFiles%,创建个bat,读取Game.txt里面的路径,执行后把Game文件夹复制过来.
作者: PowerShell    时间: 2013-8-29 13:22

在附件中 选powershell,右键,管理员打开
Copy-Item -path  Game -Destination $Env:\ProgramFiles  -Recurse -Force
Copy-Item -path  Install -Destination $Env:\SystemRoot  -Recurse -Force
Copy-Item -path  Save -Destination $Env:\APPDATA  -Recurse -Force
作者: xp3000    时间: 2013-8-29 18:32

XP里面没搞定,安装了powershell,net framework 2.0、3.0、3.5、4.0都安装了。
Windows自带的能解决吗?比如写个BAT,CMD什么的
作者: terse    时间: 2013-8-29 18:59

楼主什么系统
xp下 这个可以的
  1. @echo off
  2. xcopy Game /E /Y /H /R "%ProgramFiles%\Game\"
  3. xcopy Install /E /Y /H /R "%WINDIR%\Install\"
  4. xcopy Save /E /Y /H /R "%APPDATA%\Save\"
  5. pause
复制代码

作者: PowerShell    时间: 2013-8-29 19:13

没搞定的话,报错信息,请上图
不愿意用powershell解决的话,请无视此楼
作者: xp3000    时间: 2013-8-29 19:44

不好意思,可能是的XP我系统坏了,命令提示符输入的xcopy复制文件夹结果文件夹看不见,但是提示是否覆盖文件夹里面的文件,
作者: xp3000    时间: 2013-8-29 19:48

回复 8# PowerShell


XP右键菜单没那个选项。
作者: xp3000    时间: 2013-8-31 10:04

楼主什么系统
xp下 这个可以的
terse 发表于 2013-8-29 18:59


原来不是系统问题
    当前目录下的那个复制.bat改名为test.bat就成功了:'(
为什么其他名称不行




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2