NEU Batchdatei - Rename - Syntaxfehler

Hi,
ich gehe davon aus dass der Syntaxfehler bei der 1. Zeile:
for /l %%i in (1, 1, 999) do call mv1.bat %1 %%i%
kommt, denn hier habe ich absichtlich mv1.bat geschrieben anstatt
mv.bat und da kommt schon die Fehlermeldung.
Grüße von Klaus

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hi,

ich versuch mich mal wieder daran. Ich muss erwähnen, dass meine Suche mich über die unmöglichsten Verzweigungen geführt haben. Zu einem bestimmten Zeitpunkt wollte ich dir eine Zip-Datei mit verschiedenen dlls von cygwin zukommen lassen, damit „grep“ auch funktioniert. Letztendlich ist meine Lösung relativ einfach:

@echo off
for %%i in (0,1,2,3,4,5,6,7,8,9) do (
for %%k in (0,1,2,3,4,5,6,7,8,9) do (
if not exist "%2\%1.%%i%%k%" (
set counter=%%i%%k%
goto DOSET
)
))
goto end

 :smiley:OSET
set neuername="%1.%counter%"
copy %1 %2\\%neuername%
echo "Datei in %2\%neuername% gespeichert."

 :end

Aufruf:
mycopy.bat textdatei verzeichnis

Hoffe, sie gefällt :wink: Zur Zeit kann sie nur Dateien von „00“ bis „99“ durchnummerieren, sollte sie mehr können sollen, dann musst du einfach eine zusätzlich for-Schleife einbauen…

Gruss, Omar Abo-Namous

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hi,
Vielen Dank!Habe gleich eine Batch gemacht. Und beim Aufruf kommen 21 Zeilen mit:
„Befehl oder Dateiname nicht gefunden“. Danach muß ich das Fenster von außen schließen, weils in der Batch Probleme gibt.
Win98Se versteht for /i nicht. Das hatte auch schon er freundliche Helfer Sancho festgestellt.
Gruß Klaus

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Homer

Aufruf:
mycopy.bat textdatei verzeichnis

Hättest Du das ganze „ohne“ den „verzeichnis“-Namen
konzipiert, ich glaube, bei Klaus hätte es tat-
sächlich funktioniert …

CMБ

PS.: http://www.guardian.co.uk/international/story/0,3604…

Hallo CMБ,

ich habe das sowieso ohne „Verzeichnis“ gemacht, denn da bin ich ja drin, wenn ich die BAT aufrufe. Schönen Dank für die Aufmerksamkeit.
Gruß Klaus

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo klaus

ich habe das sowieso ohne „Verzeichnis“ gemacht, denn da bin
ich ja drin, wenn ich die BAT aufrufe. Schönen Dank für die

Eben. Das habe ich erraten :wink: Und daher
scheitert die Zeile

 if not exist "%2\%1.%%i%%k%"

weil bei fehlendem Verzeichnis
deinem Dateinamen ein ** vorangestellt wird.

Teste mal bitte, ob es geht, wenn Du die Batch mit
einem „verzeichnisnamen“ . (Punkt) als zweiten
Parameter aufrufst.

Grüße

CMБ

Moinmoin,

ohne Verzeichnisangabe muss das Programm so aussehen:

@echo off
for %%i in (0,1,2,3,4,5,6,7,8,9) do (
for %%k in (0,1,2,3,4,5,6,7,8,9) do (
if not exist ".\\%1.%%i%%k%" (
set counter=%%i%%k%
goto DOSET
)
))
goto end

 :smiley:OSET
set neuername="%1.%counter%"
copy %1 .\\%neuername%
echo "Datei in .\\%neuername% gespeichert."

 :end

Wenn es immer noch Probleme gibt, dann würde ich dich bitten, die erste Zeile „@echo off“ rauszunehmen und noch einmal auszuführen. Die Fehlermeldung sollte ein wenig besser erkennbar sein…

Gruss, Omar Abo-Namous

(off)
Hi,

PS.:
http://www.guardian.co.uk/international/story/0,3604…

Es kommt immer darauf an, wie gut übersetzt wurde und ob die Stimmen sympathisch sind (das kennt man ja auch aus deutschen Übersetzungen) usw… Ich persönlich mag die Simpsons überhaupt nicht - zuviel Lachen um des Lachens Willen!

Gruss, Omar Abo-Namous

Hallo,
habe jetzt mal überall PAUSE eingebaut, damit ich sehen kann, wo Fehler auftreten.

Zeile 1 (for)mehrmals "Befehl oder Dateiname nicht gefunden
Zeile if not exist " " " " "
" set counter ok also ohne Fehlermeldung
" goto Doset "
" neuername "
" copy Pfad nich gefunden
habe alle möglichen Varianten von Verzeichnis mit/ohne Laufwerk
Verzeichnis vor/nach Dateiname probiert. Aber wenn schon die erste Zeile nicht erkannt wird, dann hat das doch keinen Zweck.
Gruß Klaus

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hi klaus,

kannst du bitte die Ausgabe hier hineinkopieren?

Gruss, Omar Abo-Namous

Hi Omar Abo-Namous
Eingabe test.bat fax

C:\3\TEST1>(
Befehl oder Dateiname nicht gefunden.

C:\3\TEST1>(
Befehl oder Dateiname nicht gefunden.

C:\3\TEST1>if not exist „.\fax.%i%k“ (
Befehl oder Dateiname nicht gefunden.

C:\3\TEST1>set counter=%i%k

C:\3\TEST1>goto DOSET

C:\3\TEST1>set neuername=„fax.%i%k“

C:\3\TEST1>copy fax .\„fax.%i%k“
Pfad nicht gefunden

C:\3\TEST1>echo „Datei in .\„fax.%i%k“ gespeichert.“
„Datei in .\„fax.%i%k“ gespeichert.“

____
Eingabe test.bat 3\test1\fax

Befehl oder Dateiname nicht gefunden.

C:\3\TEST1>(
Befehl oder Dateiname nicht gefunden.

C:\3\TEST1>if not exist „.\3\test1\fax.%i%k“ (
Befehl oder Dateiname nicht gefunden.

C:\3\TEST1>set counter=%i%k

C:\3\TEST1>goto DOSET

C:\3\TEST1>set neuername=„3\test1\fax.%i%k“

C:\3\TEST1>copy 3\test1\fax .\„3\test1\fax.%i%k“
Datei nicht gefunden - 3\test1\fax
0 Datei(en) kopiert

C:\3\TEST1>echo „Datei in .\„3\test1\fax.%i%k“ gespeichert.“
„Datei in .\„3\test1\fax.%i%k“ gespeichert.“

C:\3\TEST1>

Gruß Klaus

Hi klaus,

kannst du bitte die Ausgabe hier hineinkopieren?

Gruss, Omar Abo-Namous

Hi,

ok, ich muss nun zugeben, dass ich im Dunkeln tappe, denn mir ist nicht klar, woran der Fehler liegt. Kannst du bitte folgendes ausprobieren:

for %%i in (0,1,2,3,4,5,6,7,8,9) do (
if not exist ".\\%1.%%i%" set counter=%%i%
if not exist ".\\%1.%%i%" goto DOSET))
goto end

 :smiley:OSET
set neuername="%1.%counter%"
copy %1 .\\%neuername%
echo "Datei in .\\%neuername% gespeichert."

 :end

Gruss, Omar Abo-Namous

D a n k e an alle Helfer
Hi,
nein auch diesmal klappte es nicht. Macht nichts. Es hat mich trotzdem gefreut, dass viele Helfer bereit waren, einem Anfänger zu helfen.
Schönes Wochenende.
Gruß von
Klaus

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo klaus,

nach aller Aufregung würe es mich interessieren,
ob es mit Perl geklappt hätte.

Falls Du mal eine Mußestunde Zeit hast … :wink:

Grüße

CmБ