Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Syntexfehler bei Abfrage - Pfad der rars falsch

Frage Entwicklung Batch & Shell

Mitglied: Loip104

Loip104 (Level 1) - Jetzt verbinden

15.03.2011 um 16:06 Uhr, 2294 Aufrufe, 1 Kommentar

Hy ich habe in einem anderen Thread bereits ein ähnliches //bzw das selbe script erfragt/hilfebekommen.
Nun wollte ichdas ganze etwas Flxibler gestalten und die Parameter von hand eingeben lassen

Dies Funktioniert soweit auchganzgut.
Nur bekomme ich einen syntexfehler
Dessen ursache mir nicht ganz klar ist

Momentan tuht es :

Vorher

C:\xvid\Ordnerabc\Datein
C:\xvid\Ordnerbc\Datein
C:\xvid\Ordnerac\Datein

Nacher

C:\xvid\Ordnerabc\"leer"
C:\xvid\Ordnerbc\"leer"
C:\xvid\Ordnerac\"leer"
C:\xvid\keinName.rar
C:\xvid\KeinName.rar
C:\xvid\KeinName.rar


Soll aber:

Vorher

C:\xvid\Ordnerabc\Datein
C:\xvid\Ordnerbc\Datein
C:\xvid\Ordnerac\Datein

Nacher

C:\xvid\Ordnerabc\Ordnerabc.rar
C:\xvid\Ordnerbc\Ordnerbc.rar
C:\xvid\Ordnerac\Ordnerac.rar



Meine Batch sieht momentan so aus:

@echo ON
echo .....
echo .....
echo Bitte Pfad eingeben
echo Beispiel :"D:\xvid"

set /p Basis=Bitte Pfad Eingeben :
set "Ziel=%Basis%"
echo .....
echo .....
echo .....
echo a = 101mb
echo b = 251mb
echo c = 501mb
echo d = 1024mb(1gb)
echo e = 2048mb(2GB)

set /p wahl1= a bis e:
if %wahl1%==a set "%Grose%=103424"
if %wahl1%==b set "%Grose%=257024"
if %wahl1%==c set "%Grose%=513024"
if %wahl1%==d set "%Grose%=1048576"
if %wahl1%==e set "%Grose%=2097152"
echo .....
echo .....
echo .....


set "Prog=d:\rar.exe"
set /p wahl2=Files nach packen löschen 1=ja / 2=nein:
if %wahl2%==1 set "%par1%= -df"
if %wahl2%==2 set "%par1%= "
set "Prog=d:\rar.exe"

for /d %%i in ("%Basis%\*.*") do (


"%Prog%" a -r%par1% -ag-H-M-S -v%Grose%k -m0 "%Ziel%\%%~nxi\%%~nxi" "%%i\*.*"

)

PAUSE




den Syntexfehler bekomme ich hier
http://s7.directupload.net/images/110315/u57bsgoe.png

Hoffe ihr könnt mir helfen
Thx schon mal an alle

MFG
Mitglied: mathe172
15.03.2011 um 17:12 Uhr
Hallo,

Schau mal das hier an: http://www.administrator.de/helpsystem/detail.php?idx=20#toc28. So bekommst du mehr Antworten und man kanns besser lesen...
Bei if-Abfragen macht man in Batchi IMMER (bei Stringvergleichen) ein Zeichen jeweils vor die zu vergleichenden Sachen
Also:
01.
If "%String1%"=="%String2%" echo.OK 
02.
::Oder 
03.
If "%String1%"=="Text" echo.OK 
04.
::Oder 
05.
If Test%String1%==TestText echo.OK
Wichtig ist nur, dass auf beiden Seiten des == etwas steht, auch wenn die Variable leer ist.

Das 2.:
01.
set "%par1%=Test"
Das setzt die Variable mit dem Namen der dem Inhalt von %par1% entspricht-in deinem Fall "" (nichts)-->Die % in set-Anweisungen fast nie benutzen
Beispiel:
01.
set "Var=Text1" 
02.
set "%Var%=Text2" 
03.
echo %Var% 
04.
::Die zweite Variable heisst Text1 
05.
echo %Text1%
Mathe172
PS.: Gib mal das in der Dos-Box ein:
(echo.oe:ö 
echo.ae:ä 
echo.ue:ü 
echo.Und mehr)>>Desktop\Sonderzeichen.txt
Bitte warten ..
Neuester Wissensbeitrag
Microsoft Office

MS Office Excel - Formel wird angezeigt, aber nicht berechneter Wert!

Tipp von holli.zimmi zum Thema Microsoft Office ...

Heiß diskutierte Inhalte
Windows Server
gelöst Rechte als Admin vergeben - Zugriff verweigert (14)

Frage von Ghost108 zum Thema Windows Server ...

Hyper-V
Reiner Hyper- V Server oder lieber Rolle (13)

Frage von Winuser zum Thema Hyper-V ...

Router & Routing
gelöst IP Kamera für drei unabhängige Netzwerke (12)

Frage von ProfessorZ zum Thema Router & Routing ...