• 締切済み

フォルダー名の複雑な変更(3)

下記でフォルダー名の変更をVBSで処理する方法を教えてもらいました。 フォルダー名の複雑な変更 https://okwave.jp/qa/q9521359.html フォルダー名の複雑な変更 (2) https://okwave.jp/qa/q9522907.html 昨日、デスクトップにあるスクリプト(VBS)にフォルダーをドラッグ&ドロップで  対象フォルダー(Unicode文字は無い)を処理させたのですがエラーが出るようになりました。 (以前は、問題なく処理されてエラーは出ていませんでした。) エラー処理をお願いしようかとも思いましたが、  色々考慮の結果、新規にスクリプトをお願いする事にしました。 ------------------------------------------------------------- Unicode文字を削除>置き換え、末尾の不要文字を削除するなど  事前処理を『お~瑠璃ね~む』で行った対象フォルダーをターゲットにするように   加工しました。 この加工済みのターゲットフォルダー名を  下記の条件で変名できるスクリプト(VBS)を教えて下さい。  条件 :   フォルダー名の末尾6文字+半角スペースを       フォルダーの最初に移動して変名する。   例えば、     平成25年更新(2013) を     (2013) 平成25年更新 に変名する。

みんなの回答

  • skp026
  • ベストアンサー率45% (1011/2238)
回答No.1

Windows UpdateでVBSやVBAやVB6のアプリ実行時にエラーが出ることが確認されていましたが、問題のWindows Updateモジュールは修整されたようです。以下は関連する記事です。 https://forest.watch.impress.co.jp/docs/news/1200792.html つまり、Windows Updateでエラーがでなくなるはずですが、お使いのWindowsが一部の未対応のWindowsだったり、Windows Updateを実行できないなら、該当のモジュールをアンインストールすればエラーはでなくなります。

NuboChan
質問者

お礼

Windows UpdateでVBSのアプリ実行時に  エラーが出るとの情報の提供、ありがとうございます。 なぜエラーが出るか理由が判らなかったので納得しました。 私のPCのOSは、Windows 10 バージョン 1903(18362.295)なので 不具合の修正プログラムがまだ出ていないのですね。 提示されたURLでは、1903の修正プログラム(更新)が  何時出るとは情報がが無いのですが、次回(9月)の更新で修正が出るのでしょうか ? 出るまでVBSを利用できる環境にするのは、  どのモジュールをアンインストールすればエラーはでなくなりますか ?

