中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助]FOR + REG 怎样略过空白处
作者:
标题: [求助]FOR + REG 怎样略过空白处 上一主题 | 下一主题
XZ
初级用户





积分 144
发帖 65
注册 2008-3-20
来自 Taiwan
状态 离线
『楼 主』:  [求助]FOR + REG 怎样略过空白处

请问FOR + REG 怎样略过空白处
我主要是把要RESISTER中的环境变量让COMMAND下可以使用
不过转出来的变数会多空白
结果如下
请求各位协助
谢谢


delimes="TAB"
批處理
@echo off
for /f "skip=4 tokens=1,3* delims=        " %%i in ('reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders"') do (set REG_%%i=%%j)
echo ============================================================================
set REG_
echo ============================================================================
pause
結果
============================================================================
REG_    AppData=%USERPROFILE%\Application Data
REG_    Cache=%USERPROFILE%\Local Settings\Temporary Internet Files
REG_    Cookies=%USERPROFILE%\Cookies
REG_    Desktop=%USERPROFILE%\桌面
REG_    Favorites=%USERPROFILE%\Favorites
REG_    History=%USERPROFILE%\Local Settings\History
REG_    Local AppData=%USERPROFILE%\Local Settings\Application Data
REG_    Local Settings=%USERPROFILE%\Local Settings
REG_    My Pictures=%USERPROFILE%\My Documents\My Pictures
REG_    NetHood=%USERPROFILE%\NetHood
REG_    Personal=%USERPROFILE%\My Documents
REG_    PrintHood=%USERPROFILE%\PrintHood
REG_    Programs=%USERPROFILE%\「開始」功能表\程式集
REG_    Recent=%USERPROFILE%\Recent
REG_    SendTo=%USERPROFILE%\SendTo
REG_    Start Menu=%USERPROFILE%\「開始」功能表
REG_    Startup=%USERPROFILE%\「開始」功能表\程式集\啟動
REG_    Templates=%USERPROFILE%\Templates
============================================================================
請按任意鍵繼續 . . .


2009-3-4 06:28
查看资料  发短消息 网志   编辑帖子  回复  引用回复
dosz
中级用户

一看二跟三动手


积分 396
发帖 188
注册 2005-10-23
来自 上海
状态 离线
『第 2 楼』:  

我在学!


@echo off
echo (1)显示=为分隔的dosz文本的全部字符集:
echo for /f "tokens=1,2* delims==" %%a in (dosz.txt) do echo %%a %%b %%c
for /f "tokens=1,2,3 delims==" %%a in (123.txt) do echo %%a %%b %%c
echo\
echo (3)显示=为分隔的第3个字符集:
echo for /f "tokens=3 delims==" %%i in (123.txt) do echo %%i
for /f "tokens=3 delims==" %%i in (123.txt) do echo %%i
echo\

cls
echo\
echo (4)显示=为分隔的特定字符(星期一)的全部字符集
echo for /f "delims== tokens=1,2,3" %%a in ('findstr "星期一" 123.txt') do echo %%a %%b %%c
for /f "delims== tokens=1,2,3" %%a in ('findstr "星期一" 123.txt') do echo %%a %%b %%c
:: tokens=1* 意思是第1个字符串后面的所有内容,tokens=2 是第2个字符串。
echo\
for /f "skip=1 tokens=6 delims= " %%i in (1.txt) do echo 文本第6个字符集%%i [忽略文件开始时的1行数]

[ Last edited by dosz on 2009-3-4 at 12:25 ]

附件 1: FOR + REG 怎样略过空白处.JPG.gif (2009-3-4 12:22, 132.22 K,下载次数: 2)


附件 2: for_reg.bat.rar (2009-3-4 12:24, 1.6 K,下载次数: 6)


*/. . . * .
.\* . [] * dosz
*/ . ./\~~~~~~~~~~~~'\. ^|◆
\* ,/,..,\,...........,\.◆
^|^| ..▎# ▎田 田 ▎ ^| ▎◆
^|^| ^&^&▎ ▎ ▎'^|'▎ o      
^|^| ##■■■■■■■■■■〓
2009-3-4 12:22
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
XZ
初级用户





积分 144
发帖 65
注册 2008-3-20
来自 Taiwan
状态 离线
『第 3 楼』:  



  Quote:
Originally posted by dosz at 2009-3-4 12:22 PM:
我在学!


@echo off
echo (1)显示=为分隔的dosz文本的全部字符集:
echo for /f "tokens=1,2* delims==" %%a in (dosz.txt) do echo %%a %%b %%c
for /f "tokens=1,2, ...

看不懂 =    =

搞不定只會土法煉鋼
@echo off
for /f "skip=4 tokens=3* delims=        " %%i in ('reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "AppData"'       ) do (SET REG_AppData=%%i)
for /f "skip=4 tokens=3* delims=        " %%i in ('reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "Cache"'         ) do (SET REG_Cache=%%i)
for /f "skip=4 tokens=3* delims=        " %%i in ('reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "Cookies"'       ) do (SET REG_Cookies=%%i)
for /f "skip=4 tokens=3* delims=        " %%i in ('reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "Desktop"'       ) do (SET REG_Desktop=%%i)
for /f "skip=4 tokens=3* delims=        " %%i in ('reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "Favorites"'     ) do (SET REG_Favorites=%%i)
for /f "skip=4 tokens=3* delims=        " %%i in ('reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "History"'       ) do (SET REG_History=%%i)
for /f "skip=4 tokens=3* delims=        " %%i in ('reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "Local AppData"' ) do (SET REG_LocalAppData=%%i)
for /f "skip=4 tokens=3* delims=        " %%i in ('reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "Local Settings"') do (SET REG_ALocalSettings=%%i)
echo =============================================================================
set REG_
echo =============================================================================
可以問 上面這段土法煉鋼的方式有沒有辦法說短嗎?

2009-3-4 23:17
查看资料  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: