<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; CMD/BAT: Аналог readlink]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=11385</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=11385&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «CMD/BAT: Аналог readlink».]]></description>
		<lastBuildDate>Tue, 08 Mar 2016 10:19:10 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: CMD/BAT: Аналог readlink]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=101710#p101710</link>
			<description><![CDATA[<p>Идея изначально стоит определить родные, виндовые симлинки минимальными средствами самой же винды. </p><p>В cygwin свои заморочки. Во первых это сторонний комплект, изначально неродной. Во-вторых, readlink из cygwin не делает различий между <br />- симлинками, созданными в винде (командой mklink) и <br />- симлинками, созданными в cygwin (командой ln -s). </p><p>Powersell - это хорошо и его можно включить в список решений, надо только накодить. </p><p>fsutil сложно. Как вычленить полезную информацию в разных случаях</p><div class="codebox"><pre><code>
C:\&gt;fsutil reparsepoint query &quot;C:\Documents and Settings&quot;
Error:  Access is denied.
C:\&gt;fsutil reparsepoint query &quot;C:\System Volume Information&quot;
Error:  Access is denied.
</code></pre></div><div class="codebox"><pre><code>
C:\PROGS\vendors&gt;dir clink*
 Volume in drive C is PC COE
 Volume Serial Number is DC8B-7390

 Directory of C:\PROGS\vendors

2016-01-14  15:53    &lt;DIR&gt;          clink
2016-03-08  13:10    &lt;SYMLINKD&gt;     clink-d [clink]
2016-03-08  13:10    &lt;JUNCTION&gt;     clink-j [C:\PROGS\vendors\clink]
               0 File(s)              0 bytes
               3 Dir(s)  66 870 931 456 bytes free
</code></pre></div><div class="codebox"><pre><code>
C:\PROGS\vendors&gt;fsutil reparsepoint query clink-d
Reparse Tag Value : 0xa000000c
Tag value: Microsoft
Tag value: Name Surrogate
Tag value: Symbolic Link

Reparse Data Length: 0x00000020
Reparse Data:
0000:  0a 00 0a 00 00 00 0a 00  01 00 00 00 63 00 6c 00  ............c.l.
0010:  69 00 6e 00 6b 00 63 00  6c 00 69 00 6e 00 6b 00  i.n.k.c.l.i.n.k.
</code></pre></div><div class="codebox"><pre><code>
C:\PROGS\vendors&gt;fsutil reparsepoint query clink-j
Reparse Tag Value : 0xa0000003
Tag value: Microsoft
Tag value: Name Surrogate
Tag value: Mount Point
Substitue Name offset: 0
Substitue Name length: 52
Print Name offset:     54
Print Name Length:     44
Substitute Name:       \??\C:\PROGS\vendors\clink
Print Name:            C:\PROGS\vendors\clink

Reparse Data Length: 0x0000006c
Reparse Data:
0000:  00 00 34 00 36 00 2c 00  5c 00 3f 00 3f 00 5c 00  ..4.6.,.\.?.?.\.
0010:  43 00 3a 00 5c 00 50 00  52 00 4f 00 47 00 53 00  C.:.\.P.R.O.G.S.
0020:  5c 00 76 00 65 00 6e 00  64 00 6f 00 72 00 73 00  \.v.e.n.d.o.r.s.
0030:  5c 00 63 00 6c 00 69 00  6e 00 6b 00 00 00 43 00  \.c.l.i.n.k...C.
0040:  3a 00 5c 00 50 00 52 00  4f 00 47 00 53 00 5c 00  :.\.P.R.O.G.S.\.
0050:  76 00 65 00 6e 00 64 00  6f 00 72 00 73 00 5c 00  v.e.n.d.o.r.s.\.
0060:  63 00 6c 00 69 00 6e 00  6b 00 00 00              c.l.i.n.k...
</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Rumata)]]></author>
			<pubDate>Tue, 08 Mar 2016 10:19:10 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=101710#p101710</guid>
		</item>
		<item>
			<title><![CDATA[Re: CMD/BAT: Аналог readlink]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=101697#p101697</link>
			<description><![CDATA[<div class="quotebox"><cite>Rumata пишет:</cite><blockquote><p>Мир windows в этом плане очень беден.</p></blockquote></div><p>Возможно, но закладываться на это все же не стОит. Например, те же точки повтороной обработки можно посмотреть с помощью fsutil:<br /></p><div class="codebox"><pre><code>fsutil reparsepoint query C:\Users</code></pre></div><p>Есть PowerShell, из стороннего - Cygwin, последний readlink устанавливает по дефолту. Много чего есть, словом.</p>]]></description>
			<author><![CDATA[null@example.com (greg zakharov)]]></author>
			<pubDate>Mon, 07 Mar 2016 13:54:41 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=101697#p101697</guid>
		</item>
		<item>
			<title><![CDATA[CMD/BAT: Аналог readlink]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=101694#p101694</link>
			<description><![CDATA[<p>Мир unix богат на самые различные утилиты. Некоторые из них даже могут дублировать друг друга. Мир windows в этом плане очень беден. Но кое-что можно исправить.</p><p>Юникс-команда readlink печатает значение символической ссылки. Попытаемся съэмулировать:<br /></p><div class="codebox"><pre><code>
@echo off

for /f &quot;tokens=*&quot; %%f in ( &#039; 
	dir /b /al &quot;%~1*&quot; 
&#039; ) do for /f &quot;tokens=1,2,3 delims=[]&quot; %%a in ( &#039; 
	dir /al &quot;%~dp1%%f*&quot;  ^| findstr &quot;&lt;SYMLINK&gt; &lt;SYMLINKD&gt; &lt;JUNCTION&gt;&quot; 
&#039; ) do (
	echo:%%~b
)
</code></pre></div><p>Пример работы:<br /></p><div class="quotebox"><blockquote><p>C:\&gt;dir /b /al<br />Documents and Settings</p><p>C:\&gt;readlink<br />C:\Users</p></blockquote></div><p>В первом приближении работает, но есть недостатки:</p><p>1. работает некорректно для файлов,каталогов, содержащих в имени символы &quot;[&quot; и &quot;]&quot;<br />2. может дублировать вывод<br />3. ошибается при поиске симлинков не в корне диска <strong>readlink c:</strong></p><p>Обсуждение по теме:<br /><a href="http://stackoverflow.com/questions/13298414/native-alternative-for-readlink-on-windows/13358046">http://stackoverflow.com/questions/1329 … s/13358046</a></p>]]></description>
			<author><![CDATA[null@example.com (Rumata)]]></author>
			<pubDate>Mon, 07 Mar 2016 09:01:36 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=101694#p101694</guid>
		</item>
	</channel>
</rss>
