batch-file - 批处理文件代码同时移动和重命名文件
问题描述
我编写了以下代码,将所有文件从一个文件夹移动到另一个文件夹。但是当我运行它时,我得到一个错误。文件名、目录名或卷标语法不正确。
SET today=%DATE:~10,4%%DATE:~4,2%%DATE:~7,2%%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%%TIME:~9,2%
SET today=%today: =0%
if exist D\Instrument_Files (
Move "C:\Users\Public\Documents\Logs\Test Exports\*.*" "D\Instrument_Files\*_%DateNtime%.csv"
)
pause
有人可以帮忙吗?谢谢
解决方案
移动命令只能有一个目的地。如果它是一个目录,则可以列出多个源文件。但是,在您的情况下,您想要重命名每个文件,因此每个文件都需要一个移动命令。这意味着您需要一个循环:
SET today=%DATE:~10,4%%DATE:~4,2%%DATE:~7,2%%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%%TIME:~9,2%
SET today=%today: =0%
if exist "D:\Instrument_Files" (
for %%I in ("C:\Users\Public\Documents\Logs\Test Exports\*.*") do move %%I "D:\Instrument_Files\%%~nI_%today%.csv"
)
pause
%%I
整个文件规范在哪里,%%~nI
只是文件名本身。
推荐阅读
- linux - 为什么当另一个进程共享同一个HT核心时,一个进程的执行时间会更短
- python - 使用条件参数 Python 从 CSV 文件中删除行
- python - Python 循环遍历 DataFrame 和 Dictionary
- r - 如何在R中找到不同长度的多个(6)向量之间唯一向量交集的所有可能组合
- javascript - flexbox javascript从cms动态加载
- postgresql - 在 Windows 任务中运行 PowerShell 脚本。任务开始但未完成
- c++ - 将对话框按钮连接到 MainWindow 插槽
- html - 如何从插件制作画廊具有模糊适合图像而不是缩放适合
- javascript - ReactJS - 如何获取用户在文本输入中键入的内容以传递给回调函数
- ruby-on-rails - 我是否必须创建一个新的 docker 容器来运行每个 rake 任务?