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
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
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 … 
Grüße
CmБ