関連するQ&A

  • フォルダー名の複雑な変更

    例えば、フォルダー名が Songbirds - 機関車 (1995) jpPop Nodubut - Ten Day(2003) を 1995 Songbirds - 機関車 (1995) jpPop 2003 Nodubut - Ten Day(2003) のように()内の4桁の数値と半角のスペースをフォルダー名の最前列に追加した形式でフォルダー名を変更できますか? -------------------- 以前教えてもらった『お~瑠璃ねーむ』のマクロ機能では、処理が複雑で出来ないようです。

  • 複数フォルダー名を一括リーネーム

    複数のフォルダー名を一括してリーネームの相談です。 あるサイトから定期的にファイル(フォルダー)をダウンロードしていますが、 必ずフォルダー名が   kool&water (****_fhg) のように(****_fhg)が付加された状態になります。 (****_fhg)は不要なので『Flexble Renamer』を利用削除しています。    末尾からn文字目よりn文字を削除を利用      位置 0値 : 12 しかし、毎度アプリを立ち上げてメニューから指定箇所を指定するなど面倒です。 -------------- 例えば、変名のための設定を個人定義として記憶させて  次回簡単に呼び出せるような『Flexble Renamer』と同じようなアプリはありませんか?     又は、希望としてはもっと簡単に   デスクトップにbatを作成して処理フォルダーをドラッグ&ドロップして処理させることは出来ますか?     (フォルダー名の末尾から0文字目より12文字を削除してフォルダー名を変更する) その他、便利な方法があれば教えて下さい。 -------------------------------------------------------------------------------

  • フォルダー名変更ソフト(bat,スクリプト)

    フォルダー名変更で   フォルダー名の先頭から11文字目から4文字をフォルダー名の先頭に移動させるソフトがあれば教えて下さい。 又は、BATやスクリプトでも同じ事ができれば教えて下さい。

  • フォルダー名変更(指定文字を移動、削除)

    当初、フォルダー名変更ソフトでフォルダー名の変更を考えていましたが ソフトカテゴリーで回答が付かなかった。 EXCELのVBAを利用して変名出来る方法を教えて下さい。 指定ディレクトリーのフォルダー名を取得して 下記条件で変名後にフォルダー名を書き出す。 ------------------------------------------------------------------------ フィルダー名の先頭からX文字目からXX文字目までの指定文字列(ABS)を  フォルダー名の先頭に追加して、指定文字列(ABS)は削除する。 (X,XXは任意指定) 例えば、x=先頭の5文字目から、XX=3文字をだとすると   testABSmoji ---> ABStestmoji ------------------------ 逆に  フォルダー名最後部からX文字目からXX文字目までの指定文字列(oem)を  フォルダー名の先頭に追加して、指定文字列(oem)は削除する。 (X,XXは任意指定) 例えば、x=最後尾の1文字目から、XX=4文字をだとすると   TEST_TEST_oemm ---> oemmTEST_TEST_ ------------------------------------------------------------- 議事録の保存形式が年度によって(又は担当者によって)異なるので 作成年月日でソートを行うことが現在で来ていません。 180224(2018年2月24日)をフォルダー名の先頭に来るようにしたい。

  • 複数のフォルダ名を一括変更したい

    写真を保存しているフォルダのフォルダ名を一括変更する方法があれば教えてください。 「20180907 新宿区 ●●マンション」という感じにファイル名をつけたフォルダが複数あります。 フォルダ名を「●●マンション 20180907 新宿区」のような感じに変更したいのですが、数がかなりあるので、一括で変更できる方法はないでしょうか?? フォルダ名を入力した人が色々なので、順番は統一されているのですが、スペースは人によって半角だったり全角だったりなかったりします。 フォルダ名を一括で変更出来るソフトは「Namely」や「FlexRenamer」などあるのですが、先頭から何桁か削除することが出来ても、先頭の文字列を切り取って末尾に付けるような機能はないようです。 出来ればタイムスタンプも変わらないとなお良いのですが、文字列や数もバラバラですし、むりでしょうか? 良い方法があれば教えてください。よろしくお願いします。

  • フォルダ名が変更できない

    WINXPのPCを友人に譲ることにしました。 ・・で、私の個人情報(名前や履歴など)を消そうと思い 様々な処理をしているのですが、 ローカルディスク(C)\Document and Settinng\○○←私の個人名 のフォルダがあり、名前を変更しようとしましたが、 「Windowsのシステムフォルダを正しく実行するのに必要! 移動、名前変更できない」とのエラーメッセージがでます。 Windowsのユーザーアカウント名は新しい友人の名前に変更できましたが このフォルダの名前が変更できません。 Windowsのどこかの設定(PCの所有者?)を変えれば 良いと思うのですが、判りません。 どなたか、教えて射ただけ無いでしょうか?

  • [VBS] Unicodeの文字化けを防ぎたい

    VBSでフォルダの操作を行っています。 フォルダ名にUnicodeが含まれる場合エラーが発生します。 なんとか文字列を表示する事が出来ますでしょうか? 【文字化けサンプル.vbs】 ---------------------- REM Unicode(U+2776) str = "❶" REM 表示 msgbox str ---------------------- よろしくお願いします。

  • (VBA) 同名フォルダーの存在をチェック

    以下のコード(Sub ⑤フォルダー名の変更())でフォルダー名の変更を行っています。 変名時に同名ファイルがある場合エラーが以下のコードでエラーがでます。   .GetFolder(Range("A2").Text & Range("B" & i).Text).Name = Cells(i, LastColumn).Text エラー無く処理したいので  同名があるばあいは、フォルダー名の末尾に(1)、(2)を付加したいのですが  同名があるかどうかは?どのように判定しますか ? Sub ⑤フォルダー名の変更() Dim i As Long Dim LastColumn As Single Dim LastColumn_ABC As String Dim MSG As String LastColumn = Cells(5, "B").End(xlToRight).Column LastColumn_ABC = Split(Cells(1, LastColumn).Address, "$")(1) MSG = MsgBox("B列フォルダー名が" & LastColumn_ABC & "列フォルダー名に変更されます!" & vbCrLf _ & "B," & LastColumn_ABC & "列に値がなければ、処理は行いません。", 257, "フォルダー名変更") If MSG = vbCancel Then Exit Sub i = 5 'subフォルダ名取得が5行目からフォルダー名を表示するため。 Do While Range("b" & i).Text <> "" If Cells(i, LastColumn).Text <> "" Then ' 新フォルダー名がある場合のみ、名前変更を行う。 With CreateObject("Scripting.FileSystemObject") .GetFolder(Range("A2").Text & Range("B" & i).Text).Name = Cells(i, LastColumn).Text End With End If i = i + 1 Loop MsgBox "変名処理が終了しました。" End Sub

  • フォルダー名末尾空白のフォルダーの削除方法を教えてください

    パソコンのMy documentsの中に末尾が空白(半角スペース)のフォルダー名を作ってしまい削除できずに困っています。末尾が空白のフォルダー名の削除について方法あれば教えて下さい。 末尾が空白のフォルダーは具体的には次の2つのフォルダーです。  \My Documents\photo\hanato       〃         \花と風景2 上記フォルダーは削除及び名前の変更・コピー・移動等も出来ません。 (1)削除しようとすると   ファイルの削除できません。送り側のファイルまたはディスク から読み取れません。 (2) フォルダー名変更しようとすると   ファイルの名前を変更できません。送り側のファイルまたは ディスクから読み取れません。 のようなメッセージが出ます。

  • フォルダー名の複雑な変更 (2)

    以下で質問をしました。 https://okwave.jp/qa/q9521359.html watabe007さんから頂いたスクリプトを有効に利用させて頂いています。 色々試してみると処理できる場合もありますが、   フォルダー処理でエラーが出る場合があるのですが、コードを修正できますか? 以下のフォルダーでエラー表示(添付)がでます。 The Blues Band – The Rooster Crowed(2018) Sisare – Leaving The Land (2018) ------------------------------------------------- VBScript Option Explicit Dim objFSO Dim args Dim newName Dim f1, fol Set args = WScript.Arguments If args.Count < 1 Then WScript.Quit Set objFSO = CreateObject("Scripting.FileSystemObject") For Each f1 in args set fol = objFSO.GetFolder(f1) newName = GetnewFName(fol.Name) If newName <> "" Then fol.Name = newName End If Next Set objFSO = Nothing Function GetnewFName(strName) Dim objRE Dim myMatches Dim strYear Set objRE = CreateObject("VBScript.RegExp") objRE.Pattern = "\(\d{4}\)" Set myMatches = objRE.Execute(strName) If myMatches.Count > 0 Then strYear = Mid(myMatches(0).Value, 2, 4) GetnewFName = strYear & " " & strName End If Set objRE = Nothing End Function

専門家に質問してみよう