标题: [已结]如何用脚本转到“我的文档”所在的盘?
[打印本页]
作者: chujiafu
时间: 2008-1-12 17:09
标题: [已结]如何用脚本转到“我的文档”所在的盘?
如题。
比如,我的文档如果在C盘,则转到C:;如果我的文档在D盘,则转到D:。如何用脚本来实现?
[
Last edited by chujiafu on 2008-1-15 at 09:14 AM ]
作者: fastslz
时间: 2008-1-12 18:21
@echo off
regedit /e 1.reg "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders"
for /f "tokens=1* delims==" %%i in ('type 1.reg^|find /i "Personal"') do echo %%~dj
del 1.reg
pause
@echo off
regedit /e 1.reg "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders"
for /f "tokens=1* delims==" %%i in ('type 1.reg^|find /i "Personal"') do set Personal=%%j
set Personal=%Personal:\\=\%
echo %Personal%
pause
本来是很简单的,但是考虑到我的文档可能存在中文名所以用regedit /e而不是reg query
作者: knoppix7
时间: 2008-1-12 18:43
reg query不能支持中文?
作者: fastslz
时间: 2008-1-12 18:53
假设“我的文档”是“D:\我的文档”运行下面的代码屏幕显示 D:\我?
@echo off
for /f "tokens=2*" %%a in ('reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v Personal ^|find /i "Personal"') do set Personal=%%b
echo %Personal%
pause
作者: BatMan
时间: 2008-1-13 12:10
受教了,没想到REG有这样的局限性。
仔细看了一下REG QUERY中文的输出,发现其重定向或管道出来的字节数其实是字符数,因此遇到中文一类的双字节字符输出时,输出总字节数与实际所需的字节数不符。莫非是微软自己在做国际化时遗留的BUG?
奇怪的是直接让REG QUERY中文输出到Console是显示正确的,重定向或管道出来就会出现前述的问题。如果能有办法把它给Console的输出重定向出来,当可解决问题。没有头绪。-_-
作者: chujiafu
时间: 2008-1-13 13:48
谢谢各位兄弟。
我试了下Fastslz兄弟2楼的第一段代码,可以显示“我的文档”所在的盘符。怎样转到该盘呢?比如,我的文档在D盘,怎样执行Dir d:呢?
作者: zh159
时间: 2008-1-13 13:56
cd/d %Personal%
Dir
作者: chujiafu
时间: 2008-1-13 16:33
谢谢Zh159兄弟,这样不行呀。Dir显示的是这个脚本所在的目录。
作者: zh159
时间: 2008-1-13 17:00
@echo off
regedit /e 1.reg "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders"
for /f "tokens=1* delims==" %%i in ('type 1.reg^|find /i "Personal"') do set Personal=%%j
set Personal=%Personal:\\=\%
echo %Personal%
cd/d "%Personal%"
dir
pause
作者: chujiafu
时间: 2008-1-15 09:10
谢谢Zh159兄,可以了。