長すぎるファイル名を百文字にリネームするバッチを教えてください。ただし拡張子...
2015/9/1800:08:17
長すぎるファイル名を百文字にリネームするバッチを教えてください。ただし拡張子はそのまま残す事とします。
あるフォルダ(サブフォルダを含む)にファイル名が長いファイルが大量にあります。
フォルダ内の全ての100文字を越えるファイル名を先頭から100文字だけのファイル名にリネームするバッチを教えてください。
別の言い方をすると、拡張子はそのままで、全ての100文字を越えるファイル名の101文字以降を削除するバッチとも言う事ができます。
【背景】
ネットサイトのショートカットをフォルダに作成していました。
拡張子はエクスプローラー上では表示されていませんが、xxx.URL のようです。
ネットサイト名には100文字を越えるようなものがよくあり、気がつくとそのようなファイルがたくさんできていました。これらのファイルを、例えば、別のフォルダに移動した場合、フォルダのパス名が長いと、パス名+ファイル名の文字数の制限を越えてしまう危険があります。
そこで、バッチファイルで、 一気に全ての
(100文字越えのファイル名).URL を、
(100文字のファイル名).URL に、一律に揃えたく思いました。
できれば時々バッチファイルを実行して、そのフォルダ内の長すぎるファイル名を100文字に揃えたいと思っています。
どうぞよろしくお願いいたします。
ベストアンサーに選ばれた回答
2015/9/1900:49:27
同じディレクトリにある前提で。
inDiにディレクトリ名を入れてください。
(現在はバッチと同ディレクトリにある「test」フォルダを参照するようになって射ます。
――――――――――――――ここから―――――――――――――――
@echo off
setlocal enabledelayedexpansion
rem 対象ディレクトリ
set inDi=%~dp0test\
rem 頭から残す文字数
set /a wordCnt=100
echo 対象フォルダ : %inDi%
echo ファイルの先頭から削除する文字数 : %wordCnt%
rem ディレクトリ移動
pushd %inDi%
for /f "usebackq delims=" %%f in (`dir /b /a-d`) do (
rem dir /b /a-d で取得したファイル名リストから一行を参照、そのファイル名と拡張子を取得
set fileName=%%~nf
set Ext=%%~xf
rem 先頭から%wordCnt%文字分だけ削除したものをnewFileNameに。
set newFileName=!fileName:~0,%wordCnt%!
echo 対象ファイル : !fileName!!Ext!
echo リネーム後 : !newFileName!!Ext!
rem 名前を変更します。
ren "!fileName!!Ext!" "!newFileName!!Ext!"
echo ------------
)
echo 完了しました。
pause
exit
――――――――――――――ここまで―――――――――――――――
以上。何か改善点補足等がありましたら気軽に返信ください
-
質問者
2015/9/2000:31:45
教えていただき、どうもありがとうございました!
100文字を越えるインターネット ショートカット (.URL)ファイルを用意してテストしてみた所、うまく動作したようですので、バッチプログラムを勉強するのにも是非参考にさせていただきます。
なお、実際のフォルダには、質問にも書きましたようにサブフォルダがあります。フォルダの最下層のサブフォルダまで、一気にバッチで変更する事は難しいでしょうか?
もしよろしければ、教えていただければ助かります。
返信を取り消しますが
よろしいですか?
- 取り消す
- キャンセル
このカテゴリの回答受付中の質問
- windows media playerでCDを取り込むと、毎回、アルバムのトラック1だけが別のア...
- サンダーバードメールの移行に失敗したようです 前に知恵袋で聞いたようにやりま...
- サクラエディタを使っています。新しいパソコンを買ったので、そちらに再インスト...
- フェイスブックのメッセージ入力がひらがな入力にならない
- OneDriveでAフォルダの中に作ったBフォルダはアップロードできるのですが、Bフ...
- visual studio code ターミナル ディレクトリ visual studio code内のターミナル...
- Windows Server 2016にRDセッショホストを導入しremoteapp機能を利用します。 ...
- AVT-C285について質問です。 SEAGATEでつなぐことはできますか。 また、記録先...
- サンダーバードメールの移行に失敗したので、再度やり直す予定です 旧パソコンの...
- パスワード管理について 今はExcelファイルに登録・変更する度にばーーーっと増や...
このカテゴリの投票受付中の質問
- カシオネームランドKL-M7でひらがなの小文字を入れる方法を教えてください。
- Windows Media Playerで、 ライブラリに取り込み済みの音声を、 USBメモリに入...
- となたか 教えて下さい 歌をpcを使って、cdドライブで、cdに書き込みしました...
- Windows 9x(98FE)で動くHDDミラーリング環境を探してます 諸事情で98をUGする必要...
- おすすめデスクトップPCについて。 youtubeでスマホゲーム実況をしています。 現...
- セキュリティサポートの期限時期が来ているので更新の仕方
- paypayの機能ホーム画面の表示方法をお願いします。
- WinX DVD Ripper Platinumで4:3でリッピングしたのですが、できません。 編...
- pcゲームでおすすめありますか? アクション系が好きです 後インストールにブルー...
- パソコンに詳しい人に質問です! うちのパソコンが変なことになりました! 多分...
この質問につけられたタグ
専門家が解決した質問
-
事業計画書を作る為に、フォーマットのテンプレートなどを無料ダウンロードできるオススメのサイトやファイルを教えてください!!!
弊社のHPから、事業計画書のひな形を無料でご提供していますので、参考にしてみてください。
- 渕本 吉貴
- 資金調達コンサルタント
-
メモリについて2つ聞きたいことがあります。 1.http://www.shinyusha.co.jp/media/otoku075/ この本にある記事のRAMディスクの事で、RAMディスクはどれだけ...
回答リクエストをいただきありがとうございます。 RAMディスクですが、物理メモリを使用してディスクとして エミュレートする仕組みのこ...
- 古賀竜一
- コンピューターサポートエンジニア
カテゴリQ&Aランキング
- 戻る
- 次へ
総合Q&Aランキング
Yahoo!知恵袋カテゴリ
お客様自身の責任と判断で、ご利用ください。
[PR]お得情報
