[操作疑難] [求助] 如何把dos的output存到variable內?

如何把dos的output存到variable內?
我是想dir某個folder的內容,再處理一下後output到file(取代文字),可是網上找到的不太行...
for /f "tokens=*" %%a in ('dir') do set dt=%%a
它說"這個時候不應有 %%a。"

本帖最後由 ThomasYau 於 2013-6-5 18:29 編輯

.bat 內用 %%a
command prompt 用 %a, C:\>for /f "tokens=*" %a in ('dir') do set dt=%a

TOP

我想把某folder內的filelist輸出到一個txt,並把jpg檔名轉成gif

for /f "tokens=*" %%a in ('dir/b') do (
set str=%%a
set str=%str:jpg=gif%
echo.%str%>>1.txt
)
pause

可是不work,請問哪裡錯漏了?

TOP

for /f %%a in ('dir/b *.jpg') do (
echo %%~na.gif >>1.txt
)

TOP

for /f %%a in ('dir/b *.jpg') do (
echo %%~na.gif >>1.txt
)
ThomasYau 發表於 2013-6-6 19:23


成功了
感謝~

TOP

成功了
感謝~
hold_find 發表於 2013-6-7 22:19


小心
(1) filename 有 space
(2) 中/日/韓文名

TOP

for /f %%a in ('dir/b *.jpg') do (
echo %%~na.gif >>1.txt
)
ThomasYau 發表於 2013-6-6 19:23


新問題,如果要改埋filename咁要點做?
e.g. 有abc_123.jpg, abc_124.jpg,要全部改做xyz_123.gif, xyz_223.gif...
thx~

TOP

小心
(1) filename 有 space
(2) 中/日/韓文名
henrywho 發表於 2013-6-8 14:40


有的話要點解決?
(暫時我的case未出現此問題)

TOP

有的話要點解決?
(暫時我的case未出現此問題)
hold_find 發表於 2013-6-15 18:59


depends .... 睇你點用個 text file

不如你試一試先 ~~~

TOP

本帖最後由 FreeTong 於 2013-6-15 19:33 編輯
新問題,如果要改埋filename咁要點做?
e.g. 有abc_123.jpg, abc_124.jpg,要全部改做xyz_123.gif, xyz_22 ...
hold_find 發表於 2013-6-15 18:59

改文字可以用這個方法,
先把整個 dir 連文件名稱儲存為 "dir.txt"
由 dir.txt 一句一句讀出, 存到 allstr 這個暫存器中,再把 allstr 裡頭 abc & jpg 改為 xyz & gif ,
把這個修改好的句子儲存 dir_new.txt

setlocal ENABLEDELAYEDEXPANSION
for /f %%r in (dir.txt) do (
set "allstr=%%r"
set "allstr=!allstr:abc=xyz!"
set "allstr=!allstr:jpg=gif!"
echo "!allstr!",>> dir_new.txt
setlocal DISABLEDELAYEDEXPANSION

TOP