WindowsVISTA HomePremiumでフォルダ名変更のバッチファイルを作成する方法

このQ&Aのポイント
  • WindowsVISTA HomePremiumのPCで複数のフォルダ名を一括変更するバッチファイルを作成したいです。
  • 具体的には、DドライブにあるYYYY-MM-DD形式のフォルダ名をハイフンを削除した形式に変更したいです。
  • バッチを実行すれば、例えば2009-08-31のフォルダ名は20090831に一括変更されます。
回答を見る
  • ベストアンサー

フォルダ名変更のバッチファイル作成について

WindowsVISTA HomePremiumのPCで下記操作(フォルダ名変更)を 自動化できるようバッチファイルを作成したいのですが、可能でしょうか?(昨夜調べていましたが、結局わからず質問させて頂きました) ■やりたい処理  「D:\」にある、複数のフォルダ(YYYY-MM-DD)の名称を一括変更。  例えば、   ・2009-08-31   ・2009-09-01   ・2009-09-02  と3つあった場合、バッチを実行すれば   ・20090831   ・20090901   ・20090902  に一括変更(ハイフンを削除する)されるようなものです。 ご教授宜しくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • Chary_spy
  • ベストアンサー率40% (75/183)
回答No.1

可能です。 DOSコマンドで変更したいと言う事ですね? しかしその前に、DOSコマンドでも可能ですが、フリーのソフトとかもあるので、それらの使用も検討しましたか? そちらの方が簡単な場合もありますよ。 まず、DOSのコマンドの使い方を学んでください。 >help と打つと使用できるコマンドがリストされます。 これと同じ事が、他のコマンドにもあり(ラインヘルプ)、 >dir /? >for /? >if /? と打つとそれぞれの使い方がでます。後はプログラムをCや、JavaScript、VBAなど言語、スクリプト使用経験があれば簡単に作れます。初級だと文字の置き換えなどに、とまどうかなと思います。 これを考えると、WSHで作成した方が、今後の発展性を考えるといいのではないでしょうか。 とりあえず、for文のヘルプを見てください。この中にほとんどのヒントが入っています。文字の置き換えは、FOR文の中で行った場合は、FORのみで有効です。それを違う所でも有効にしたければSET文のヘルプをみてください。GOTO文で飛ばしてラベル内(Sub)で設定する方法もあります。 単純に書くと、 for /d %v in (*) do ( for /f "tokens=1,2,3 delims=\-" %a in ("%v") do @echo %a%b%c) とすると"-"を区切り文字としたフォルダーを探して、それを取り除いた文字列が表示されます。なお、これはコマンドラインでの表記ですので、ファイルにする場合はそれなりの対処をお願いします。 他にサブフォルダーも、とか、絶対パス指定など、自分で工夫してみてください。

iso7731
質問者

お礼

ご回答ありがとうございます。 アドバイス頂いた内容で勉強、チャレンジしてみます。 上手くいかなかったら、フリーソフトも検討してみたいと思います。

