-
2019-04-01 16:09:13
最近 工作中用到windows的脚本命令处理文件,这里记录一下;
首先是xcopy,
这个命令我们可以在cmd里去使用 xcopy/? 查看帮助文档;
C:\Users\Administrator>xcopy/? 复制文件和目录树。 XCOPY source [destination] [/A | /M] [/D[:date]] [/P] [/S [/E]] [/V] [/W] [/C] [/I] [/Q] [/F] [/L] [/G] [/H] [/R] [/T] [/U] [/K] [/N] [/O] [/X] [/Y] [/-Y] [/Z] [/B] [/EXCLUDE:file1[+file2][+file3]...] source 指定要复制的文件。 destination 指定新文件的位置和/或名称。 /A 仅复制有存档属性集的文件,但不更改属性。 /M 仅复制有存档属性集的文件,并关闭存档属性。 /D:m-d-y 复制在指定日期或指定日期以后更改的文件。 如果没有提供日期,只复制那些源时间比目标时间新的文件。 /EXCLUDE:file1[+file2][+file3]... 指定含有字符串的文件列表。每个字符串在文件中应位于单独的一行。 如果任何字符串与复制文件的绝对路径的任何部分相符,则排除复制 该文件。例如,指定如 \obj\ 或 .obj 的字符串会分别排除目录 obj 下面的所有文件或带有 .obj 扩展名的所有文件。 /P 创建每个目标文件之前提示您。 /S 复制目录和子目录,不包括空目录。 /E 复制目录和子目录,包括空目录。与 /S /E 相同。可以用来修改 /T。 /V 验证每个新文件的大小。 /W 提示您在复制前按键。 /C 即使有错误,也继续复制。 /I 如果目标不存在,且要复制多个文件,则假定目标必须是目录。 /Q 复制时不显示文件名。 /F 复制时显示完整的源文件名和目标文件名。 /L 显示要复制的文件。 /G 允许将加密文件复制到不支持加密的目标。 /H 也复制隐藏文件和系统文件。 /R 覆盖只读文件。 /T 创建目录结构,但不复制文件。不包括空目录或子目录。/T /E 包括 空目录和子目录。 /U 只复制已经存在于目标中的文件。 /K 复制属性。一般的 Xcopy 会重设只读属性。 /N 用生成的短名称复制。 /O 复制文件所有权和 ACL 信息。 /X 复制文件审核设置(隐含 /O)。 /Y 取消提示以确认要覆盖现有目标文件。 /-Y 要提示以确认要覆盖现有目标文件。 /Z 在可重新启动模式下复制网络文件。 /B 复制符号链接本身与链接目标相对。 /J 复制时不使用缓冲的 I/O。推荐复制大文件时使用。 开关 /Y 可以预先在 COPYCMD 环境变量中设置。 这可能被命令行上的 /-Y 覆盖。
接下来开始使用:
先创建一个 .bat文件,然后编辑:
首先一个简单的示例:
把D:\data文件夹下面的目录文件copy到D:\data_bk文件夹下面;
@echo off echo "copy file" echo. xcopy D:\data D:\data_bk /s /e pause
下面来一个复杂一点的:
%date:~0,4%%date:~5,2%%date:~8,2% 是按照yyyyMMdd格式输出当前时间,如果今天是2019年4月1日,则:
%date:~0,4%%date:~5,2%%date:~8,2% = 20190401
如下命令,是把D:\wxyData\day20190401下的文件,复制到E盘下面的E:\wxyData\day20190401文件夹下面;
@echo off echo "copy file" rem 这里是时间格式,年月日 例:20190401 echo %date:~0,4%%date:~5,2%%date:~8,2% echo. xcopy D:\wxyData\day%date:~0,4%%date:~5,2%%date:~8,2% E:\wxyData\day%date:~0,4%%date:~5,2%%date:~8,2% /s /e /i /y rem 正常使用时可以不带下面的pause,它适合用来调试,即打开一个cmd窗口 pause
rem 表示注释
echo 可以理解为打印
后面 带的参数解释:
/s 复制目录和子目录,不包括空目录
/e 复制目录和子目录,包括空目录。与 /S /E 相同。可以用来修改 /T。
/i 如果目标不存在,且要复制多个文件,则假定目标必须是目录。
/y 取消提示以确认要覆盖现有目标文件。
简单来说,就是会复制目录,且自动覆盖目标路径中的文件,不需要手动去确认;
之后保存,然后双击运行.bat文件,就可以了;
目前本地拷贝已经OK了;
==============================================================================
接下来看一个从ftp服务器上下载文件到本地;
直接上脚本命令:
@echo off echo "copy file from ftp server" echo %date:~0,4%%date:~5,2%%date:~8,2% echo. set Pan=E:\wxyData\ set AFolder=SourceDay%date:~0,4%%date:~5,2%%date:~8,2%\ if exist %Pan%%AFolder% ( rem 目录E:\wxyData\<span style="font-family: Arial, Helvetica, sans-serif;">SourceDay%date:~0,4%%date:~5,2%%date:~8,2%</span>已存在,无需创建 echo this %Pan%%AFolder% is aleary existed ) else ( rem 创建E:\wxyData\SourceDay%date:~0,4%%date:~5,2%%date:~8,2% echo create %Pan%%AFolder% md %Pan%%AFolder% ) rem 指定FTP用户名 set ftpUser=xxx rem 指定FTP密码 set ftpPass=xxxooo rem 指定FTP服务器地址 set ftpIP=192.168.xx.xx rem 指定待下载的文件位于FTP服务器的哪个目录 set ftpFolder=abc\SourceDay%date:~0,4%%date:~5,2%%date:~8,2% rem 指定从FTP下载下来的文件存放到本机哪个目录 set LocalFolder=E:\wxyData\SourceDay%date:~0,4%%date:~5,2%%date:~8,2% rem temp 目录 set tempFolder=F:\tempftp.txt set ftpFile=%tempFolder% >"%ftpFile%" ( echo,open %ftpIP% echo,user %ftpUser% %ftpPass% echo cd "%ftpFolder%" echo lcd "%LocalFolder%" echo prompt off echo bin echo mget *.* echo bye ) start /wait ftp -n -s:"%ftpFile%" del %ftpFile% pause
这里还做了一个判断目标文件夹是否存在,如果不存在则创建文件夹;
对了,还有一点,
要使用管理员权限去运行;
the end;
更多相关内容 -
FileTime:获取和设置文件或文件夹的创建、访问和修改时间(仅限 Windows)-matlab开发
2021-06-01 12:58:07这些 MEX 函数获取和设置 Windows 下文件的创建、访问和写入时间。 SetFileTime(文件名,规范,日期向量,类型) FileName:文件或文件夹名称,绝对或相对路径。 接受 Unicode 名称和 UNC 路径。 规格:字符串、... -
windows修改hosts文件bat脚本
2018-11-11 17:59:53bat脚本实现自动修改hosts,适合在批量进行作业的时候。 -
windows 7中修改用户配置文件的路径
2018-04-09 09:25:30修改默认windows用户保存路径,修改默认windows用户保存路径,修改默认windows用户保存路径, -
Windows10修改本地hosts文件
2019-10-15 16:41:43Windows10修改本地hosts文件 1、cmd + R 打开命令行操作窗口 输入本地host文件所在目录,回车打开文件夹。 2、使用管理员身份打开host文件操作窗口 选择“以管理员身份打开 Windows PowerShell” 在窗口中输入 ... -
Windows系统如何修改Hosts文件
2021-08-10 21:20:55Hosts其实是IP和网址建立的一个关联关系,在hosts配置好IP和网址,用户访问此网址时,会自动在hosts配置文件中找对应关系,找到...4.打开计算机,点击进入C盘,找到windows文件夹,然后在windows文件中找到System32–&gHosts其实是IP和网址建立的一个关联关系,在hosts配置好IP和网址,用户访问此网址时,会自动在hosts配置文件中找对应关系,找到后就会打开网页。
1.在配置hosts时,需要给当前用户分配权限。在hosts文件上右键菜单点击属性
2.弹出窗口,点击安全,点击选中当前用户,再点击编辑按钮
3.点击当前用户,添加权限。全部勾选所需要的权限,然后点击确定即可,这样就给用户分配了读写等权限。
4.打开计算机,点击进入C盘,找到windows文件夹,然后在windows文件中找到System32–>drivers–>etc,进入到etc文件夹中就能看到hosts文件
5.在hosts文件上右键操作,弹出菜单,用记事本或者其他文本工具打开。
6…打开后,按照配置要求,前面配置IP 后面配置对应的域名或者网站。这样就可成功修改hosts文件
-
[Windows]_[初级]_[修改文件的创建时间-修改时间-访问时间]
2015-08-10 13:48:401. 有时候软件需要从其他地方下载或传输文件到本地, 因为是新建的文件,所以创建时间是当前时间, 这时候就需要修改它的创建时间和修改时间. 2. Windows的文件时间是可以修改的, 使用SetFileTime .但是要注意使用 ...场景:
1. 有时候软件需要从其他地方下载或传输文件到本地, 因为是新建的文件,所以创建时间是当前时间, 这时候就需要修改它的创建时间和修改时间保持一致.
2. Windows的文件时间是可以修改的, 使用SetFileTime .但是要注意使用 TzSpecificLocalTimeToSystemTime 转换下时间, 不然因为时区会有误差.
TEST(test_file_attribute,GetAttribute) { //1.获取文件时间 //1.当然GetFileTime也可以. WIN32_FILE_ATTRIBUTE_DATA data; memset(&data,0,sizeof(WIN32_FILE_ATTRIBUTE_DATA)); BOOL result = GetFileAttributesEx( L"../1.csv", GetFileExInfoStandard, &data); if(result) { FILETIME ct = data.ftCreationTime; FILETIME at = data.ftLastAccessTime; FILETIME wt = data.ftLastWriteTime; SYSTEMTIME stUTC, stLocal; if(wt.dwHighDateTime || wt.dwLowDateTime) { FileTimeToSystemTime(&wt, &stUTC); SystemTimeToTzSpecificLocalTime(NULL, &stUTC, &stLocal); // Build a string showing the date and time. TCHAR lpszString[MAX_PATH]; DWORD dwRet = StringCchPrintf(lpszString, MAX_PATH, TEXT("%02d/%02d/%d %02d:%02d"), stLocal.wMonth, stLocal.wDay, stLocal.wYear, stLocal.wHour, stLocal.wMinute); std::wcout << L"Write Time: " << lpszString << std::endl; } if(at.dwHighDateTime || at.dwLowDateTime) { FileTimeToSystemTime(&at, &stUTC); SystemTimeToTzSpecificLocalTime(NULL, &stUTC, &stLocal); TCHAR lpszString[MAX_PATH]; DWORD dwRet = StringCchPrintf(lpszString, MAX_PATH, TEXT("%02d/%02d/%d %02d:%02d"), stLocal.wMonth, stLocal.wDay, stLocal.wYear, stLocal.wHour, stLocal.wMinute); std::wcout << L"Access Time: " << lpszString << std::endl; } if(ct.dwHighDateTime || ct.dwLowDateTime) { FileTimeToSystemTime(&ct, &stUTC); SystemTimeToTzSpecificLocalTime(NULL, &stUTC, &stLocal); TCHAR lpszString[MAX_PATH]; DWORD dwRet = StringCchPrintf(lpszString, MAX_PATH, TEXT("%02d/%02d/%d %02d:%02d"), stLocal.wMonth, stLocal.wDay, stLocal.wYear, stLocal.wHour, stLocal.wMinute); std::wcout << L"Create Time: " << lpszString << std::endl; } } //1. 修改文件时间. HANDLE file = CreateFile(L"../1.csv", GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); if(file != INVALID_HANDLE_VALUE) { FILETIME ft; SYSTEMTIME st,stUTC; BOOL f; //hour: 0-23 GetSystemTime(&st); // Gets the current system time st.wYear = 2013; TzSpecificLocalTimeToSystemTime(NULL,&st,&stUTC); SystemTimeToFileTime(&stUTC, &ft); // Converts the current system time to file time format f = SetFileTime(file, // Sets last-write time of the file &ft,&ft, // to the converted current system time &ft); CloseHandle(file); }
修改后的文件时间:
-
windows电脑手动修改hosts文件方法
2022-02-16 15:31:481.进入以下目录,C:\Windows\System32\drivers\etc,右键点击hosts文件选择属性,如果文件是“只读”的,这里需要取消只读选项 2.用记事本打开hosts文件,将要添加的内容粘贴在最后,然后选择保存,这时如果保存... -
Windows 11 修改本地账户名称
2022-03-05 10:06:09Windows 11 修改本地管理账户名称 第一种情况( Win 11 家庭版 ) 打开控制面板 点击 用户账户 继续点击 用户账户 点击 更改账户名称 , 输入新的账户名,然后点击更改名称就可以了 第二种情况( Win 11 专业版 ... -
windows修改本地host文件使域名解析到指定IP
2019-07-02 14:16:01hotst文件路径:C:\Windows\System32\drivers\etc 打开文件,在最后一行加上例如:127.0.0.1 www.163.com 格式(需要指定调转的ip 空格 访问ip) 本地服务打开后:http://localhost:9000/swagger-ui.html#/这个是... -
windows修改hosts文件,设置域名访问本地服务器
2021-03-18 10:15:072.修改文件权限 右击hosts文件选择属性,选择安全选项,点击编辑,选择组或者用户进行设置,赋予读写权限 3.设置域名 注意:中间的空格建议从上边拷贝下来,使用ta会出现ping不通的问题。 4.命令行(cmd)运行: ... -
Windows下使用C/C++修改文件时间
2018-09-04 21:08:52具体为什么要修改文件时间就不去纠结了,感兴趣的可以去做个问卷调查,也可以自行脑补,反正经常有小伙伴问怎么去修改文件时间。 最简单的解决方案 文件的时间作为文件的属性,当然是由文件的编辑工具生成或修改... -
Windows本地下载远程服务器文件方法总结
2020-07-08 14:27:54拿到一台Windows主机,需要远程web站点上的文件到本地,可以参考以下方法! 二、环境 提供HTTP服务站点: Kali:192.168.253.129 (kali搭建http服务,以msf生成的powershell payload为测试目标) 下载文件的... -
Windows平台上修改某个文件的创建、访问、修改日期时间属性
2019-06-27 08:02:02最近在做一个基于P2P的目录文件自动同步软件,开发环境用VC++ 2003,主要用QT FRAMEWORK而不是MFC(其实不会MFC)来实现跨平台用途,通信部分主要用UDT+TCP,UDT是基于UDP并实现了可靠传输的应用层的协议,用UDT也是... -
windows配置本地hosts
2021-10-09 14:09:54[warning] 必须配置 hosts ,禁止修改代码中配置成IP 一.什么是hosts ? hosts文件是一个用于储存计算机网络中各节点信息的计算机文件。这个文件负责将主机域名映射到相应的IP地址。hosts文件通常用于补充或取代网络... -
如何在Windows 10中更改「网络配置文件」名称
2021-07-07 01:09:44当您的计算机连接到(有线或 WIFI)网络时,Windows 10 系统就会自动为其创建「网络配置文件」,而「网络配置文件」的默认命名方式也有一定规则:一般有线以太网名称类似于「网络」和「Network」,而无线 WIFI 网络则... -
Windows的本地时间(LocalTime)、系统时间(SystemTime)、格林威治时间(UTC-Time)、文件时间(FileTime)之间...
2019-01-11 15:20:42Windows的本地时间(LocalTime)、系统时间(SystemTime)、格林威治时间(UTC-Time)、文件时间(FileTime)之间的转换 首先,先从简单的说起,本地时间(LocalTime),也就是系统设置时区的当前时间!比如说当前系统设置... -
nginx windows配置访问本地文件
2020-04-30 12:40:21安装环境: ...修改配置文件 server { listen 80; server_name localhost; #配置跨域 add_header Access-Control-Allow-Origin *; add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS'; ... -
windows更改redis配置文件
2020-05-29 10:00:52根据网上提供的解决方法,需要更改redis配置文件,windows对应的配置文件是redis.windows.conf 根据网上意见注释掉bind 127.0.0.1和修改protected-mode为no后,重启redis服务,发现还是连不上redis服务: org.... -
在Windows下更改docker镜像文件存储位置
2022-02-27 18:40:42在Windows下使用WSL更改docker镜像文件存储位置 -
Spark Streaming 本地测试:读取Windows本地文本文件
2019-03-13 22:04:03本地idea Spark Streaming 读取 Windows本地文本文件两种方法: 先提一下:测试前,请先写好SparkStreaming程序,并且跑起来,让它开始监听,然后你再传数据,不然你传了数据之后,再开监听,还监听个毛啊 (1)通过... -
修改本地host文件
2021-07-24 22:11:28首先我们找到目录C:\Windows\System32\drivers\etc,将host文件拷贝出来(因为在默认文件夹中没有更改权限)。在文件最后一行添加一句,例如:192.168.1.1 www.baida.com。左边是ip,右边是域名,不用加#。 ... -
[文件时间]_[Windows-macOS]_[修改文件的创建时间-修改时间]
2017-07-07 14:10:38修改文件时间一般用在下载远程文件到本地时, 修改其创建时间为远程文件的原时间, 这样对文件排序查找时也方便归类. 这类文件有很多, 视频, 音频, 图片.说明1.Windows 和 macOS都有这种API, Windows以简单的C Win32 ... -
js读取和修改本地文件
2019-09-10 14:22:20index.html <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312">...js操作本地文件</title> </head> <scrip... -
Windows文件服务器搭建
2021-07-27 10:19:37入门级文件服务器搭建过程一、事前二、准备三、开始搭建3.1、环境安装3.2、创建用户3.2.1、更改用户密码3.2.2、删除用户3.3、创建组3.3.1、添加用户进组3.3.2、将用户从组中删除3.3.3、用户转移到其它组3.4、创建... -
python windows上传本地文件到linux服务器【完整版】
2019-12-28 11:33:15操作系统: Windows7 64bit 设备信息: 夜神模拟器版本信息: V_6.2.3.7 在研究“基于Airtest搭建自动化测试框架,并实现几个主要功能的自动化测试”时,关于推送测试报告这块,我是用IIS将报告的目录部署为一个web... -
Windows下修改Docker的配置文件
2020-07-15 18:22:39众所周知,我们使用docker pull时感觉速度很慢,网上很多教程都是说修改:/etc/docker/daemon.json文件,如修改为以下内容: { "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn/",... -
Windows本地配置hosts文件,远程访问虚拟机
2020-09-16 17:05:51找到文件之后不要直接修改,因为这个文件是一直使用的状态,修改会提示文件正在使用。 操作:右键,复制到桌面,修改,保存,复制回原来的位置,替换。 修改内容:根据自己的ip和想给的备注去写,备注不一定是虚拟... -
修改window本地hosts文件,修改域名指向
2016-10-29 12:32:21Hosts是一个没有扩展名的系统文件,可以用记事本等工具打开,其作用就是将一些常用的网址域名与其对应的IP地址建立一个关联“数据库”,当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从Hosts文件中寻找... -
如何在Windows中监视文件和文件夹的更改
2020-09-26 10:24:40如果其他人正在使用您的计算机,或者您需要查看在特定时间内对文件和文件夹进行了哪些更改,则可以使用Nirsoft方便的FolderChangesView应用程序。Nirsoft是一家出色的免费软件提供商,它为您的PC提供出色的小工具,...