# cmd batch sort Befehl



## ngedigk (17. Oktober 2013)

Hallo zusammen,


ich hoffe, ich befinde mich im richtigen Bereich mit meiner Frage:


Im Grunde geht es um eine einfache Batch-Anweisung.

Diese hier:

```
echo.|set /p ="Name der csv-Datei: "
set /p Name=""
sort !Name!.csv >> !Name!_sortiert.csv
```
Wenn ich nur die einzelne sort-Befehlszeile mit fixen Werten direkt über die Windows 7 Eingabeaufforderung starte funktioniert das wunderbar.

Wenn ich nun allerdings diesen "Code"-Schnipsel innerhalb einer batch-Datei einbaue bekomme ich diese Fehlermeldung:

```
Der Befehl "sort" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.
```
Warum ist das so?

Übrigens: Beim Syntax-Highlighting in notepad++ wird der Befehl "sort" auch nicht erkannt.

Vielen Dank,
ngedigk


----------



## vfl_freak (17. Oktober 2013)

Moin,

möglicherweise stört ihn die Dateiumlenkung.
Dafür gibt es wohl auch Parameter:
http://www.ecodes.de/hrtlinks/CMDBef-43.html

Gruß
Klaus


----------



## ngedigk (17. Oktober 2013)

Auch ohne Dateiumlenkung habe ich dieses Problem.
Geht dabei ja auch nur darum, ob ich eine Ausgabe auf dem Monitor oder in einer Datei wünsche.

Die Parameter erfahre ich ja auch mit diesen beiden Anweisungen:

```
help sort
```


```
sort /?
```
Bzgl Parameter: was sollen Parameter an einem Befehl, der gar nicht erkannt wird?

Die im Link angeführte Variante funktioniert auch nicht:

```
type c:\test.txt | sort
```

*Wie gesagt, als direkter Befehl in der CMD ist alles perfekt. Es geht nur als batch-Datei nicht.*

Und diese beiden Zeilen bewirken dasgleiche:

```
sort test.txt /o test_sortiert.txt
```


```
sort test.txt >> test_sortiert.txt
```


----------

