vbscript - vbs 相当于 \*. (.bat 文件)?
问题描述
我决定重做我的应用程序,我正在将所有 .bat 文件“翻译”成 .vbs 文件,几乎完成了,但下面的 bat 脚本对我来说是个大问题
@ECHO OFF
move "..\Styles\DropWall\*.jpg" "..\..\chrome\OPCEN\images\WALLPERSONA\TranscodedWallpaper.jpg"
move "..\Styles\DropWall\*.png" "..\..\chrome\OPCEN\images\WALLPERSONA\TranscodedWallpaper.jpg"
exit
我已经用它来移动一个已知文件,确定我遗漏了什么
Option Explicit
Dim Fso
Set Fso= WScript.CreateObject("Scripting.FileSystemObject")
Fso.MoveFile "..\Styles\DropWall\AB.jpg", "..\..\chrome\OPCEN\images\WALLPERSONA\TranscodedWallpaper.jpg"
解决方案
VBScriptFileSystemObject
方法没有直接等效的“从源目录复制任何 .jpg 文件作为目标目录中的此特定输出文件”。您可以将所有.jpg 文件从给定的源目录移动到给定的目标目录(无需重命名文件):
Set fso = CreateObject("Scripting.FileSystemObject")
fso.MoveFile "C:\source\*.jpg", "C:\destination\"
但是要移动任何具有匹配扩展名的文件,您需要这样的东西:
Set fso = CreateObject("Scripting.FileSystemObject")
For Each f In fso.GetFolder("C:\source").Files
If LCase(fso.GetExtensionName(f)) = "jpg" Then
f.Copy "C:\destination\bar.jpg", True
f.Delete
End If
Next
Copy
建议使用和的组合Delete
,因为Move
(或MoveFile
就此而言)不允许替换现有文件,这意味着如果源文件夹中有多个匹配文件,则移动第二个文件会引发错误。
推荐阅读
- append - 如何在 C++ 中使用 Rapidxml 将新的子节点附加到现有文件
- python - 如何计算第二个轴上的平均值,直到 Pytorch 中的特定行列?
- wordpress - Woocommerce 插件导致重定向
- java - 如何在java中使用mockito模拟局部变量
- mysql - 如何检索日期时间记录,转换为新时区并返回按新日期时间分组的结果,而不会出现 ONLY_FULL_GROUP_BY 错误
- laravel - ErrorException 试图在 Hasmany 关系中获取非对象的属性“名称”
- javascript - react 应用程序中 pdfjs-dist 的附加加载器?
- javascript - mongodb查询基于文档中的日期+ x天
- python - 如何遍历有序列表 Selenium 中的每个元素
- jmeter - Jmter,样本结果的重复列表