找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 35630|回复: 10

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

[复制链接]
发表于 2013-8-27 20:31:45 | 显示全部楼层 |阅读模式
%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怎么写代码?

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

 楼主| 发表于 2013-8-28 21:23:45 | 显示全部楼层
有人说这样可以,可是试了不行

cd /d "%~dp0"
xcopy Install %SystemRoot%
发表于 2013-8-29 11:14:53 | 显示全部楼层
不知道楼主这些系统变量都自己定义了么?还是需要判断操作系统的种类?
其实需求应该很简单啊,如下
::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
 楼主| 发表于 2013-8-29 12:07:17 | 显示全部楼层
批处理无效,这个是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文件夹复制过来.
发表于 2013-8-29 13:22:27 | 显示全部楼层
在附件中 选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
 楼主| 发表于 2013-8-29 18:32:08 | 显示全部楼层
XP里面没搞定,安装了powershell,net framework 2.0、3.0、3.5、4.0都安装了。
Windows自带的能解决吗?比如写个BAT,CMD什么的
发表于 2013-8-29 18:59:34 | 显示全部楼层
楼主什么系统
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
复制代码

评分

参与人数 1技术 +1 收起 理由
xp3000 + 1 原来bat名称要为test.bat 其它名称无效

查看全部评分

发表于 2013-8-29 19:13:03 | 显示全部楼层
没搞定的话,报错信息,请上图
不愿意用powershell解决的话,请无视此楼
 楼主| 发表于 2013-8-29 19:44:26 | 显示全部楼层
不好意思,可能是的XP我系统坏了,命令提示符输入的xcopy复制文件夹结果文件夹看不见,但是提示是否覆盖文件夹里面的文件,
 楼主| 发表于 2013-8-29 19:48:57 | 显示全部楼层
回复 8# PowerShell


XP右键菜单没那个选项。
 楼主| 发表于 2013-8-31 10:04:07 | 显示全部楼层
楼主什么系统
xp下 这个可以的
terse 发表于 2013-8-29 18:59


原来不是系统问题
    当前目录下的那个复制.bat改名为test.bat就成功了:'(
为什么其他名称不行
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-20 13:25 , Processed in 0.022386 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表