Seite 1 von 1

[GELÖST] Ordner löschen in For Schleife funktioniert nicht

Verfasst: 27 Okt 2011, 10:52
von Cherry
Hallo,

ich habe folgendes Problem: Ich suche mit einer CMD-Datei alle Ordner mit dieser Zeichenfolge: {e2fda1a4-762b-4020-b5ad-a41df1933103}.
Dazu habe ich folgende Batchdatei geschrieben:

Code: Alles auswählen

rem @echo off
rem ----------------------Ligthning 1.0b7------------------
cd \
cd Program Files (x86)
dir /S /B {e2fda1a4-762b-4020-b5ad-a41df1933103} > c:\a.txt
cd \
for /f "delims== tokens=1,2" %%i in (c:\a.txt) do (
echo %%i
rmdir /S /Q "%%i"
)
Wenn ich diese unter Windows 7 oder Windows XP aufrufe, funktioniert alles einfwandfrei. Rufe ich die Datei jedoch per Opsi auf, wird der zwar gefunden und in die Datei "a.txt" geschrieben, aber nicht gelöscht. Ich habe die CMD Datei auch schon mittels "winbatch" aufgerufen. Ich habe den Inhalt der Batchdatei auch schon in das Script kopiert und dann per "dosbatch", "DosInAnIcon" ausgeführt, leider alles ohne Erfolg.

Code: Alles auswählen

[Aktionen]
Message=Installing Mozilla Ligthning 1.0b7...
SetLogLevel=7
ScriptErrorMessages=true
ExitOnError=true
TraceMode=Off
DefVar $ExtensionPath$

Set $ExtensionPath$ = "%ProgramFiles32Dir%\Mozilla Thunderbird\extensions\{e2fda1a4-762b-4020-b5ad-a41df1933103}"

;Delete old Ligthning folder
Files_delete_old

if GetMsVersionInfo >= "6"
	if GetSystemType = "64 Bit System"
	     Files_copy_cmd_win7
	     ExecWith_ligthning_win7 "%systemroot%\cmd64.exe" /C
	     Files_delete_lightning_win7
	     dosbatch_create_folder_win7
   endif
endif

if GetMsVersionInfo < "6" 
      Files_copy_cmd_xp
      winbatch_ligthning_xp
      Files_delete_lightning_xp
      dosbatch_create_folder_xp
endif 

Files_copy_lightning_xp_win7

;Delete old Ligthning folder
Files_delete_old

[Files_delete_old]
delete -sf "C:\{e2fda1a4-762b-4020-b5ad-a41df1933103}\"

[Files_copy_cmd_win7]
copy -w "%SCRIPTPATH%\delete_ligthning_win7.cmd" "C:\"

[Files_copy_cmd_xp]
copy -w "%SCRIPTPATH%\delete_ligthning_xp.cmd" "C:\"

[ExecWith_ligthning_win7]
"C:\delete_ligthning_win7.cmd"

[Files_delete_lightning_win7]
delete -f "C:\delete_ligthning_win7.cmd"
delete -f "C:\a.txt"

[winbatch_ligthning_xp]
"C:\delete_ligthning_xp.cmd"

[Files_delete_lightning_xp]
delete -f "C:\delete_ligthning_xp.cmd"
delete -f "C:\a.txt"

[dosbatch_create_folder_win7]
cd \
cd "C:\Program Files (x86)\Mozilla Thunderbird\extensions\"
mkdir "{e2fda1a4-762b-4020-b5ad-a41df1933103}"

[dosbatch_create_folder_xp]
cd \
cd "C:\Programme\Mozilla Thunderbird\extensions\"
mkdir "{e2fda1a4-762b-4020-b5ad-a41df1933103}"

[Files_copy_lightning_xp_win7]
copy -sw "%SCRIPTPATH%\{e2fda1a4-762b-4020-b5ad-a41df1933103}\*.*" "$ExtensionPath$"

Ich hoffe mir kann jemand helfen!

Re: Ordner löschen in For Schleife funktioniert nicht

Verfasst: 03 Nov 2011, 13:57
von Cherry
Hallo,

hab es nun anders gelöst. Die Suche läuft noch über die .cmd Datei, jedoch das Löschen für ich mit Stringlisten durch.

Gruß

Re: [GELÖST] Ordner löschen in For Schleife funktioniert nic

Verfasst: 03 Nov 2011, 16:06
von Thomas_H
Hi Cherry,

würdest Du uns denn an der Lösung teilhaben lassen? :)

Gruß
Thomas_H

Re: [GELÖST] Ordner löschen in For Schleife funktioniert nic

Verfasst: 13 Nov 2011, 19:55
von Cherry
ja klar gerne.
die suche läuft immer noch über die cmd datei ab. die gefunden pfade werden in eine textdatei geschrieben. die lese ich mit loadtextfile aus und speichere sie in eine stringliste. die elemente der liste werden mittels for-schleife durchlaufen und somit habe ich den ligthning installationspfad, den ich dann mit delete lösche.

schönen sonntag :)

Re: [GELÖST] Ordner löschen in For Schleife funktioniert nic

Verfasst: 15 Nov 2011, 11:50
von Thomas_H
So einfach. Wäre ich nicht drauf gekommen. Aber eigentlich nachvollziehbar.

Danköööö... :)

Gruß Thomas_H

Re: [GELÖST] Ordner löschen in For Schleife funktioniert nic

Verfasst: 15 Nov 2011, 13:34
von Cherry
Bitte, gern :)