Passez les éléments sélectionnés dans Tablacus Explorer de JScript à python et renommez-les tous à la fois

introduction

Lorsque le contenu du dossier est gâché par certains travaux, vous souhaitez parfois les renommer tous en même temps.

Ce qui a été fait. renamer.gif

En guise de demande,

la mise en oeuvre

Création de boutons et JScript

Ajoutez un bouton à la barre d'outils sur Tablacus Explorer.

Faites un clic droit sur quelque chose comme ça → "Ajouter" pour ouvrir la boîte de dialogue.

//Nom:(adapté)
//type:JScript
//option:(Code ci-dessous)
//icône:(adapté)

var FV = GetFolderView(Ctrl, pt);
var Selected = FV.SelectedItems();

if (Selected) {
    var dat = "";
    for (var i = 0; i < Selected.Count; i++) {
      dat += "\"" + Selected.Item(i).Path + '\" ';
    }
    if (dat == "") {
      alert("not selected.");
    } else {
	    wsh.Run("C:/foo/Src/Python27/python.exe C:/foo/Sample/rename_selected.py " + dat);
    }
}

//Après avoir copié le code"ajouter à"alors"OK"

Quant au contenu

Renommer avec python

Créez un script dans votre propre environnement d'exécution.

rename_selected.py



# coding: Shift_JIS
import os
import sys

def get_selected_list(param):
    target_list = []
    if len(param) > 1:
        for folder in param:
            folder = unicode(folder, encoding='shift-jis').replace(unicode("\\", encoding='shift-jis'), "/")
            target_list.append(folder)
    return target_list

def rename_folder(src_path):
    dst_path = src_path

    #La règle de remplacement est appropriée, ce qui suit est un exemple de rognage d'un mot spécifique
    #C ’est un match à passes complètes, donc c’ est mal si vous êtes pris au milieu.
    dst_path = dst_path.replace(unicode(" -copie", encoding='shift-jis'), "")
    dst_path = dst_path.replace(unicode(" (1)", encoding='shift-jis'), "")
    dst_path = dst_path.replace(unicode("_yymmdd", encoding='shift-jis'), "")
    if not os.path.isdir(dst_path):
        os.rename(src_path, dst_path)

if __name__ == "__main__":
    folder_list = get_selected_list(sys.argv)
    for folder in folder_list:
        rename_folder(folder)


Le contenu est tellement décent qu'il était difficile de jouer avec le système de fichiers japonais. (En disant que je veux faire ce que j'aime, je ne me suis pas battu contre les expressions régulières particulièrement avancées)

Le point de chaque implémentation

Décrire le traitement de la cible sélectionnée sur Tablacus Explorer en python

Je me suis demandé si Tablacus Explorer pouvait étendre le script, mais bien sûr, JScript Qu'est-ce que .aspx)?

Donc, je voulais minimiser la description en JScript et lancer le traitement possible vers python, mais c'est ennuyeux de google avec "(keyword) JScript -javascript" ...

Et quand vous en saurez un peu plus, les différences suivantes fonctionneront progressivement ... Notes sur le portage des scripts MDIE vers Tablacus Explorer. Contraste d'objet, etc.

J'ai réussi à atteindre le suivant et à passer un appel sûr.

En termes de technologie élémentaire, les éléments suivants étaient nécessaires.

La douleur de lutter contre le système de fichiers japonais

Pourquoi ne puis-je pas encore sortir de l'enfer python2.7?

Impressions

Récemment, j'ai écrit un petit script sur Tablacus Explorer, et j'écris souvent un script qui appelle un système d'exécution local à partir de là. C'est complètement la même chose que faire avec bookmarklet + add-on parasite auto-fabriqué sur le navigateur.

Personnellement, comment puis-je connecter le traitement de l'interface graphique à CUI et le traitement du langage de programmation? C'est important, donc j'espère pouvoir surmonter chaque obstacle d'une bonne manière.

Au fait, j'aurais pu créer une application graphique distincte, mais je ne l'ai pas fait. Je voulais le compléter parmi les applications que j'ouvre habituellement, ou je ne voulais pas que les applications supplémentaires fonctionnent dans le petit espace d'affichage. Il suffit d'ajouter un bouton au bord du classeur.

