今天想自动重命名一批系统产生的文件,并上传到ftp服务器,然后删除,不想写大的程序,通过bat脚本就能实现,试验了很多遍重于搞定。
@echo off::上传之前先去掉文件名中的中文,避免乱码
for %%i in ("F:\Pon_Alarm_Logs\*.*") do (
::启用变量延迟
setlocal enabledelayedexpansion
::注意这里变量引用使用!而不是%
set var=%%i & ren %%i !var:~-24!
)
::下面是FTP自动上传代码
::%~dp0 代表bat文件所在文件夹,有些系统C:\windows\system32下及C盘不允许创建文件
set pa=%~dp0Echo open 175.155.35.5>%pa%ftp.up
Echo pon>>%pa%ftp.up
Echo pon-alarm>>%pa%ftp.up
Echo binary>>%pa%ftp.up
Echo prompt>>%pa%ftp.up
Echo lcd F:\Pon_Alarm_Logs>>%pa%ftp.up
Echo mput *.*>>%pa%ftp.up
Echo bye>>%pa%ftp.up
::前面是生成ftp.up文件,下面ftp -s命令引用
FTP -s:%pa%ftp.up
del %pa%ftp.up /q
del F:\Pon_Alarm_Logs\*.* /q
::pause>nul
::定时任务计划命令schtasks /create /sc minute /mo 10 /tn "Auto ftp upload files" /tr F:\Pon_ALARM_FTPserver\autoftp.bat