标题: [文件操作] 批处理如何将文件上传至FTP文件夹内? [打印本页]
作者: 半角杯 时间: 2021-12-25 16:09 标题: 批处理如何将文件上传至FTP文件夹内?
想把本地的一些指定文件上传至FTP文件夹内的当作备份
在论坛东拼西凑写了一个bat,可以在本地文件夹之间实现
想上传到FTP就失败了。
-----------------------------------------------------
FTP的IP地址是 192.168.0.235
没有账号和密码
目标文件路径是 192.168.0.235\SharedFile\
源文件路径是 G:\report
请问在下面的基础上怎么修改以实现上传至FTP的路径里
----------------------------------------------------------------- @echo on
-
- :: 设置目标文件夹路径
- set "FolderTo=%FTP%"
-
- :: 设置源文件夹路径
- set "FolderFrom=G:\report"
-
-
- :: 获取当天日期
- for /f "delims=" %%a in ('reg query "HKEY_CURRENT_USER/Control Panel/International" /v sShortDate') do (
- set "RegDateOld=%%a"
- )
- set RegDateOld=%RegDateOld:~-8%
- reg add "HKEY_CURRENT_USER/Control Panel/International" /v sShortDate /t REG_SZ /d yyyy-M-d /f>nul
- set Today=%date: =%
- reg add "HKEY_CURRENT_USER/Control Panel/International" /v sShortDate /t REG_SZ /d %RegDateOld% /f>nul
- if "%Today:~0,1%" gtr "9" (
- set Today=%Today:~-10%
- ) else (
- set Today=%Today:~0,10%
- )
- echo,%Today%
-
-
- :: 在目标文件夹内执行命令
- pushd "%FolderTo%"
-
- :: 在目标文件夹内创建当前月份/当前日期文件夹
- mkdir %FolderTo%\%Today:~5,2%\%Today:~8,2%
-
-
- :: 在源文件夹内执行命令
- pushd "%FolderFrom%\%Today:~5,2%\%Today:~8,2%"
-
-
- :: 源文件内的当前月份/日期文件夹中用名称,格式,大小限制搜索文件
- for /f "delims=" %%i in ('dir /b /s /a-d *report*') do (
-
- if %%~zi lss 20971520 (
-
-
- :: 将复制的文件移动到目标文件夹内的当前月份/日期文件夹内
- copy /y "%%i" "%FolderTo%\%Today:~5,2%\%Today:~8,2%"
- )
- )
-
- :: 1秒后关闭CMD窗口
- choice /t 1 /d n > nul
复制代码
作者: Batcher 时间: 2021-12-25 16:16
回复 1# 半角杯
请在本论坛搜索关键字 FTP AND 上传
找几个例子看看就明白了
作者: yakeyun 时间: 2021-12-26 13:50
本帖最后由 yakeyun 于 2021-12-26 13:58 编辑
FTP目标主机必定有用户名,这个需要加入。
192.168.0.235\SharedFile\
SharedFile 文件夹共享目录属于哪个分区要表明,比如它属于E分区的。就如下面写法:
@echo off
@cd /d "%~dp0"
net use * /del /y
::此处目标主机用户名为:Administrator
net use x: \\192.168.0.235\ipe$ "" /user:"admin"
cls
set today=%date:~0,4%-%date:~5,2%-%date:~8,2%
set tome=%time:~0,2%-%time:~3,2%-%time:~6,2%
@echo f | xcopy G:\report\test.jpg \\192.168.0.235\e\SharedFile\%today%_%tome%.jpg
net use * /del /y
pause
仅做参考,具体可以根据自己用途修改,如果单拷贝一个文件可以成功,后面再修改代码就可以批量操作。
作者: 半角杯 时间: 2021-12-26 21:26
回复 3# yakeyun
谢谢解答。
作者: 半角杯 时间: 2021-12-26 21:26
回复 2# Batcher
好的,谢谢
作者: Batcher 时间: 2021-12-27 21:47
回复 3# yakeyun
FTP支持匿名登录,命令行里面使用 ftp -A
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |