Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2787 connectés 

  FORUM HardWare.fr
  Programmation
  Shell/Batch

  Capitaliser la sélection (environnement Windows)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Capitaliser la sélection (environnement Windows)

n°1602661
ACut
Posté le 23-08-2007 à 03:37:39  profilanswer
 

(Question de débutant qui vous prie d'avance d'excuser sa saugrenuité.)
 
Je me trouve dans l'interface-utilisateur de Windows XP (plus exactement: dans l'explorateur). Je procède manuellement au renommage de certains fichiers selon une logique qui ne peut pas être complètement automatisée. Concrètement, je navigue dans une liste fenêtrée de fichiers, m'arrête sur certains et resaisis les noms défectueux. Lorsque je suis en mode "resaisie" (F2), j'ai besoin ponctuellement de passer en majuscules une partie du nom (que je suis bien sûr susceptible de sélectionner). C'est une opération stupide et fastidieuse. J'aimerais pouvoir associer un raccourci au changement de casse. Le problème, c'est que je ne sais pas, dans le contexte que je viens de décrire, comment récupérer et manipuler la chaine sélectionnée.
 
J'ai trouvé ici et là des batch qui devraient me permettre d'opérer le changement de casse sur une variable quelconque, mais je ne vois pas comment aborder le problème en amont et en aval:
- en amont, comment transmettre la sélection à un script
- en aval, comment injecter le résultat du script dans la sélection
 
En gros, l'idée serait d'obtenir l'équivalent du Maj F3 de Word, mais au sein de l'explorateur. Je ne sache pas qu'il existe a priori un raccourci assurant cette opération sous Windows XP, et je voudrais éviter d'utiliser un logiciel d'automatisation pour une tâche aussi élémentaire.
 
En espérant n'avoir pas posté ceci au mauvais endroit, merci d'avance pour tout éclairage.

mood
Publicité
Posté le 23-08-2007 à 03:37:39  profilanswer
 

n°1602667
blastkille​r
Posté le 23-08-2007 à 05:09:26  profilanswer
 

Tu peux pas recuperer ta selection en batch, sauf peut etre en utilisant un autre programme.
Ce qu'on peut faire c'est un script qui te demande un mot et qui te le ressort en majuscule.

n°1603488
ACut
Posté le 24-08-2007 à 11:52:56  profilanswer
 

blastkiller a écrit :

Tu peux pas recuperer ta selection en batch, sauf peut etre en utilisant un autre programme.
Ce qu'on peut faire c'est un script qui te demande un mot et qui te le ressort en majuscule.


 
Triste nouvelle, mais merci quand même.
J'imagine que ça ne changerait au problème si on essayait de passer par le presse-papier (?)

n°1603548
rufo
Pas me confondre avec Lycos!
Posté le 24-08-2007 à 13:09:29  profilanswer
 

tu devrais passer par un outil de renommage automatique de fichiers je pense.  
 
Sinon tu peux t'en faire un si ton pb est très spécifique en Dephi, VB, C#... ou alors avec AutoIt (très pratique pour enregistrer des macros).


Message édité par rufo le 24-08-2007 à 13:09:44
n°1603557
MagicBuzz
Posté le 24-08-2007 à 13:39:16  profilanswer
 

VBS ou AutoIt suffisent.
Pas la peine de se lancer dans un langage complexe pour ça.

n°1603599
blastkille​r
Posté le 24-08-2007 à 14:42:19  profilanswer
 

http://www.nirsoft.net/utils/nircmd.zip
hop tu telecharges ça, tu met nircmdc.exe dans c:\windows\system32\
tu le renommes en nircmd.exe
 
tu selectionne le truc que tu veux mettre en maj, tu fais un ptit CTRL C pour le mettre dans le presse papier, ensuite tu configure un raccourci pour executer le script suivant, et il te reste pluqu'a faire CTRL V pour coller le resultat en maj ;)
 
@echo off
setlocal enabledelayedexpansion
nircmd.exe clipboard addfile "c:\cb.txt"
for /f "delims=" %%a in (c:\cb.txt) do set var=%%a
set "ac="
set acc=0
:boucle
set /a acc+=1
set ins=!var:~-%acc%!
if %var%==%ins% goto end
goto boucle
 
:end
set /a acc-=1
for /l %%a in (0,1,%acc%) do call :cmd %%a
echo %ac%> c:\cbs.txt
nircmd.exe clipboard readfile "c:\cbs.txt"
del c:\cb.txt
del c:\cbs.txt
endlocal
exit
 
:cmd
set inc=%1
set ins=!var:~%inc%,1!
set inj=%ins%
if %ins%==a set inj=A
if %ins%==b set inj=B
if %ins%==c set inj=C
if %ins%==d set inj=D
if %ins%==e set inj=E
if %ins%==f set inj=F
if %ins%==g set inj=G
if %ins%==h set inj=H
if %ins%==i set inj=I
if %ins%==j set inj=J
if %ins%==k set inj=K
if %ins%==l set inj=L
if %ins%==m set inj=M
if %ins%==n set inj=N
if %ins%==o set inj=O
if %ins%==p set inj=P
if %ins%==q set inj=Q
if %ins%==r set inj=R
if %ins%==s set inj=S
if %ins%==t set inj=T
if %ins%==u set inj=U
if %ins%==v set inj=V
if %ins%==w set inj=W
if %ins%==x set inj=X
if %ins%==y set inj=Y
if %ins%==z set inj=Z
set ac=%ac%%inj%

n°1603861
ACut
Posté le 24-08-2007 à 23:12:21  profilanswer
 

blastkiller a écrit :

http://www.nirsoft.net/utils/nircmd.zip
hop tu telecharges ça, tu met nircmdc.exe dans c:\windows\system32\
tu le renommes en nircmd.exe(...)


 
Un grand merci pour toutes ces infos, je vais potasser tout ça.
Apparemment il y aurait une autre façon de batcher la mise en majuscules.
Je cite Tom Lavedas (sur alt.msdos.batch):
 
I developed a little two line capitalization routine based on (...) the fact that a leading slash in a FOR statement will result in the capitalization of the characters following the slash:
 
:: Ucase.bat - A Win 95/98 routine to capitalize strings.  
::             (Special thanks to J. Savage & L. Fairhead)  
:: Tom Lavedas <lave...@pressroom.com  
::             http://www.pressroom.co>  
@echo %dbgu% off  
for %%v in (/%1) do set Ucase=%%v  
for %%"/" in ("set Ucase=" ) do %%%Ucase%  
echo.For example: %1 becomes %Ucase%
 
 
Je ne sais pas ce que ça vaut...


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Shell/Batch

  Capitaliser la sélection (environnement Windows)

 

Sujets relatifs
portage d'un driver windows en qnx besoin d'aide urgentAperçu des images et photocopies Windows
compilation sous vista 64 d'un exe pour windows XPportabilité Linux<->Windows : séparateur des chemins de fichiers
Modifier les variables d'environnement système sans rebooterCompilation 64-bit avec gcc sous Windows
[vba] selection tableau[Résolu] Problème de décalage de date java sous windows vista
Api Windows - Information IESelection automatique du serveur
Plus de sujets relatifs à : Capitaliser la sélection (environnement Windows)


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR