[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] NTFS文件流[已解决]

本帖最后由 czjt1234 于 2017-3-19 18:33 编辑
  1. @echo off
  2. ::By Demon
  3. ::http://demon.tw
  4. echo hello world>hello.txt
  5. echo http://demon.tw>hello.txt:hide.txt
  6. set /p url=<hello.txt:hide.txt
  7. start %url%
  8. pause
复制代码


http://demon.tw/operating-system/ntfs-file-stream.html
这个文件流的参考链接说明都是英文,看不懂

谁能举几个例子?
1

评分人数


QQ 20147578

- -=
一时太高兴,F盘根目录创建了10来个看不见的bat,我在想我怎么删除它们。

TOP

我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

你们不是天天在叫提问题之前先使用论坛搜索功能吗
大大们以前辛苦发文都没人理已经伤心离去了
很早之前我在此贴就挖过坟了
感兴趣可以去找找
http://www.bathome.net/viewthread.php?tid=21463

TOP

挺好的,我也是因此第一次看到这个知识。不像重命名那类帖子已经泛滥了。

TOP

666,这个可以有

TOP

除了用set/p 、for、 more来读取hello.txt:hide.txt的内容
还可以直接notepad hello.txt:hide.txt 打开这个文本。

TOP

notepad hello.txt:hide.txt 打开后,我点了下文件另存为,是不能被操作的。。

TOP

本帖最后由 nwm310 于 2017-3-18 11:18 编辑

新增 a.txt:b.txt
cmd
R:\>echo abc  >  a.txt:b.txt
R:\>

PowerShell
PS R:\> echo abc  >  a.txt:b.txt
out-file : 找不到磁碟機。名為 'a.txt' 的磁碟機不存在。

PS R:\> sc a.txt -Stream b.txt -Value abc
PS R:\>

註:檔案大小沒改變,但會改變修改日期
====================
複製q.jpg的內容到 a.txt:q.jpg
cmd
R:\>copy q.jpg a.txt:q.jpg
檔案名稱、目錄名稱或磁碟區標籤語法錯誤。
複製了         0 個檔案。

R:\>type q.jpg > a.txt:q.jpg
R:\>
註:type  unicode格式的文件會變成ansi格式
      type 大檔時會等比較久

PowerShell
PS R:\> copy q.jpg a.txt:q.jpg
copy : 找不到磁碟機。名為 'a.txt' 的磁碟機不存在。

PS R:\> gc q.jpg -enc byte -read 0 |sc a.txt -Stream q.jpg  -enc byte
=======================
開啟 a.txt:q.jpg

mspaint a.txt:q.jpg

========================
用mklink來複製、開啟
(mklink需要系統管理員權限)

cmd
R:\>mklink link.jpg a.txt:q10.jpg
已建立 link.jpg 的符號連結 <<===>> a.txt:q10.jpg

R:\>copy q.jpg link.jpg
複製了         1 個檔案。

R:\>mspaint link.jpg

可以開啟 link.jpg

註:mklink link.jpg a.txt:q10.jpg
      mklink  link.jpg  R:\a.txt:q10.jpg
        兩者是有差別的

R:\>start link.jpg
系統無法執行指定的程式。

PowerShell
PS R:\> cmd /c mklink link2.jpg a.txt:q11.jpg
已建立 link2.jpg 的符號連結 <<===>> a.txt:q11.jpg
PS R:\> copy q.jpg link2.jpg
PS R:\> mspaint link2.jpg
可以開啟

PS R:\> ii link2.jpg
ii : 沒有任何應用程式與此操作的指定檔案有關聯。

PS R:\> start link2.jpg
start : 無法執行這個命令,因為發生錯誤: 沒有任何應用程式與此操作的指定檔案有關聯。。

===================
取出stream內容,另存新檔
7-Zip可以

cmd
R:\>copy a.txt:q.jpg out.jpg
a.txt:q.jpg
檔案名稱、目錄名稱或磁碟區標籤語法錯誤。
複製了         0 個檔案。

R:\>copy link.jpg out.jpg
參數錯誤。
複製了         0 個檔案。

R:\>type link.jpg > out.jpg

PowerShell
PS R:\> copy a.txt:q.jpg out.jpg
copy : 找不到磁碟機。名為 'a.txt' 的磁碟機不存在。

PS R:\> copy link.jpg out.jpg
copy : 參數錯誤。


=============
a.txt裡面有沒有stream
新版cmd       dir  /r

PowerShell
gi a.txt -stream *
================
重新命名 stream
7-Zip可以
===========
修改a.txt,對裡面stream的影響

用Notepad修改、儲存  →  不影響

R:\>echo aaa > a.txt
a.txt裡面的stream不見了
===============
刪除 stream

PowerShell
PS R:\> del a.txt -Stream q.jpg

註:a.txt仍存在
==============
相關指令

PowerShell

PS R:\> (gcm -ParameterName stream).name
Add-Content
Clear-Content
Get-Content
Get-Item
Out-String
Remove-Item
Set-Content
===============
找NTFS alternate data streams

PowerShell
PS R:\> dir -r | ?{  @(gi -Literal $_.FullName -stream * ).length -gt 1 }

================
stream名稱
a.txt   等於  a.txt:DATA
a.txt:q.jpg  等於 a.txt:q.jpg:$DATA
a.txt:$DATA  等於 a.txt:$DATA:$DATA

但並不是所有軟體都認得
1

评分人数

    • czjt1234: 虽是坟帖,也要赞一个技术 + 1

TOP

返回列表