Willkommen |
|
myGully |
|
Links |
|
Forum |
|
|
|
 |
08.03.13, 22:25
|
#1
|
Anfänger
Registriert seit: Mar 2010
Beiträge: 27
Bedankt: 7
|
[Batch] Prüfen ob Verknüpfung vorliegt
Hi,
ich hoffe ihr könnt mir helfen. Nach langer suche im Inet hab ich zwar auch schon einige Lösungsansätze gefunden, leider kam ich damit nicht zurecht - ist meine erste batch datei.
Zur Vorgeschichte, damit Ihr wisst worum es geht - Alle die es nicht interessiert, ab hier ignorieren und unten beim nächsten Absatz weiterlesen. Es geht darum das ich alle Savegames auf einer 2 Festplatte sammeln möchte, sodass wenn ich das System neu aufsetze, ich nicht erst alle Savegames zusammen suchen muss und später wieder einfügen muss. Sprich die eigentlichen Savegames liegen bei mir auf G und dort wo normal der speicherpfad auf c ist, habe ich eine Verknüpfung via mklink eingefügt. Wenn ich nun aber mein System neu aufsetze, muss ich aber jedes mal wieder die Verlinkung neu setzen. Da bei (Aktuell) 80 links es etwas ermüdend ist, dies via Hand zu machen, will ich dies mit einer Batch datei machen. Im großen und ganzen funktioniert auch schon alles. Die Datei prüft ob das Verzeichnis schon existiert, wenn ja wird es umbenannt und dann erst die Verlinkung eingefügt. Das Problem ist, wenn ich die batchdatei ein zweitesmal ausführe, benennt er die schon vorhandene Verknüpfung wieder um und erstellt eine neue, da 'if exist', nicht unterscheidet ob es eine Verknüpfung ist oder ein Verzeichnis.
Lange rede, gar kein sinn: Wie kann ich mit einer batch datei Prüfen ob es sich bei einem Ordner (z.B. C:\Users\%USER%\Documents\My Games\Darksiders) noch um ein Ordner handelt oder es schon eine Verknüpfung ist?
Vielen Dank an jeden der sich Zeit nimmt!
Gruß Breitling
|
|
|
08.03.13, 22:43
|
#2
|
Mitglied
Registriert seit: Jul 2012
Beiträge: 382
Bedankt: 72
|
Teste mal
Code:
if exist "C:\Users\%USER%\Documents\My Games\Darksiders\" echo Ordner
|
|
|
09.03.13, 01:11
|
#3
|
Anfänger
Registriert seit: Mar 2010
Beiträge: 27
Bedankt: 7
|
Zitat:
Zitat von fryx
Teste mal
Code:
if exist "C:\Users\%USER%\Documents\My Games\Darksiders\" echo Ordner
|
Hey,
immernoch das selbe, er gibt mir bei allen abfragen 'Ordner' aus, also das 'if exist' macht leider kein unterschied zwischen Ordnern und Verknüpfungen.
Gruß Breitling
|
|
|
09.03.13, 07:52
|
#4
|
Mitglied
Registriert seit: Jul 2012
Beiträge: 382
Bedankt: 72
|
|
|
|
09.03.13, 21:02
|
#5
|
Rentner
Registriert seit: May 2012
Beiträge: 39
Bedankt: 808
|
Kannst du so machen:
Code:
@echo off &setlocal
set "test=C:\Users\%%USER%%\Documents\My Games\Darksiders"
for /d %%i in ("%test%") do set "#=%%~ai"
if not defined # echo.%test% nicht gefunden.&goto :eof
<nul set /p"=%test% ist ein "
if "%#:~0,1%"=="d" if "%#:~8,1%"=="l" (echo.Link.) else (echo.Ordner.) else echo File.
endlocal
|
|
|
11.03.13, 21:40
|
#6
|
Anfänger
Registriert seit: Mar 2010
Beiträge: 27
Bedankt: 7
|
Zitat:
Zitat von Kravtwerk
Kannst du so machen:
Code:
@echo off &setlocal
set "test=C:\Users\%%USER%%\Documents\My Games\Darksiders"
for /d %%i in ("%test%") do set "#=%%~ai"
if not defined # echo.%test% nicht gefunden.&goto :eof
<nul set /p"=%test% ist ein "
if "%#:~0,1%"=="d" if "%#:~8,1%"=="l" (echo.Link.) else (echo.Ordner.) else echo File.
endlocal
|
DANKE! Ich versuche immernoch zu verstehen wie es funktioniert, aber es funktioniert!
Danke!
LG Breitling
|
|
|
Forumregeln
|
Du kannst keine neue Themen eröffnen
Du kannst keine Antworten verfassen
Du kannst keine Anhänge posten
Du kannst nicht deine Beiträge editieren
HTML-Code ist Aus.
|
|
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:55 Uhr.
().
|