标题: [文件操作] 如何获取d盘根目录下的文件夹和文件路径,并循环赋值给同一个变量? [打印本页]
作者: ygqiang 时间: 2016-3-12 19:44 标题: 如何获取d盘根目录下的文件夹和文件路径,并循环赋值给同一个变量?
本帖最后由 pcl_test 于 2016-3-12 21:40 编辑
如何顺序获取d盘根目录下一级目录和文件路径,并循环赋值给同一个变量xxyy?
需要排除掉:系统目录或者隐藏目录、其他满足条件的目录。
比如$RECYCLE.BIN(系统)、System Volume Information(系统)、XMusicServerStorage(隐藏)、迅雷下载(个人需求)
然后执行:
copyw.exe “%xxyy%" g:\备份
copyw来自该帖
http://www.bathome.net/thread-38339-1-2.html
作者: codegay 时间: 2016-3-14 11:25
56年还需要问这种问题。
作者: sishentibu 时间: 2016-3-14 18:43
copyw.exe不会,我是用xcopy写的。你可以参考着改一下- @echo off
- set source="D:\"
- set tagart="g:\备份"
- for /f %%i in ('dir %source% /ad-h-s /b') do (
- if "%%i" neq "迅雷下载" (xcopy %source%\%%i %tagart%\%%i\))
- for /f %%i in ('dir %source% /a-d-h-s /b') do (
- xcopy %source%\%%i %tagart%)
- pause
复制代码
作者: ygqiang 时间: 2016-3-14 19:10
回复 3# sishentibu
多谢。有没有单向/同步的批处理命令?
比如
1、如果目标文件夹下,有多余的文件/文件夹。
就直接删除掉。
2、如果源文件夹和目标文件夹下,有完全一样的同体积/同名字文件。
就直接忽略掉,不复制。
3、如果源文件夹,对比目标文件夹下,同体积/同名字的文件,修改或者删除了。
就删除目标文件,源文件单向同步/复制到目标文件夹下。
作者: sishentibu 时间: 2016-3-14 19:42
本帖最后由 sishentibu 于 2016-3-14 19:43 编辑
回复 4# ygqiang
第一点,如果东西不多,就直接简单粗暴的先删除,然后再复制吧。
东西多的话,可以用if not exsit 配合dir命令判断,再删除
二三点,只要判断文件的修改时间就可以了。而且,应该d盘下的东西都会比较新吧?所以只要判断修改时间不一样,就可以强制覆盖复制了。这个用dir命令应该可以。
但字符的截取我试了下不对,所以我还要试试。但思路应该是可行的。
作者: CrLf 时间: 2016-3-15 03:21
本帖最后由 CrLf 于 2016-3-15 03:22 编辑
- hash /s:1~1 \*/迅雷下载/:! /do:"copyx ""%%s"" g:\\备份\\"
复制代码
作者: codegay 时间: 2016-3-15 18:46
- #=julia排除目录调用命令备份文件.jl
- 2016年3月15日 16:54:34 codegay
-
- julia是一门很年轻的科学计算语言,
- 综合很了很多语言的特性,号称有很好的性能。
- 灵活,上手快,这门语言将来应用范围可能比较广。
- =#
-
- d=readdir("d:/")
- f=["快盘","AV","\$RECYCLE.BIN","temp","System Volume Information"]
- #$是特殊字符,需要加|转义
-
- #使用filter过滤
- for r in f
- d=filter(x -> x!=r,d)
- end
-
- #使用run()执行命令
- [run(`cmd /c copyw.exe "$r" g:/备份`) for r in d]
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |