私はVBSスクリプティングには新しく、以前はExcel VBAでいくつかのことをやっていました。今私は、ファイルのパス名(それぞれ4文字に切り捨てられた)と単一のファイルの名前を変更するスクリプトを持っている)以下を参照してください。私の目的に合うように少し修正したスクリプトです。しかし、私はファイル名の変更プロセスを自動化し、単一のファイルに対してsciptが動作するのと同じ方法で、フォルダとそのサブフォルダ内のすべてのファイルの名前を変更したいと思います。誰でもこの質問で私を助けることができますか?パス名を使用してファイルの名前を変更するVBSスクリプト
Set Shell = WScript.CreateObject("WScript.Shell")
Set Parameter = WScript.Arguments
For i = 0 To Parameter.Count - 1
Set fso = CreateObject("Scripting.FileSystemObject")
findFolder = fso.GetParentFolderName(Parameter(i))
PathName = fso.GetAbsolutePathName(Parameter(i))
FileExt = fso.GetExtensionName(Parameter(i))
Search = ":"
findFolder2= Right(PathName, Len(PathName) - InStrRev(PathName, Search))
arr = Split(findFolder2, "\")
For j=0 To UBound(arr)-1
arr(j) = ucase(Left(arr(j), 4))
Next
joined = Join(arr, "%")
prefix = right(joined, len(joined)-1)
fso.MoveFile Parameter(i), findFolder + "\" + prefix
next
私はいくつかの有用なアイデアを得ることができると願っています。
ハービー
こんにちは、ありがとうございました。私は現在のスクリプトでmsgboxの行を置き換えようとしましたが、各ファイルのスクリプトを呼び出すとこれはうまくいくが、失敗することを期待していました。 thing.name = "hello.txt"だけを挿入すると、1つのファイルの名前が変更されます...名前を変更するスクリプト用に別のサブファイルを作成してから、それを呼び出す必要があります。オブジェクト? – Herbie245
ああ...これは同じ名前の複数のファイルの名前を変更することができないためです...使用 – Herbie245
こんにちは...ありがとうございます。これは既に多くの助けになります。 thing.name = i& ".txt"のような非常に簡単な引数を使用して、すべてのファイルの名前を変更しました。これにより、イテレータです。しかし、ファイルの名前を変更する手続きは非常に複雑です。だから、スクリプトを組み込むことができたら、それはうまくいきません。スクリプトをそのまま使用し、再帰から呼び出すことは可能でしょうか?おかげでたくさん - – Herbie245