関連するQ&A

  • バッチファイルの作成

    お世話になっております。 バッチファイルの作成方法について、只今勉強中です。 現在、毎日行われている作業をバッチファイルで自動化が出来ないか検討しておりますが、バッチファイルの編集に苦戦していて困っております・・・ ---実行したい事--- 0.以下、作業の流れをコマンドプロンプト上で表示する。 1.C:\ツール\batというフォルダに移動する。 2.batフォルダに新しく「file」というフォルダを作成 3.batフォルダ内には「bat_YYYY/MM/DD.txt」という日付のテキストがあり、該当する日付のテキストをコピーしてfileフォルダへ貼り付ける。 4.fileフォルダへ移動する。 ---終了--- 手順を全部書いてしまっているのですが、途中まではバッチファイルの編集をする事が出来ました。しかし、正解しているか不安です。 ご教授の程、宜しく御願い致します。

  • バッチファイルによるフォルダ名の変更

    バッチファイルによるフォルダ名の変更 あるフォルダに存在する日付(西暦)を名称としたフォルダ、例えば 2010-0530 を、バッチファイルを実行することで、和暦(元号)、例えば H220530 に名前を変え、その後に特定のアプリケーション(Picasa3)を実行したいのです。 インターネット上の情報を参考に、 @echo off cd /d K:\VIDEOPHOTO\H220401から for /d %%f in ( * ) do call :sub "%%f" start C:\"Program Files\Google\Picasa3\Picasa3.exe" exit /b :sub set dirname=%1 set dirname=%dirname:(=【% set dirname=%dirname:)=】% set dirname=%dirname:2010-=H22% ren %1 %dirname% goto :EOF というバッチファイルを作り、概ね希望どおりの結果となったのですが、既に同名のフォルダが存在していた場合(例ではH220530というフォルダが既に存在)、フォルダ名の変更はされずスルーされてしまいます。 既に同名のフォルダが存在していても、フォルダ名を変更(既存フォルダと統合)することはできますでしょうか?

  • バッチファイル、変数について

    windows2012R2で下記のようなバッチファイルを作成しました。 --------------- Set YYYY=%Date:~0,4% Set MM=%Date:~5,2% Set DD=%Date:~8,2% Set File=%YYYY%%MM%%DD% mkdir G:\bbb\xx1_%File% move G:\aaa\xxx* G:\bbb\xx1_%File% --------------- としてもフォルダは作成されておりましたが、xxxフォルダの中身が移動されておりませんでした。 どなたかお分かりの方がおりましたら、お願い致します。

  • フォルダ名を一括で変更する

    ファイル名を一括で変更する方法を教えていただけないでしょうか。 毎週大量にあるお仕事でして、簡易化出来ましたら嬉しいです。 ご指導のほどよろしくお願いいたします。 同じ階層に、複数のフォルダがあります。 例えば… 変更前のフォルダ名:大塚、日暮里、新宿、東京、五反田… 変更後のフォルダ名:全て東京に変更したいです。 同じフォルダ名になりますので、フォルダ名は上書きされる様にしたいです。 各フォルダには複数のファイルが入っていますが、バッチなどの作業を実行中に同名が見つかった場合は、ファイル名は上書きされず、連番が付加される様にしたいです。 ※PC環境:widows10、64bit。

  • フォルダ内のファイル名を一括変更したい

    windows10を使っています。 指定したフォルダ内のファイル名を一括変更したいです。 具体的には、以下のようにファイル名内の空白を「_」に置換したいです。 変更前:スクリーンショット 2021-01-01 104535.jpg ↓ 変更後:スクリーンショット_2021-01-01_104535.jpg バッチファイルで手軽に実行できるとうれしいです。 やりたいことの具体例: 空白置換.batを実行したら、空白置換.batが置いてあるフォルダ内のファイル名が一括変更できる。 空白置換.bat内で、変更対象とする拡張子を指定できる。 よろしくお願いいたします。

  • バッチファイル DOS Windows2000環境での日付取得

    バッチファイル DOS Windows2000環境での日付取得 いつもお世話になります。 Windows2000環境にて当日日付を取得する下記のバッチファイルがあります。 ~コード開始~ REM 日付取得 FOR /F "tokens=1 delims= " %%i in ('DATE /t') do SET TEST1=%%i ECHO %TEST1% ~コード終了~ 上記プログラム結果は【YYYY/MM/DD】となります。 ※YYYY:当年 MM:当月 DD:当日 上記コードはWindows2000環境のDOSプロンプトにて【DATE /t】コマンドを実行すると 【YYYY/MM/DD 曜日】が表示されるのを利用しております。 結果的にスペース区切りで1節目の【YYYY/MM/DD】だけを抜き取っております。 これは問題ありませんでした。 しかし、下記コードで実行した所、意図した結果と異なるものになりました。 ~コード開始~ REM 日付取得 FOR /F "tokens=2 delims= " %%i in ('ECHO %DATE%') do SET TEST1=%%i ECHO %TEST1% ~コード終了~ 上記プログラム結果は【YYYY/MM/】となってしまい、【DD】が抜けておりました。 ※YYYY:当年 MM:当月 DD:当日 上記コードはWindows2000環境のDOSプロンプトにて【DATE】コマンドを実行すると 【曜日 YYYY/MM/DD】が表示されるのを利用しております。 結果的にスペース区切りで2節目の【YYYY/MM/DD】だけを抜き取る予定でしたが 見ての通り予想外の結果です。 この現象はなぜでしょうか? 何が起因して【DD】が表示されないのでしょうか? 他に当日日付の取得方法はいくつか知っていますが、 上記プログラムで取得したいのです。 どなたかご存知の方がいらっしゃればご教授願いませんでしょうか? 以上、何卒宜しくお願い致します。

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

    フリーソフト等もみたのですが、適切なものがなく、 ご存知の方がいらっしゃれば教えていただきたいです。 【したいこと】 フォルダ名が現在 000001、000002.000003となっている。 これを0を省いて 1,2、3という風に一括で変更したい。 フォルダが大量にあり、一括で変更したい。 バッチ等でもいいのですが。。。 ご存知の方いれば教えてください。 よろしくお願いします。

  • フォルダ名をファイル名の頭につけるバッチ

    お世話になります。 現在、ファイルをフォルダ単位で保存していて、保存しているフォルダは数百個あり、各フォルダに入っているファイルの数はまちまちなのですが、各フォルダの中にあるファイル(全てフォルダの直下にファイルを保存しており、サブディレクトリは作成していないはずです)の頭にフォルダ名を一括でつけたいのですが、そのようなバッチファイルは作れるでしょうか? やりたいこととしては、例えば、"6753シャープ"というフォルダ内に複数個のファイル、例えば"01.txt"、"02.txt"、"03.txt"というファイルがある場合、 それらのファイルをまとめてバッチファイルのアイコンにドラッグアンドドロップしたらファイルを"6753シャープ01.txt"、"6753シャープ02.txt"、"6753シャープ03.txt" というようにリネームさせることは可能でしょうか? 使用しているPCはWindows7 Professionalです。

  • フォルダ名をファイル名の頭に追加するバッチ

    社内の規定でパソコンにフリーソフトをインストールができません。 フォルダ内の複数あるファイル名の頭にフォルダ名を付け足すバッチファイルを作る事は可能でしょうか? 例 フォルダ名 ABC ファイル名 123.jpg 変更後 ABC123.jpg フォルダをバッチファイルにドラッグ&ドロップでファイル名を変更出来るようなものが有ればとても助かります。 わかる方がいましたら教えて頂きたいです。 宜しくお願いします。 使用するパソコンのOSはWindows7です。

  • バッチファイル

    お世話になります。 PCのセットアップをバッチファイルを使って、 簡略化したいと思っています。(windows xpです。) そこで、パスで指定したファイルを実行したり、指定したフォルダを開く方法を教えていただけないでしょうか。 可能であれば、一つのバッチファイルの実行で、 複数のファイル・フォルダを連続で開ければ非常に助かります。 よろしくお願いします。