在批处理文件里(.bat文件),如何才能得到桌面的路径?(100分)

  • 主题发起人 satanmonkey
  • 开始时间
S

satanmonkey

Unregistered / Unconfirmed
GUEST, unregistred user!
要求2000和98下都能用。
 
你的问题重点应该在如何获取WINDOWS的版本上,以下函数可以实现,具体路径,我想不用讲你都会找到了,:))
function GetWinVersion: String;
var
VersionInfo : TOSVersionInfo;
OSName : String;
begin
// set the size of the record
VersionInfo.dwOSVersionInfoSize := SizeOf( TOSVersionInfo );
if Windows.GetVersionEx( VersionInfo ) then
begin
with VersionInfo do
begin
case dwPlatformId of
VER_PLATFORM_WIN32s : OSName := 'Win32s';
VER_PLATFORM_WIN32_WINDOWS : OSName := 'Windows 95';
VER_PLATFORM_WIN32_NT : OSName := 'Windows NT';
end; // case dwPlatformId
Result := OSName + ' Version ' + IntToStr( dwMajorVersion ) + '.' + IntToStr( dwMinorVersion ) +
#13#10' (Build ' + IntToStr( dwBuildNumber ) + ': ' + szCSDVersion + ')';
end; // with VersionInfo
end // if GetVersionEx
else
Result := '';
end;
 
要用批处理啊,不是用delphi
 
win2000有一些环境变量,可以通过环境变量得到windows的目录,然后.....
 
我要问的就是怎么得到?
 
好像没听说过
 
%SystemRoot%
我在XP里是这样直接引用,其他没试
 
%windir%/desktop
我试过了
cd %windir%/desktop,可以用
 
resun 你的办法在98下不行啊!
我需要的是98和2000通用的方法。
 
怎么不行?我试过了,98第二版,没问题
 
我仔细试了下, 的确可以,不过不头够通用。
桌面文件夹不一定总在%windir%下面。
有的人把他设在c:/desktop上, 这样我用你的方法就得不到了。
这样设置的人是很多的, 因为windows 优化大师,和魔法兔子都可以设,win2000可以直接在
环境变量那里设,有没有完美的解决方案呢?
 
仅仅是在批处理文件里不太可能实现你所说的,除非再写一个程序(dos下的程序)放在批处理
文件里通过注册表文件找,恐怕不好实现
 
看来是没希望了,结帖
 

Similar threads

顶部