XFiler.RegisterCommand("toggle_readonly", "読み取り専用属性を反転", function () {
    // 1. 選択されているアイテムを取得
    var items = XFiler.GetSelectedItems();
    if (items.length === 0) {
        XFiler.Log("アイテムが選択されていません。");
        return false;
    }

    var count = 0;
    for (var i = 0; i < items.length; i++) {
        var path = items[i];

        // 2. 現在の属性を取得
        var attr = XFiler.GetAttributes(path);
        if (attr) {
            // 3. 読み取り専用属性を反転
            attr.readOnly = !attr.readOnly;

            // 4. 設定
            if (XFiler.SetAttributes(path, attr)) {
                count++;
            }
        }
    }

    if (count > 0) {
        XFiler.Log(count + " 件のアイテムの属性を変更しました。");
        XFiler.Refresh(); // 表示を更新
        return true;
    }

    return false;
});
