Moodleの課題をフォルダ付きでダウンロードした場合の、処理バッチです。
フォルダ付きの場合、フォルダ名が結構ややこしいことになっています。
本学の場合は、ここに学籍番号や氏名が入っていて、わかりやすいのですが、続けてMoodle内での識別IDやら「_assignsubmission_file_」がある。これを取りたい。
それで次のようなバッチファイルを作りました。
遅延環境変数って何??ですが、ともかくこれで目的は達しています。
@echo off rem forループ内で変数を扱うには遅延環境変数の展開を有効にする rem 遅延環境変数の展開は%の代わりに!を使う setlocal ENABLEDELAYEDEXPANSION for /d %%i in (*) do ( echo %%i set fname=%%i rem 0文字目から7文字分を取り出す set fname=!fname:~0,7! echo !fname! ren "%%i" !fname! ) exit /b
今回は先頭の7文字にしたかったので、”:~0,7”としました。
Excelを使って各行にrenコマンドを入れるという強引な手法もあるようですが、さすがに美しくない。でも、これだけのバッチに半日かかかってしまった( ;∀;)。
同様にファイル名を変更するときは、こちら。
@echo off rem forループ内で変数を扱うには遅延環境変数の展開を有効にする rem 遅延環境変数の展開は%の代わりに!を使う setlocal ENABLEDELAYEDEXPANSION for %%b in (*) do ( echo %%b set fname=%%b rem 0文字目から8文字分を取り出す set fname=!fname:~0,8! echo !fname! rem 拡張子を取り出す set ad=%%~xb echo !ad! ren "%%~nxb" "!fname!!ad!" ) exit /b