IP-Adresse anstatt Rechnername ins Clipboard

German support forum

Moderators: white, Hacker, Stefan2

User avatar
HolgerK
Power Member
Power Member
Posts: 5406
Joined: 2006-01-26, 22:15 UTC
Location: Europe, Aachen

Post by *HolgerK »

matixx wrote:Dieses Problem würde doch dann auch auf einem echtem Netzwerkpfad bestehen. Da liefert copynetnamestoclip aber den Netzpfad.
Auf dem entfernten Rechner gibt aber auch nur genau einen UNC Path der dem gemountetem Laufwerksbuchstaben zugeordnet ist.

Gruss
Holger
User avatar
HolgerK
Power Member
Power Member
Posts: 5406
Joined: 2006-01-26, 22:15 UTC
Location: Europe, Aachen

Post by *HolgerK »

gogis wrote:Das heißt, ich möchte z.B. von meinem lokalen PC den Netzwerknamen mit vorangestellter IP Adresse ermitteln um diesen z.B. in einem Testscript eines entfernten PC in derselben Sitzung zu verwenden.
Da müsstest du als allererstes die lokale IP-Adresse ermitteln (btw. bei mehreren Netzwerkadaptern sind das mehrere Unterschiedliche).
siehe: http://stackoverflow.com/questions/5898763/how-do-i-get-the-ip-address-into-a-batch-file-variable
-> Batchdatei im Logonscript vor dem Aufruf starten des TC

Code: Select all

@echo off
set ip_address_string="IP Address"
rem Uncomment the following line when using Windows 7 (with removing "rem")!
set ip_address_string="IPv4 Address"
echo Network Connection Test
for /f "usebackq tokens=2 delims=:" %%f in (`ipconfig ^| findstr /c:%ip_address_string%`) do set MyIP=%%f
rem Remove leading spaces:
for /f "tokens=* delims= " %%a in ("%MyIP%") do set MyIP=%%a
würde eine Umgebungsvariable MyIP erzeugen, die man im Weiteren benutzen kann.

Es gibt ein nettes Addon von Lefteous mit dem man z.B. Listendateien ins Clipboard übernehmen kann und dabei gleichzeitig Ersetzungen durchgeführt werden können: http://totalcmd.net/plugring/list2clip.html

Dazu eine Button oder eine em_cmd eingerichtet mit:

Code: Select all

TOTALCMD#BAR#DATA
%Commander_Path%\Addons\Lst2Clip\Lst2Clip.exe /R:"C:"="\\%MyIP%\C$" /R:"D:"="\\%MyIP%\D$"
/L:"%L"
%Commander_Path%\Addons\Lst2Clip\Lst2Clip.exe
admin share path mit IP
%Commander_Path%\Addons\Lst2Clip\

-1
würde dann die lokalen Laufwerksbuchstaben durch IP-Adresse + Adminshare ersetzen (bei zusätzlichen Laufwerken entsprechend erweitern).

Gruss
Holger
gogis
Junior Member
Junior Member
Posts: 39
Joined: 2013-07-12, 07:45 UTC

Post by *gogis »

Hi Holger,
keine Ahnung, was mache ich falsch?
Mein OS: Windows 2008 R2

Was meinst Du hiermit: "Batchdatei im Logonscript vor dem Aufruf starten des TC"?

Ich habe mir folgende Batch-Datei geschrieben:

Code: Select all

[tc.bat]
@echo off 
rem set ip_address_string="IP Address" 
rem Uncomment the following line when using Windows 7 (with removing "rem")! 
set ip_address_string="IPv4 Address" 
echo Network Connection Test 
for /f "usebackq tokens=2 delims=:" %%f in (`ipconfig ^| findstr /c:%ip_address_string%`) do set MyIP=%%f 
rem Remove leading spaces: 
for /f "tokens=* delims= " %%a in ("%MyIP%") do set MyIP=%%a
"c:\Program Files (x86)\totalcmd\TOTALCMD.EXE"
und auch diese probiert:

Code: Select all

[tc.bat]
@echo off 
set ip_address_string="IP Address" 
rem Uncomment the following line when using Windows 7 (with removing "rem")! 
rem set ip_address_string="IPv4 Address" 
echo Network Connection Test 
for /f "usebackq tokens=2 delims=:" %%f in (`ipconfig ^| findstr /c:%ip_address_string%`) do set MyIP=%%f 
rem Remove leading spaces: 
for /f "tokens=* delims= " %%a in ("%MyIP%") do set MyIP=%%a
"c:\Program Files (x86)\totalcmd\TOTALCMD.EXE"

Dazu habe ich folgenden Knopf in der Buttonbar welcher auf Lst2Clip.exe verweist:

Code: Select all

