golangでも作ってみました。一番面倒なところだけやってくれるように、元に手を入れないようにして、move ではなくて copy にしてみました。
package main import ( "io""log""os""path/filepath""strings" ) func copyFile(srcFile string, destFile string) error { src, err := os.Open(srcFile) if err != nil { return err } defer src.Close() dest, err := os.Create(destFile) if err != nil { return err } defer dest.Close() _, err = io.Copy(dest, src) if err != nil { return err } returnnil } func main() { orgPath := os.Args[1] dirPath := filepath.Dir(orgPath) slowPath := filepath.Join(dirPath, "英語のハノンslow") naturalPath := filepath.Join(dirPath, "英語のハノンnatural") d, _ := os.ReadDir(orgPath) for _, f := range d { if strings.Contains(f.Name(), "slow") { orgFilePath := filepath.Join(orgPath, f.Name()) slowFilePath := filepath.Join(slowPath, f.Name()) err := os.Mkdir(slowPath, 0750) if err != nil&& !os.IsExist(err) { log.Fatal(err) } err = copyFile(orgFilePath, slowFilePath) if err != nil { log.Fatal(err) } } if strings.Contains(f.Name(), "natural") { orgFilePath := filepath.Join(orgPath, f.Name()) naturalFilePath := filepath.Join(naturalPath, f.Name()) err := os.Mkdir(naturalPath, 0750) if err != nil&& !os.IsExist(err) { log.Fatal(err) } err = copyFile(orgFilePath, naturalFilePath) if err != nil { log.Fatal(err) } } } }
家人からリクエストがあったので、windowsで使えるようにしてあるのを貼っておきます。
EigoNoHanon.zip ファイルをダウンロードして、解凍してからお使いください。
ダウンロードして解凍したデータを一回保存してから、英語のハノン_210407 のディレクトリごとドラッグ・アンド・ドロップで使えるようにしています。
zip ファイルをクリックして開いて、その中から直接アプリにドラッグ・アンド・ドロップしても使えません。
zip ファイルをクリックして開いて、中からデスクトップでも zip ファイルの脇にでもドラッグ・アンド・ドロップして取り出して保存してから、アプリのアイコンにフォルダをドラッグ・アンド・ドロップしてみてください。
一応バージョンとMD5 Hash など。
go version go1.22.3 windows/amd64
ファイル名 | MD5 |
EigoNoHanon.zip | 593458F9D6711DB970657E0F1D7F8108 |
EigoNoHanon.exe | eac46f72a430ad8112194e2d12973ced |
go build -ldflags="-s -w" -trimpath して、念の為、ノートン360でウイルススキャンして問題はありませんでした。
drive.google.com
作るより公開するための気遣いのほうが時間かかっているような。