batch-file - 如何以文件名作为存档名称存档文件?
问题描述
我正在自动将单个 .DMP 文件从多个位置传输到我的服务器。每个位置都有自己的文件和唯一的 ID。
Eg:
Location 1 - Data-1.DMP
Location 2 - Data-2.DMP
Location-20 - Data-20.DMP
这些文件的平均大小为 5MB,因此我想在通过 SFTP 传输之前对其进行压缩。如果可能的话,我更喜欢通过 BAT 文件来完成。
是的,我可以为每个位置手动设置单独的 BAT 脚本,但我真的很想拥有一个通用的脚本文件。
我设法使用 PowerShell 实现了这一点,但是因为我混合了 Windows 操作系统,从 POSReady 2009、Win 7 和 Win 10 开始,设置 PowerShell 对 POSReady 客户端来说是一种痛苦。所以,我真的在寻找一种 BAT 脚本方式。
解决方案
不确定这是否会有所帮助,因为我不完全确定您要做什么。要从批处理文件中获取具有文件扩展名的唯一编号,您可以使用以下命令:
for /f "usebackq tokens=1" %i in (`dir /b`) do for /f "usebackq tokens=2 delims=-" %j in (`echo %i`) do echo %j
这会得到“ 1.DMP,2.DMP... ”,希望这可以为您指明正确的方向。
推荐阅读
- sql - 用于将 SQL Server 数据库从一台服务器还原到另一台服务器的 PowerShell 脚本具有不同的驱动器
- python - 如何更改 Wagtail 通过其 API 服务媒体的方式?
- mysql - MySQL 到 MongoDB 将整数 ID 转换为 ObjectID 并重建引用
- c# - 如何从 C# 代码中的存储过程中获取 @@identity 或 SELECT SCOPE_IDENTITY() 的值?
- angularjs - Angular“未捕获的语法错误:意外的令牌:”
- node.js - Express App 在本地而非远程服务器上运行 - 'MODULE_NOT_FOUND',
- ios - UITableView 删除单元格重用问题
- javascript - 具有多个 $match 或 $pipeline 条件的 Mongo $lookup
- postgresql - 在特定目录上的 Windows 上无人值守安装 PostgreSQL 失败
- python - 从以 python 方式出现的键列表中获取字典中的第一个值