Ausgabe von MKLINK / J unterdrücken?

647
Justin Thomas

Ich suche nach einer Batch-Datei, in der die mklinkAusgabe unterdrückt wird. Ich möchte nicht, dass der Benutzer den Pfad sieht.

Ich konnte das mit > nulund machen robocopy.

mklink /J "newpath" "originalpath" 

So sieht der Beispielcode aus.

Ich habe grundsätzlich eine Schnittstelle, über die Benutzer Batch-Dateien ausführen können, aber sie sollten den Quellcode nicht sehen. Sie sollten nur auf ein Symbol klicken und die Datei ausführen können. Es erstellt über 40 symbolische Links mit einem Klick auf das Symbol. Wenn einige der Links vorhanden sind, wird eine Warnung angezeigt

Eine Datei kann nicht erstellt werden, wenn diese Datei bereits vorhanden ist.

Gibt es eine Möglichkeit, diese Benachrichtigung zu unterdrücken und die Warnungen auszublenden?

1
Wie wäre es mit "2> nul"? PetSerAl vor 7 Jahren 3
Falls das, was ich zur Verfügung gestellt habe, hilfreich war, möchte ich Sie an [Accepting An Answer] erinnern (https://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work). Pimp Juice IT vor 7 Jahren 0

1 Antwort auf die Frage

1
Pimp Juice IT

Ich suche nach einer Batch-Datei, in der die mlink-Ausgabe unterdrückt wird. Ich möchte nicht, dass der Benutzer den Pfad sieht. Gibt es überhaupt eine Möglichkeit, diese Warnung zu unterdrücken und die Warnungen auszublenden?

Es gibt absolut einige einfache Dinge, die helfen werden (verwenden Sie alle oder beliebige Kombinationen, falls erforderlich):

  1. Verwenden Sie ECHO und stellen Sie sicher, dass @ECHO OFFmindestens in der Zeile über dem MKLinkBefehl festgelegt ist
  2. Verwenden Sie EXIST, um sicherzustellen, dass IF NOT EXIST "newpath"der mklink /J "newpath" "originalpath"Befehl in derselben Zeile vor dem Befehl steht.
  3. Verwenden Sie die Umleitung ordnungsgemäß, um den mklink /J "newpath" "originalpath"Befehl > NULso umzuleiten, wie Sie ihn früher verwendet haben.
  4. Verwenden Sie CLS direkt in der nächsten Zeile nach dem mklink /J "newpath" "originalpath" > NULBefehl, um den Bildschirm und alle Ausgaben des zuvor ausgeführten Befehls zu löschen.
  5. Verwenden Sie EXIT direkt in der nächsten Zeile nach dem mklink /J "newpath" "originalpath" > NULBefehl (oder danach CLS).

Im Wesentlichen heißt dies, dass nur die Befehlsausgabe auf dem Bildschirm angezeigt wird. Führen Sie den MKLinkBefehl nur dann aus "newpath", wenn der Befehl NICHT bereits vorhanden ist. Wenn "newpath"der MKLinkBefehl nicht vorhanden ist, leiten Sie den Befehl so um nul, dass er nicht auf dem Bildschirm angezeigt wird. Löschen Sie anschließend den Bildschirm MKLinkBefehl (unabhängig davon, ob es ausgeführt wird oder nicht), und beenden Sie sofort das Befehlsfenster.

Batch-Skript

@ECHO OFF IF NOT EXIST "newpath" MKLINK /J "newpath" "originalpath" > NUL CLS EXIT 

Weitere Ressourcen