o0julia0o
Goto Top

Dateiendung Temporär umbenennen mit vbs (ohne Pfadangabe)

hallo face-smile

ich kenne mich ein wenig mit Batch-Dateien aus, aber nicht mit VBS. Ich möchte aber mit VBS eine Datei temporär umbenennen ohne absolute Pfadangabe(und am besten ohne Hilfsdatei). Also relativ zur vbs-Datei.

Ordner\Umbenenn.vbs
Odrner\Datei.txt

Wenn ich die Umbenenn.vbs starte, soll wenn die Datei.txt vorhanden ist, diese in Datei.sic umbenannt werden. 2 Bedingungen sollten gelten:
1. Wenn die Datei.txt nicht vorhanden ist, soll nichts gemacht werden
2. Wenn die Datei.sic schon vorhanden ist, braucht auch nix gemacht zu werden

In einer 2. VBS(Rueck.vbs) soll dann quasie das Gegenteil geschehen, aber nur fast:
Wenn die Datei.sic vorhanden ist, soll sie in Datei.txt umbenannt werden. 1 Bedingung soll gelten:
1. wenn die Datei.txt bereits vorhanden ist, soll die Datei.sic gelöscht werden

Man sieht doch dann kein Fenster mit Informationen, ob das geschen ist oder nicht? Das soll nämlich auch nicht sein, sondern alles unsichtbar ohne Nachfragen ablaufen ohne zu stören.

Hier habe ich etwas ähnliches gefunden:
....do ( if not "%%i" == "%ORDNER1%" if not "%%i" == "%ORDNER2%" if not "%%i" == "%ORDNER3%" if not "%%i" == "%ORDNER4%" if not "%%i" == "%ORDNER5%" echo "%%i">>%%1_loschen.txt )) & (FOR /F "delims=\" %%l in (%%1_loschen.txt) do rd ...  
Quelle: Dateien / Verzeichnisse löschen, außer...
Kann ich statt "%Ordner1%" auch einen relativen Pfad eintragen? Von der VBS-Datei ausgehend z.B.:
VBS-Ordner\Umbenenn.vbs
VBS-Ordner\Unterordner1\Ordnerbleib
VBS-Ordner\Unterordner1\Ordnerbleib2
VBS-Ordner\Unterordner1\Ordnerloesch
VBS-Ordner\Unterordner1\Dateiloesch.zip

....do ( if not "%%i" == "%\Unterordner\Ordnerbleib%" if not "%%i" == "%\Unterordner\Ordnerbleib2%" "%%i" echo "%%i">>%%1_loschen.txt )) & (FOR /F "delims=\" %%l in (%%1_loschen.txt) do rd ...  
Werden dann "VBS-Ordner\Unterordner1\Ordnerloesch" & "VBS-Ordner\Unterordner1\Dateiloesch.zip" gelöscht & die beiden anderen Ordner bleiben bestehen? So soll es jedenfalls sein.

herzlichen Dank

Julia

Content-ID: 263456

Url: https://administrator.de/contentid/263456

Ausgedruckt am: 22.11.2024 um 14:11 Uhr

rubberman
Lösung rubberman 15.02.2015 aktualisiert um 05:05:10 Uhr
Goto Top
Hallo Julia,

sollte etwa so aussehen:

Umbenenn.vbs
Option Explicit

Const strOriginFile = "Datei.txt"  
Const strBackupFile = "Datei.sic"  

Dim objFSO

Set objFSO = CreateObject("Scripting.FileSystemObject")  
If objFSO.FileExists(strOriginFile) Then objFSO.MoveFile strOriginFile, strBackupFile

Rueck.vbs
Option Explicit

Const strOriginFile = "Datei.txt"  
Const strBackupFile = "Datei.sic"  

Dim objFSO

Set objFSO = CreateObject("Scripting.FileSystemObject")  
If objFSO.FileExists(strBackupFile) Then
  If objFSO.FileExists(strOriginFile) Then
    objFSO.DeleteFile strBackupFile
  Else
    objFSO.MoveFile strBackupFile, strOriginFile
  End If
End If

Grüße
rubberman
o0Julia0o
o0Julia0o 18.02.2015 um 23:54:18 Uhr
Goto Top
wow - super. Dankeschön!