尋找一些指導文件名模式,以移動文件到文件夾...VBS或CMD文件基於匹配
我有定期接收文件衛生組織名稱包含以下信息目錄:
showname- episode-segment.mov
我正在尋找一種方法將這些文件移動到存在的目錄中,以文件名的顯示部分命名。如果存在沒有第一個連字符分隔符的文件,應該跳過它。如果引入了新的節目並且相應的文件夾不存在,它將被創建。
任何幫助表示讚賞
尋找一些指導文件名模式,以移動文件到文件夾...VBS或CMD文件基於匹配
我有定期接收文件衛生組織名稱包含以下信息目錄:
showname- episode-segment.mov
我正在尋找一種方法將這些文件移動到存在的目錄中,以文件名的顯示部分命名。如果存在沒有第一個連字符分隔符的文件,應該跳過它。如果引入了新的節目並且相應的文件夾不存在,它將被創建。
任何幫助表示讚賞
VBScript可能會是最簡單的。這裏有一些關於如何做你需要的一切的片段。
Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")
' create a new folder
If Not fso.FolderExists(folderPath) Then
Set newfolder = fso.CreateFolder(folderPath)
End If
' move a file
If fso.FileExists(filePathAndName) Then
fso.MoveFile filePathAndName, folderPath
End If
' check file name
Set folder = fso.GetFolder(folderPath)
Set files = folder.Files
For each file In files
If InStr(file.Name, "-") > 0 Then
'the file name has a "-" in it
End If
Next
一個簡單的批處理文件可以做到這一點。定義您想要查找傳入文件的位置以及您想要創建演出文件夾的位置。然後使用一個簡單的FOR來列出具有*-*.mov
格式的所有傳入文件。使用FOR/F解析演出名稱(第1個-
之前的文本)。創建show文件夾,如果它不存在,然後移動該文件。
@echo off
setlocal
set "incomingFolder=c:\video\incoming"
set "showsFolder=c:\video\shows"
for %%F in ("%incomingFolder%\*-*.mov") do (
for /f "delims=-" %%A in ("%%~nF") do (
if not exist "%showsFolder\%%A" md "%showsFolder%\%%A"
move "%%F" "%showsFolder%\%%A"
)
)