c'est tout.

Recommended Posts

Passez les éléments sélectionnés dans Tablacus Explorer de JScript à python et renommez-les tous à la fois
[python] Envoyez l'image capturée de la caméra Web au serveur et enregistrez-la
Je veux remplacer les variables dans le fichier de modèle python et le produire en masse dans un autre fichier
Il est facile d'exécuter SQL avec Python et de générer le résultat dans Excel
Passez un tableau de PHP à PYTHON et effectuez un traitement numpy pour obtenir le résultat
[C / C ++] Passez la valeur calculée en C / C ++ à une fonction python pour exécuter le processus et utilisez cette valeur en C / C ++.
Obtenez de manière récursive la liste Excel dans un dossier spécifique avec python et écrivez-la dans Excel.
Script Python qui va de la recherche Google à l'enregistrement de la page de résultats de recherche à la fois
Un moyen simple de visualiser le temps pris en Python et un moyen plus intelligent de l'améliorer
Mettez Ubuntu dans Raspi, mettez Docker dessus et contrôlez GPIO avec python à partir du conteneur
Essayez de le faire avec GUI, PyQt en Python
[Python] J'ai installé le jeu depuis pip et j'ai essayé de jouer
Comment obtenir toutes les clés et valeurs du dictionnaire
Orienté objet en langage C: "○ ✕ game" a été refacturé et porté en Python
Transmettez les données OpenCV de la bibliothèque C ++ d'origine à Python
Lisez l'ancien fichier Word du formulaire d'application Gakushin DC (.doc) à partir de Python et essayez de le faire fonctionner
[Python] Le rôle de l'astérisque devant la variable. Divisez la valeur d'entrée et affectez-la à une variable
Déterminez le format de la date et de l'heure avec Python et convertissez-le en Unixtime
Comment installer OpenCV sur Cloud9 et l'exécuter en Python
Comment réussir et étudier l'examen de base de la certification d'ingénieur Python 3
Comment obtenir des abonnés et des abonnés de Python à l'aide de l'API Mastodon
Comment utiliser l'astérisque (*) en Python. C'est peut-être tout? ..
Lisez le binaire big endian en Python et convertissez-le en ndarray
Convertissez le résultat de python optparse en dict et utilisez-le
Changer la version active dans Pyenv d'Anaconda en Python ordinaire
Comment afficher les octets de la même manière en Java et Python
Python - Obtenez le taux de bitcoin BTC / JPY à partir de bitflyer à intervalles réguliers et enregistrez-le dans un fichier
[Python / Jupyter] Traduisez le commentaire du programme copié dans le presse-papiers et insérez-le dans une nouvelle cellule.
Exportez le rapport au format PDF à partir de DB avec Python et attachez-le automatiquement à un e-mail et envoyez-le
Comment saisir une chaîne de caractères en Python et la sortir telle quelle ou dans la direction opposée.
Dans la commande python, python pointe vers python3.8
Combinez plusieurs dictionnaires et ajoutez plusieurs éléments à la fois, en toute sécurité et de manière non destructive en Python
Comment écrire le bon shebang dans les scripts Perl, Python et Ruby
[Python] Doux Est-ce doux? À propos des suites et des expressions dans les documents officiels
Comment obtenir la différence de date et d'heure en secondes avec Python
J'ai défini des variables d'environnement dans Docker et je les ai affichées en Python.
Exemple de code pour obtenir oauth_token et oauth_token_secret de l'API Twitter en Python 2.7
Connectez-vous à postgreSQL depuis Python et utilisez des procédures stockées dans une boucle.
Le nom du fichier était mauvais en Python et j'étais accro à l'importation
Pour la première fois dans Numpy, je vais le mettre à jour de temps en temps
[Chez Coder] Ce que j'ai fait pour atteindre le rang vert en Python
Utiliser l'application LibreOffice en Python (2) Manipuler calc (à partir d'une macro et externe)
Une histoire sur un ingénieur qui a remarqué l'émo de la cryptographie et tente de l'implémenter en Python