DOS In Translation

Execute DOS command and return output with good character encoding
292 téléchargements
Mise à jour 11 déc. 2014

Afficher la licence

On systems with some language settings, the dos function doesn't encode properly the output string. For example, the accentued characters are misinterpreted with french settings. dosWithCharEncod mimics the dos function but returns the output string with the good character encoding.
Example :
>> command = ['tree "' fullfile(matlabroot, 'bin') '"'];
>> [status, cmdout] = dos(command, '-echo');
Structure du dossier
Le num‚ro de s‚rie du volume est D0DB-13B6
C:\MATLAB\R2014A\BIN
ÃÄÄÄm3iregistry
ÃÄÄÄregistry
ÃÄÄÄutil
³ ÀÄÄÄmex
ÀÄÄÄwin64
ÃÄÄÄaccessible
ÃÄÄÄcodecs
ÃÄÄÄgraphicssystems
ÃÄÄÄiconengines
ÃÄÄÄimageformats
ÃÄÄÄmexopts
³ ÀÄÄÄcompilerComponents
ÃÄÄÄosgPlugins-3.0.1
ÀÄÄÄvc90
>> [status, cmdout] = dosWithCharEncod(command, '-echo');
Structure du dossier
Le numéro de série du volume est D0DB-13B6
C:\MATLAB\R2014A\BIN
├───m3iregistry
├───registry
├───util
│ └───mex
└───win64
├───accessible
├───codecs
├───graphicssystems
├───iconengines
├───imageformats
├───mexopts
│ └───compilerComponents
├───osgPlugins-3.0.1
└───vc90

dosWithCharEncod is inspired by the solutions given in:
- http://www.mathworks.de/matlabcentral/newsreader/view_thread/238995
- http://www.mathworks.com/matlabcentral/answers/112639-matlab-recognise-french-character#answer_128355

Citation pour cette source

Jerome Briot (2024). DOS In Translation (https://www.mathworks.com/matlabcentral/fileexchange/48088-dos-in-translation), MATLAB Central File Exchange. Extrait(e) le .

Compatibilité avec les versions de MATLAB
Créé avec R2014a
Compatible avec toutes les versions
Plateformes compatibles
Windows macOS Linux
Catégories
En savoir plus sur Programming dans Help Center et MATLAB Answers

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Publié le Notes de version
1.7.0.0

'-echo' behavior corrected (as suggested by Mikhail)

1.6.0.0

Use a try-catch block as suggested by Mikhail

1.5.0.0

Check if "command" is a string (see last comments from Mikhail)

1.4.0.0

Internal variable "echo" renamed (conflict with builtin function)

1.3.0.0

'"' added in the command line example.

1.2.0.0

Add feature('locale') - See Mikhail comment above
Keep getCurrentCodePage() subfunction for backward compatibility (field terminalEncoding doesn't exist with MATLAB R2008b)

1.1.0.0

- missing subfunction added

1.0.0.0