TOTALCMD#BAR#DATA
"%COMMANDER_PATH%\Addons\Lst2Clip\Lst2Clip.exe" /R:"C:"="\\%MyIP%\C$" /R:"D:"="\\%MyIP%\D$" 
/L:"%L"
%COMMANDER_PATH%\Addons\Lst2Clip\Lst2Clip.exe
Lst2Clip
%COMMANDER_PATH%\Addons\Lst2Clip\

-1

Allerdings erhalte ich in keiner der Varianten eine IP-Adresse, sondern bei Verwendung des Buttons lediglich den Laufwerkbuchstaben. Sozusagen TC-Standardverhalten.
Any ideas?
User avatar
HolgerK
Power Member
Power Member
Posts: 5406
Joined: 2006-01-26, 22:15 UTC
Location: Europe, Aachen

Post by *HolgerK »

Lst2Clip ist Case-Sensitive.

Kann es sein das bei dir die Laufwerksbuchstaben kleingeschrieben werden?
Dann entweder eine der entsprechenden Optionen in der Wincmd.ini (DrivesExportUpcase, DrivesShowUpcase) anpassen, oder einfach die Übergabeparameter an Lst2Clip von
/R:"C:" ... nach /R:"c:"... usw. ändern.

Gruss
Holger
gogis
Junior Member
Junior Member
Posts: 39
Joined: 2013-07-12, 07:45 UTC

Post by *gogis »

Wahnsinn, das wars :lol:
Vielen Dank, auf Case-Sensitive wäre ich so schnell nicht gekommen :twisted:

Kleines Update:
Um die Leerzeichen im generierten Pfad zu entfernen kann in der Kommandozeile folgender Aufruf geschrieben werden:

"%COMMANDER_PATH%\Addons\Lst2Clip\Lst2Clip.exe" /R:"c:"="\\%MyIP%\c$" /R:" "="" /R:"d:"="\\%MyIP%\d$" /R:" "=""


---------------------------------------------------------------------------

Dann schaut der Button wie folgt aus:

TOTALCMD#BAR#DATA
"%COMMANDER_PATH%\Addons\Lst2Clip\Lst2Clip.exe" /R:"c:"="\\%MyIP%\c$" /R:" "="" /R:"d:"="\\%MyIP%\d$" /R:" "=""
/L:"%L"
%COMMANDER_PATH%\Addons\Lst2Clip\Lst2Clip.exe
Lst2Clip
%COMMANDER_PATH%\Addons\Lst2Clip\

-1
User avatar
HolgerK
Power Member
Power Member
Posts: 5406
Joined: 2006-01-26, 22:15 UTC
Location: Europe, Aachen

Post by *HolgerK »

gogis wrote:Um die Leerzeichen im generierten Pfad zu entfernen kann in der Kommandozeile folgender Aufruf geschrieben werden:

"%COMMANDER_PATH%\Addons\Lst2Clip\Lst2Clip.exe" /R:"c:"="\\%MyIP%\c$" /R:" "="" /R:"d:"="\\%MyIP%\d$" /R:" "=""
Vorsicht :!:
Damit machst du aus "...\Program Files (x86)\..." ein "...\ProgramFiles(x86)\...".

Gruss
Holger
gogis
Junior Member
Junior Member
Posts: 39
Joined: 2013-07-12, 07:45 UTC

Post by *gogis »

Stimmt genau,
jetzt wird es bei mehreren Laufwerken aber echt friemelig:

Code: Select all

TOTALCMD#BAR#DATA
"%COMMANDER_PATH%\Addons\Lst2Clip\Lst2Clip.exe" /R:"C:"="\\%MyIP%\C$" /R:" \C$"="\C$" /R:"D:"="\\%MyIP%\D$" /R:" \D$"="\D$"
/L:"%L"
%COMMANDER_PATH%\Addons\Lst2Clip\Lst2Clip.exe
Lst2Clip
%COMMANDER_PATH%\Addons\Lst2Clip\

-1
User avatar
HolgerK
Power Member
Power Member
Posts: 5406
Joined: 2006-01-26, 22:15 UTC
Location: Europe, Aachen

Post by *HolgerK »

/R:"C:"="\\%MyIP%\C$" /R:" \C$"="\C$"
Du löst das Problem an der falschen Stelle!
Wenn ich das richtig sehe, wird bei dir unter Server 2008 (de/en?) die IP-Adresse anders ermittelt als hier unter W7(en): Am Ende der Variablen ist noch ein (überflüssiges) Leerzeichen.
Da solltest du lieber in dem Batch, der die Umgebungsvariable %MyIP% ermittelt, neben dem vom mir bereits vorgesehen Trim-Left noch ein Trim-Right einbauen um dieses Leerzeichen loszuwerden:

http://www.dostips.com/DtTipsStringOperations.php#Snippets.TrimRightFOR

Gruss
Holger
Post Reply