DOS In Translation

Execute DOS command and return output with good character encoding

Vous suivez désormais cette soumission

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 (2026). DOS In Translation (https://fr.mathworks.com/matlabcentral/fileexchange/48088-dos-in-translation), MATLAB Central File Exchange. Extrait(e) le .

Catégories

En savoir plus sur Programming dans Help Center et MATLAB Answers

Informations générales

Compatibilité avec les versions de MATLAB

  • Compatible avec toutes les versions

Plateformes compatibles

  • Windows
  • macOS
  • Linux
Version Publié le Notes de version Action
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