→ pc80015:謝謝~不過我用了arthurs21大大的方法囉^^ 01/22 04:27
> -------------------------------------------------------------------------- <
作者: ckw (要暱稱作啥) 看板: EZsoft
標題: Re: [問題] 把.txt檔名自動改為內文第一行文
時間: Mon Jan 21 23:54:28 2008
: 推 mosquito520:自己寫個程式比較快... 01/21 14:07
: → xvid:推樓上. 01/21 14:15
: → pc80015:不知道怎麼寫啊Orz" 01/21 19:40
想純粹靠dos還真麻煩,幸好google幫了大忙。
我用兩個批次檔作到了類似的效果,執行a.bat即可。
a.bat:
負責讀取該路徑下所有txt檔名,並將內容導到list這個檔案裡。
然後讀取list檔案內容。每讀到一個檔名,就設定到環境變數
oldname並呼叫b.bat。
@echo off
dir /b *.txt > list
for /f %%a in (list) do (
set oldname=%%a
call b.bat
)
b.bat:
從環境變數oldname取得舊檔名,並讀取該檔案內容第一行再改名。
@echo off
for /f %%b in (%oldname%) do (
ren %oldname% %%b.txt
exit /b
)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.229.21.112
→ ckw:忘了說,我是在XP底下試的 01/21 23:56
※ 編輯: ckw 來自: 61.229.21.112 (01/21 23:59)
推 pc80015:謝謝~不過我用了arthurs21大大提供的方法囉^^" 01/22 04:30
推 ateclean:不過我比較喜歡這個 ^^ 可以批次 01/22 14:57
> -------------------------------------------------------------------------- <
作者: arthurs21 ( ) 看板: EZsoft
標題: Re: [問題] 把.txt檔名自動改為內文第一行文
時間: Tue Jan 22 01:20:48 2008
: 推 mosquito520:自己寫個程式比較快... 01/21 14:07
: → xvid:推樓上. 01/21 14:15
: → pc80015:不知道怎麼寫啊Orz" 01/21 19:40
抱歉,看到很多人回覆一時手癢~就寫了這隻vbs
把你的txt檔拖到這隻vbs身上就會改名了
以下程式碼: (複製程式碼存成*.vbs就行)
Set objFSO = CreateObject("Scripting.FileSystemObject")
DirPath = WScript.Arguments(0)
Set opFile = objFSO.OpenTextFile(DirPath)
Line1 = opFile.ReadLine
opFile.Close
Set objFile0 = objFSO.GetFile(DirPath)
path = objFSO.GetParentFolderName(objFile0)
ext = objFSO.GetExtensionName(objFile0)
newpath = path & "\" & Line1 & "." & ext
objFSO.MoveFile DirPath, newpath
結束,敬請指教!!
直接附上檔案:http://www.badongo.com/file/7419024
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.104.96.153
※ 編輯: arthurs21 來自: 59.104.96.153 (01/22 01:26)
推 ateclean:推推推 01/22 01:26
忘了把Debug 的Msg去掉改修一下~(其實沒影響)
※ 編輯: arthurs21 來自: 59.104.96.153 (01/22 01:32)
推 davidboy12:真的很好用!!~ 01/22 03:00
推 pc80015:真是太感謝了^^!我收下囉 01/22 04:24
推 ckw:好像一次只能拉一個檔,可以拉多個嗎?@@ 01/22 09:06
→ ckw:喔不對,拉多個的時候只有一個檔名會被改,可能會改錯@@ 01/22 09:07