查詢文件名(帶日期及大小)_0714_1655.vbs
'======================================================================================
'dim ws,fso,f,fd,files,tmpname,url,result,preFix
set ws=createobject("wscript.shell")
set fso = CreateObject("Scripting.FileSystemObject")
set fd = fso.getfolder(ws.currentdirectory)
set files=fd.files
'生成前綴
result=ws.currentdirectory
result =replace(result ,"\","+")
result =replace(result ,".","_")
result =replace(result ,":","=")
'建立一個文本,存儲文件的名字
result= result & "_" & "fileinfos.txt"
set resultFile=fso.createtextfile(result,2,ture)
for each f in files
'讀取文件的名字 要將文件名都存成小寫可 將f.name 改成:lcase(f.name)
tmpname="Name:<" & f.name &">Lastdate:<"& f.datelastmodified &">Size:<"& f.Size &">"'BYTE
'上面語句換成以下語句後,就只查詢文件名,而沒有其它信息
'tmpnamef.name
'把原來的文件名保存起來
resultFile.writeline tmpname
next
MsgBox " 完成!"
轉換成SQL20110715_1324.VBS
Const ForReading=1
Const ForWriting=2
Const ForAppending=8
set fso=createobject("scripting.filesystemobject")
'源文件
strSrcFile=InputBox("請輸入源文件")'"W=+素材一致性問題_fileinfos.txt"
set sourceFile=fso.opentextfile(strSrcFile,ForReading)
'目標文件
resultFile="result_" & strSrcFile & TimeStr(Now) & ".sql"
set dstFile=fso.opentextfile(resultFile,ForWriting,true)
'''''''''''''''''''''''構造SQL語句
strSql= "--查詢條件中硬盤文件信息來自文件:" & strSrcFile & vbCr
strSql=strSql & "SELECT * FROM m_uploadtask where " & vbCr & GetSqlCondition(sourceFile,"2011-6-26") & vbCr & ""
'MsgBox strSql'測試輸出
'''''''''''''''''''''''
dstFile.Write(strSql)
sourceFile.Close
dstFile.Close
'===============================================================得到SQL語句中的條件表達式
Function GetSqlCondition(srcFile,timeBefore)
oTimeBefore=DateValue(timeBefore)
nValidCount=0
nTotalCount=0
delimiter="|"
condition = " materialid IN ("
conditionNotValid="/*"
do until srcFile.atendofstream
sLine=TransLineFromat(srcFile.readline,delimiter)
arr=Split(sLine,delimiter)
'以下是解析出的每一行中的三個變量
'If UBound(arr)=2 Then
sName=arr(0)
sTime=arr(1)
oTime=DateValue(sTime)'不能用TimeValue
sSize=arr(2)
sMaterialID =Left(sName,InStr(sName,"_")-1)
'nSize=CLng(sSize)
'MsgBox sMaterialID
nTotalCount=nTotalCount+1
if(oTime < oTimeBefore) Then
nValidCount=nValidCount+1
condition=condition & "'" & sMaterialID & "',"
Else
conditionNotValid=conditionNotValid & sMaterialID & "(" & sTime & "),"
End If
'end if
'result=result & " " & sName & " " & oTime & " " & nSize &vbCr'測試用
loop
condition=Left(condition,Len(condition)-1)
condition=condition & ")"
conditionNotValid=conditionNotValid & "*/"
'在SQL註釋中添加統計信息
condition= condition & vbCr &"--有效ID是指"& timeBefore &"以前的素材ID,"
condition= condition & vbCr &"--valid/total=" & nValidCount &"/" & nTotalCount & vbTab &"未用的ID如下:"
condition= condition & vbCr &"--" &conditionNotValid
GetSqlCondition=condition
End Function
'===============================================================格式轉換
Function TransLineFromat(sLine,delimiter)
sReturn=sLine
D = Replace( D, N & ",", "",1,1)
sReturn=Replace( sReturn,"Name:<","",1,1)
sReturn=Replace( sReturn,">Lastdate:<",delimiter,1,1)
sReturn=Replace( sReturn,">Size:<",delimiter,1,1)
sReturn=Replace( sReturn,">","",1,1)
TransLineFromat=sReturn
End Function
'===============================================================將時間類型轉換成字符串
Function TimeStr(t)
ret=Year(t) & "" & Month(t) & "" & Day(t) & "_" & Hour(t) & "" & Minute(t)' & "" & Second(t)
TimeStr = CStr(ret)
End Function
僅根據ID文件生成SQL_ID條件.VBS
Const ForReading=1
Const ForWriting=2
Const ForAppending=8
set fso=createobject("scripting.filesystemobject")
'源文件
strSrcFile=InputBox("請輸入源文件")'"W=+素材一致性問題_fileinfos.txt"
set sourceFile=fso.opentextfile(strSrcFile,ForReading)
'目標文件
resultFile="Sql條件_" & strSrcFile & TimeStr(Now) & ".sql"
set dstFile=fso.opentextfile(resultFile,ForWriting,true)
'''''''''''''''''''''''構造SQL語句
strSql= "--查詢條件中信息來自文件:" & strSrcFile & vbCr
strSql=strSql & "SELECT * FROM m_uploadtask where " & vbCr & GetSqlCondition(sourceFile) & vbCr & ""
'MsgBox strSql'測試輸出
'''''''''''''''''''''''
dstFile.Write(strSql)
sourceFile.Close
dstFile.Close
'===============================================================得到SQL語句中的條件表達式
Function GetSqlCondition(srcFile)
nTotalCount=0
condition = " materialid IN ("
do until srcFile.atendofstream
sLine=srcFile.readline
if sLine<>"" Then
nTotalCount=nTotalCount+1
condition=condition & "'" & sLine & "',"
End If
loop
condition=Left(condition,Len(condition)-1)
condition=condition & ")"
'在SQL註釋中添加統計信息
condition= condition & vbCr &"--total=" & nTotalCount & vbTab
GetSqlCondition=condition
End Function
'===============================================================將時間類型轉換成字符串
Function TimeStr(t)
ret=Year(t) & "" & Month(t) & "" & Day(t) & "_" & Hour(t) & "" & Minute(t)' & "" & Second(t)
TimeStr = CStr(ret)
End Function
刪除文件腳本.vbs
Const ForReading=1
Const ForWriting=2
Const ForAppending=8
Set objShell = CreateObject("Wscript.Shell")
set fso=createobject("scripting.filesystemobject")
'Executeglobal fso.opentextfile("DeleteFileService.vbs ", 1).readall
'建立日誌文件
strDelLogFile="DeletedFile_" & TimeStr(Now) & ".log"
set fLog=fso.opentextfile(strDelLogFile,ForWriting,true)
Dim arrA(0)'A類1
arrA(0)="7777-7777"
Dim arrB(1)'B類2
arrB(0)="9999-0007"
arrB(1)="9999-0006"
Dim arrF(3)'F類4
arrF(0)="4050-0882"
arrF(1)="7111-4204"
arrF(2)="5025-0843"
arrF(3)="6032-0803"
Dim arrG(9)'G類10
arrG(0)="9999-0001"
arrG(1)="9999-0002"
arrG(2)="9999-0021"
arrG(3)="9999-0008"
arrG(4)="9999-0027"
arrG(5)="9999-0039"
arrG(6)="9999-0041"
arrG(7)="9999-0043"
arrG(8)="9999-0044"
arrG(9)="9999-9999"
Dim arrI(0)'I類1
arrI(0)="9999-0045"
'''真實的刪除操作
strLogItem=DeleteArrayFile(fso,arrA)
fLog.Write(strLogItem)
strLogItem=DeleteArrayFile(fso,arrB)
fLog.Write(strLogItem)
'F類暫不處理
'strLogItem=DeleteArrayFile(fso,arrF)
'fLog.Write(strLogItem)
strLogItem=DeleteArrayFile(fso,arrG)
fLog.Write(strLogItem)
strLogItem=DeleteArrayFile(fso,arrI)
fLog.Write(strLogItem)
fLog.Close
'===============================================================這個沒有用到
Function GetIDSqlCondition(fso,arrFile)
condition=" materialid IN ("
For i = 0 To UBound(arrFile)
strID = arrFile(i)
condition=condition & "'" & strID & "',"
Next
condition=Left(condition,Len(condition)-1)
condition=condition & ")"
GetIDSqlCondition =condition
End Function
'===============================================================將時間類型轉換成字符串
Function TimeStr(t)
ret=Year(t) & "" & Month(t) & "" & Day(t) & "_" & Hour(t) & "" & Minute(t)' & "" & Second(t)
TimeStr = CStr(ret)
End Function
'===============================================================刪除一個數組中的文件
Function DeleteArrayFile(fso,arrFile)
strDelDetail=""
For i = 0 To UBound(arrFile)
strID = arrFile(i)
strDelDetail=strDelDetail & DeleteByMaterialID(fso,strID)
Next
strDelDetail=strDelDetail & vbCr
DeleteArrayFile =strDelDetail
End Function
'===============================================================刪除strID對應的所有文件
Function DeleteByMaterialID(fso,strID)
'真實路徑
pathKeyfram="\\172.26.142.82\server3_fs1\keyframe\"
pathUploadSD="\\172.26.142.82\server3_fs1\uploadsd\"
pathPrepareSD="\\172.26.142.81\server2_fs1\preparesd\"
pathLow="\\172.26.142.99\lowstream\"
strRetDetail=""
cnt=0
strTem=pathKeyfram & strID & "_icon.dkf"
bSucc=DeleteFile(fso,strTem)
If bSucc =True Then
strRetDetail=strRetDetail & strTem & vbCr
cnt=cnt+1
End If
strTem=pathUploadSD & strID & "_sd.mxf"
bSucc=DeleteFile(fso,strTem)
If bSucc =True Then
strRetDetail=strRetDetail & strTem & vbCr
cnt=cnt+1
End If
strTem=pathPrepareSD & strID & "_sd.mxf"
bSucc=DeleteFile(fso,strTem)
If bSucc =True Then
strRetDetail=strRetDetail & strTem & vbCr
cnt=cnt+1
End If
strTem=pathLow & strID & "_lsd.wmv"
bSucc=DeleteFile(fso,strTem)
If bSucc =True Then
strRetDetail=strRetDetail & strTem & vbCr
cnt=cnt+1
End If
strRetDetail="共刪除" & cnt & "個文件,文件信息:" & vbCr & strRetDetail
DeleteByMaterialID = strRetDetail
End Function
'===============================================================刪除單個文件
Function DeleteFile(fso,strFile)
bRet=True
If fso.FileExists(strFile) Then
Set f1=fso.GetFile(strFile)
fso.DeleteFile f1
bRet=True
Else
bRet=False
End If
DeleteFile = bRet
End Function
文件改名.vbs
'======================================================================================
'dim ws,fso,f,fd,files,tmpname,url,strResultFileName,preFix
set ws=createobject("wscript.shell")
set fso = CreateObject("Scripting.FileSystemObject")
'真實路徑
'關鍵幀
pathKeyfram="\\172.26.142.82\server3_fs1\keyframe\"
'上載區
pathUploadSD="\\172.26.142.82\server3_fs1\uploadsd\"
pathUploadHD="\\172.26.142.82\server3_fs1\uploadhd\"
'備播區
pathPrepareSD="\\172.26.142.81\server2_fs1\preparesd\"
pathPrepareHD="\\172.26.142.83\server4_fs1\preparehd\"
'低碼區
pathLowSD="\\172.26.142.99\lowstream\"
pathLowHD="\\172.26.142.81\server2_fs1\lowerhd\"
'建立一個LOG文件
strResultFileName=ws.currentdirectory
strResultFileName =replace(strResultFileName ,"\","+")
strResultFileName =replace(strResultFileName ,".","_")
strResultFileName =replace(strResultFileName ,":","=")
strResultFileName= strResultFileName & "_" & TimeStr(Now) & "LOG.txt"
set fLog=fso.createtextfile(strResultFileName,2,ture)
'開始重命名
'關鍵幀
cnt=ReName(fso,pathKeyfram,"_ICON.DKF",".DKF",fLog)
'上載區
cnt=ReName(fso,pathUploadSD,"S_SD.mxf","S.mxf",fLog)
cnt=ReName(fso,pathUploadHD,"H_HD.mxf","H.mxf",fLog)
'備播區
cnt=ReName(fso,pathPrepareSD,"S_SD.mxf","S.mxf",fLog)
cnt=ReName(fso,pathPrepareHD,"H_HD.mxf","H.mxf",fLog)
'低碼區
cnt=ReName(fso,pathLowSD,"S_LSD.wmv","S.wmv",fLog)
cnt=ReName(fso,pathLowSD,"S_LS.wmv","S.wmv",fLog)
cnt=ReName(fso,pathLowSD,"SL.wmv","S.wmv",fLog)
cnt=ReName(fso,pathLowHD,"H_LHD.wmv","H.wmv",fLog)
cnt=ReName(fso,pathLowHD,"H_LH.wmv","H.wmv",fLog)
cnt=ReName(fso,pathLowHD,"HL.wmv","H.wmv",fLog)
cnt=ReName(fso,pathLowHD,"H_LS.wmv","H.wmv",fLog)
fLog.Close
MsgBox " 完成!"
'===================================================================================對指定文件夾下文件重命名
Function ReName(fso,path,strOld,strNew,fLog)
fLog.writeline "正在重命名:" & path & " " & strOld & "->" & strNew
set fd = fso.getfolder(path)
set files=fd.files
newName=""
oldName=""
nDealedCnt=0
for each f in files
newName=f.Name
oldName=f.Name
If InStr(oldName,strOld)>0 Then
newName=Replace( newName,strOld,strNew,1,1)
'newName=Replace( newName,"H.mxf","H_HD.mxf",1,1)
'重命名
fso.MoveFile path & oldName, path & newName
'記日誌
fLog.writeline oldName & "->" & newName
'統計
nDealedCnt=nDealedCnt+1
End If
next
fLog.writeline "已處理:" & nDealedCnt & "個"
ReName = nDealedCnt
End Function
'===============================================================將時間類型轉換成字符串
Function TimeStr(t)
ret=Year(t) & "" & Month(t) & "" & Day(t) & "_" & Hour(t) & "" & Minute(t)' & "" & Second(t)
TimeStr = CStr(ret)
End Function
文件改名_改DB.sql
--標清
UPDATE MS_FILE
SET FILENAME = REPLACE(FILENAME, 'S_SD.mxf', 'S.mxf')
WHERE FILENAME LIKE '%S_SD.mxf%'
update M_UPLOADTASK set TECHNICREPORT=Replace(Cast(TECHNICREPORT as varchar(8000)),'S_SD.mxf','S.mxf')
WHERE TECHNICREPORT LIKE '%S_SD.mxf%'
--高清
UPDATE MS_FILE
SET FILENAME = REPLACE(FILENAME, 'H_HD.mxf', 'H.mxf')
WHERE FILENAME LIKE '%H_HD.mxf%'
update M_UPLOADTASK set TECHNICREPORT=Replace(Cast(TECHNICREPORT as varchar(8000)),'H_HD.mxf','S.mxf')
WHERE TECHNICREPORT LIKE '%H_HD.mxf%'
--關鍵幀
UPDATE MS_FILE
SET FILENAME = REPLACE(FILENAME, '_ICON.DKF', '.DKF')
WHERE FILENAME LIKE '%_ICON.DKF%'
--低碼
UPDATE MS_FILE
SET FILENAME = REPLACE(FILENAME, 'H_LHD.wmv', 'H.wmv')
WHERE FILENAME LIKE '%H_LHD.wmv%'
UPDATE MS_FILE
SET FILENAME = REPLACE(FILENAME, 'H_LH.wmv', 'H.wmv')
WHERE FILENAME LIKE '%H_LH.wmv%'
UPDATE MS_FILE
SET FILENAME = REPLACE(FILENAME, 'HL.wmv', 'H.wmv')
WHERE FILENAME LIKE '%HL.wmv%'
UPDATE MS_FILE
SET FILENAME = REPLACE(FILENAME, 'H_LS.wmv', 'H.wmv')
WHERE FILENAME LIKE '%H_LS.wmv%'
UPDATE MS_FILE
SET FILENAME = REPLACE(FILENAME, 'S_LSD.wmv', 'S.wmv')
WHERE FILENAME LIKE '%S_LSD.wmv%'
UPDATE MS_FILE
SET FILENAME = REPLACE(FILENAME, 'S_LS.wmv', 'S.wmv')
WHERE FILENAME LIKE '%S_LS.wmv%'
UPDATE MS_FILE
SET FILENAME = REPLACE(FILENAME, 'SL.wmv', 'S.wmv')
WHERE FILENAME LIKE '%SL.wmv%'