Frage zu Batchdatei:

01/21/2010 14:07 Alisami#1
Code:
@echo off
set /p EINGABE=Bitte Dateipfad eingeben (Bild in dieses Fenster ziehen) und Enter. 

IF "%EINGABE%" == "*.bmp*" GOTO BMP
IF NOT "%EINGABE%" == "*.bmp*" GOTO ENDE


:BMP
REG ADD "HKCU\Control Panel\Desktop" /V Wallpaper /T REG_SZ /D  %EINGABE%
%SystemRoot%\System32\RUNDLL32.EXE user32.dll, UpdatePerUserSystemParameters
echo Abgeschlossen!
pause
exit

:ENDE
echo Datei ist entweder keine BMP Datei oder beschaedigt.
pause
exit
Ich will dass die Datei die ins Fenster gezogen wird überprüft wird. Wenn es eine BMP Datei ist soll sie als hintergrund eingestellt werden, ansonsten eine Fehlermeldung erscheinen.
01/21/2010 18:12 Mark-#2
soweit ich weis gibs if not nicht..
Code:
@echo off
set /p EINGABE=Bitte Dateipfad eingeben (Bild in dieses Fenster ziehen) und Enter. 

IF "%EINGABE%" == "*.bmp*" GOTO BMP
GOTO ENDE


:BMP
REG ADD "HKCU\Control Panel\Desktop" /V Wallpaper /T REG_SZ /D  %EINGABE%
%SystemRoot%\System32\RUNDLL32.EXE user32.dll, UpdatePerUserSystemParameters
echo Abgeschlossen!
pause
exit

:ENDE
echo Datei ist entweder keine BMP Datei oder beschaedigt.
pause
exit
wenn das so ist dann geht er zu ende wenn die obere if bedingung nicht erfüllt wurde.

dazu kommt noch "pause" is unpraktisch in batch aber mit ping localhost sollte auch das gehen is halt zeitlich und nicht warten bis geklickt wird!

Code:
@echo off
set /p EINGABE=Bitte Dateipfad eingeben (Bild in dieses Fenster ziehen) und Enter. 

IF "%EINGABE%" == "*.bmp*" GOTO BMP
GOTO ENDE


:BMP
REG ADD "HKCU\Control Panel\Desktop" /V Wallpaper /T REG_SZ /D  %EINGABE%
%SystemRoot%\System32\RUNDLL32.EXE user32.dll, UpdatePerUserSystemParameters
echo Abgeschlossen!
ping localhost>nul -n 2
exit

:ENDE
echo Datei ist entweder keine BMP Datei oder beschaedigt.
ping localhost>nul -n 2
exit
wenn das so immernoch nicht geht liegt das daran das die abfrage zur bmp datei falsch ist!
01/21/2010 19:43 Alisami#3
Nein geht nicht und die IF Funktion gibt es :O
01/21/2010 20:56 x]vIrus[x#4
ohne jetzt das groß anzuschauen, try this: right-click -> run as administrator, bzw -> eigenschaften -> kompatibilität -> als admin anhaken
01/21/2010 21:08 Alisami#5
Du ich bin admin, hab KEIN doofes Vista und daran liegt das garantiert nicht :/
01/22/2010 07:07 x]vIrus[x#6
ganz ruig bleiben oida

versuchs ma damit:

Code:
@echo off
set /p EINGABE=Bitte Dateipfad eingeben (Bild in dieses Fenster ziehen) und Enter. 
set bla=%EINGABE:~-4%
IF "%bla%" == ".bmp" GOTO BMP
GOTO ENDE


:BMP
REG ADD "HKCU\Control Panel\Desktop" /V Wallpaper /T REG_SZ /D  %EINGABE%
%SystemRoot%\System32\RUNDLL32.EXE user32.dll, UpdatePerUserSystemParameters

echo Abgeschlossen!
pause
exit

:ENDE
echo Datei ist entweder keine BMP Datei oder beschaedigt.
pause
exit
batch kann keine wildcards
01/22/2010 13:40 Alisami#7
Danke schonmal das geht. Nun gibt es noch ein Problem: Ich muss den Dateinamen DIREKT eingeben. d.h. bild.bmp, ansonten kommt Syntaxfehler. und die batchdatei schließt sich.

Eventuell liegt es daran dass beim reinziehen die " um den pfad gelegt werden, was kann man da tun? Es sollte benutzerfreundlich sein :)
01/22/2010 17:36 Mark-#8
die " weglassen schommal probiert?^^
01/22/2010 19:01 x]vIrus[x#9
wenns datan liegt, dann kannst du sie auch einfach mit substring rausschneiden!

google batch substring