标题: [文件操作] NTFS文件流[已解决] [打印本页]
作者: czjt1234 时间: 2017-3-16 21:19 标题: NTFS文件流[已解决]
本帖最后由 czjt1234 于 2017-3-19 18:33 编辑
- @echo off
- ::By Demon
- ::http://demon.tw
- echo hello world>hello.txt
- echo http://demon.tw>hello.txt:hide.txt
- set /p url=<hello.txt:hide.txt
- start %url%
- pause
复制代码
http://demon.tw/operating-system/ntfs-file-stream.html
这个文件流的参考链接说明都是英文,看不懂
谁能举几个例子?
作者: taofan712 时间: 2017-3-17 00:01
- -=
一时太高兴,F盘根目录创建了10来个看不见的bat,我在想我怎么删除它们。
作者: Batcher 时间: 2017-3-17 00:33
http://baike.baidu.com/item/ntfs%E6%95%B0%E6%8D%AE%E6%B5%81
这里有你想要的东西吗
作者: zz100001 时间: 2017-3-17 11:21
你们不是天天在叫提问题之前先使用论坛搜索功能吗
大大们以前辛苦发文都没人理已经伤心离去了
很早之前我在此贴就挖过坟了
感兴趣可以去找找
http://www.bathome.net/viewthread.php?tid=21463
作者: 523066680 时间: 2017-3-17 12:04
挺好的,我也是因此第一次看到这个知识。不像重命名那类帖子已经泛滥了。
作者: 老刘1号 时间: 2017-3-17 12:17
666,这个可以有
作者: taofan712 时间: 2017-3-17 19:19
除了用set/p 、for、 more来读取hello.txt:hide.txt的内容
还可以直接notepad hello.txt:hide.txt 打开这个文本。
作者: taofan712 时间: 2017-3-17 19:20
notepad hello.txt:hide.txt 打开后,我点了下文件另存为,是不能被操作的。。
作者: nwm310 时间: 2017-3-18 11:11
本帖最后由 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
但並不是所有軟體都認得
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |