Forum Webscript.Ru

Общие => ОС и системное ПО => Тема начата: Xander от 20 Сентября 2002, 15:37:16

Название: My Documents и иже с ними...
Отправлено: Xander от 20 Сентября 2002, 15:37:16
Кто-нибудь знает, можно в маздае руками такие штуки создавать?
То есть, можно ли создать фолдер на десктопе, но так, чтобы отображенные там файлы лежали не в
C:\\Documents and Settings\\bla-bla-bla\\Desktop
а, допустим в C:\\job?
Название: My Documents и иже с ними...
Отправлено: USE от 21 Сентября 2002, 01:00:16
Все это дело можно в регистри поменять, как для карент юзера так и для локал машин. Т.е. просто можешь перенести все свои десктопы, избранное и т.д. на другой диск.

Вот небольшой скрипт когда-то на перле писал, во времена моего знакомства с ним ;) из кода понятно что и где. если надо будет подробнее, опишу.


#!/usr/bin/perl

$version="RegEdit v1.0 for WinNT/W2k/XP";

use Win32::Registry;
use Win32::NetAdmin;

$user=Win32::LoginName;

@a=@ARGV;


sub help
{
    die <$version

Usage:  regedit.pl

Commands:

    -doc    Move documents to the $profile
    -url    Show last 25 typed urls
    -show   Show statistics for user \'$user\'
    -env    Change environment (set to Path)
    -start  Set startup.cmd


HELP
}

$now=localtime;

$out_file="$user.dat";

$profile = "E:\\\\home\\\\%USERNAME%";
@sysdir = ("Desktop", "Favorites", "Sendto");
@path = ("f:\\\\util", "f:\\\\util\\\\arc", "f:\\\\util\\\\control", "f:\\\\fidonet\\\\control");
@env = ("Path", "PATHEXT", "windir");

# $lm_run = HKLM Run
$::HKEY_LOCAL_MACHINE->Open("SOFTWARE\\\\Microsoft\\\\Windows\\\\CurrentVersion\\\\Run",$lm_run);

# $cu_run = HKCU Run
$::HKEY_CURRENT_USER->Open("SOFTWARE\\\\Microsoft\\\\Windows\\\\CurrentVersion\\\\Run",$cu_run);

# $cu_usf = HKCU User Shell Folders
$::HKEY_CURRENT_USER->Open("SOFTWARE\\\\Microsoft\\\\Windows\\\\CurrentVersion\\\\Explorer\\\\User Shell Folders",$cu_usf);

# $lm_env = HKLM Env
$::HKEY_LOCAL_MACHINE->Open("SYSTEM\\\\ControlSet001\\\\Control\\\\Session Manager\\\\Environment",$lm_env);

sub show_data
{
    print "$user statistics:\\n\\n";
    foreach $dir (@sysdir)
    {
        $cu_usf->QueryValueEx("$dir", REG_EXPAND_SZ, $path);
        print "$dir located in $path\\n\\n";

    }
    foreach $env (@env)
    {
        $lm_env->QueryValueEx("$env", REG_EXPAND_SZ, $value);
        print "$env are $value\\n\\n";

    }
}

sub set_startup
{
    $lm_run->SetValueEx("home", 0, REG_EXPAND_SZ, "f:\\\\util\\\\control\\\\home.cmd");
    $cu_run->SetValueEx("startup", 0, REG_EXPAND_SZ, "f:\\\\util\\\\control\\\\startup.cmd");
}


#####################################################

sub doc_sec
{
    foreach $dir (@sysdir)
    {
        $cu_usf->SetValueEx("$dir", 0, REG_EXPAND_SZ, "$profile\\\\system\\\\$dir");
    }
    $cu_usf->SetValueEx("Personal", 0, REG_EXPAND_SZ, "$profile\\\\My Documents");
    $cu_usf->QueryValueEx("Personal", REG_EXPAND_SZ, $path);
    $cu_usf->SetValueEx("My Pictures", 0, REG_EXPAND_SZ, "$path\\\\My Pictures");
}

####################################################

sub change_env
{
    $lm_env->QueryValueEx("Path", REG_EXPAND_SZ, $oldpath);
    foreach $path (@path)
    {
        $oldpath = $path.";".$oldpath;
        $lm_env->SetValueEx("Path", 0, REG_EXPAND_SZ, "$oldpath");
    }

    $lm_env->QueryValueEx("PATHEXT", REG_EXPAND_SZ, $oldext);
    $ext = ".PL;".$oldext;
    $lm_env->SetValueEx("PATHEXT", 0, REG_EXPAND_SZ, "$ext");
}


sub typ_url
{
    $::HKEY_CURRENT_USER->Open("SOFTWARE\\\\Microsoft\\\\Internet Explorer\\\\TypedURLs",$cu_tu);
    open(OUT,">$out_file");

    print OUT "$version\\n\\n";
    print OUT "User: $user\\n\\n";
    print OUT "Date: $now\\n\\n";

    print "$version\\n\\n";
    print "User: $user\\n\\n";
    print "Date: $now\\n\\n";
    for ($i=1; $i<=25; $i++)
    {
        $cu_tu->QueryValueEx("url"."$i", REG_SZ, $url);
        print OUT "$url\\n";
        print "$url\\n";
    }
    close(OUT);
}

#show_data();

if( $a[0] eq "-doc" )
{
    doc_sec();
}
elsif( $a[0] eq "-url" )
{
    typ_url();
}
elsif( $a[0] eq "-show" )
{
    show_data();

}
elsif( $a[0] eq "-env" )
{
    change_env();
}
elsif( $a[0] eq "-start" )
{
    set_startup();
}
else
{

    help();
}
$lm_run->Close();
$lm_env->Close();
$cu_usf->Close();
$cu_run->Close();
Название: My Documents и иже с ними...
Отправлено: Metaller от 23 Сентября 2002, 10:02:05
А shortcut на папку чем не устраивает? :)
Название: My Documents и иже с ними...
Отправлено: USE от 23 Сентября 2002, 11:12:29
Цитировать
А shortcut на папку чем не устраивает?

меня хотя бы тем, что вдруг вылетела система и приходится переустанавливать ее, грохаем диск С а вместе с ним и все документы, рисунки, фаворитес и т.п. жутко неудобно. а когда переносишь все свои пожитки на другой диск, тогда гораздо проще все просто подсоединить заново, при установке системы... точно так же можно и квик ланч "запомнить" :)
Название: My Documents и иже с ними...
Отправлено: NAS от 23 Сентября 2002, 14:40:15
USE
Свойства папки "Мои документы" той что на раб. столе лежит и там меняй ее размещение как угодно.
Название: My Documents и иже с ними...
Отправлено: USE от 23 Сентября 2002, 16:21:09
Цитировать
Свойства папки "Мои документы" той что на раб. столе лежит и там меняй ее размещение как угодно

т.е. кликая правой кнопкой мыши и меняя Target? да так быстро для себя поменять можно, но когда у тебя 200 пользователей на машине может быть, а машин 100 и регистрироваться они могут в любой момент тогда бегать и каждому править путя, чтобы в случае чего можно было восстановить все, не очень правильно. такой способ для ендюзеров ;)
Название: My Documents и иже с ними...
Отправлено: Xander от 23 Сентября 2002, 16:56:24
Я вот поменял путь к My Documents, и она перестала у меня в диалогах показываться :))
А ярлык на папку отродясь в этих диалогах не показывался.
Название: My Documents и иже с ними...
Отправлено: USE от 23 Сентября 2002, 17:56:28
Цитировать
Я вот поменял путь к My Documents, и она перестала у меня в диалогах показываться

попробуй сделать Log Off - Log On, если не поможет тогда придется тебе в регистри править. так более надежно будет.
Название: My Documents и иже с ними...
Отправлено: Oak от 23 Сентября 2002, 19:36:48
Для 100 пользователей - запихни в скрипт , который при логине запускается смену значений registry
Название: My Documents и иже с ними...
Отправлено: Xander от 23 Сентября 2002, 23:08:59
USE, оно у меня уже полгода так живет :)
"Log on - Log off"...неужели я на такое ламо похож?
Название: My Documents и иже с ними...
Отправлено: Xander от 23 Сентября 2002, 23:13:19
Вопрос, соббсно, в том, где еще, кроме как в
SOFTWARE\\\\Microsoft\\\\Windows\\\\CurrentVersion\\\\Explorer\\\\User Shell Folders
живут эти настройки, и как создавать собственные Shell Folder\'ы...
Название: My Documents и иже с ними...
Отправлено: YA от 23 Сентября 2002, 23:51:09
Делал когда-то давно системную папку, которая ложилась в "Мой компьютер". Немного не то, конечно, но если нужно поищу.
Название: My Documents и иже с ними...
Отправлено: Xander от 23 Сентября 2002, 23:59:20
Она в системных диалогах показывается на первом уровне иерархии?
Если нет, то не надо
Название: My Documents и иже с ними...
Отправлено: USE от 24 Сентября 2002, 10:39:32
Цитировать
Для 100 пользователей - запихни в скрипт , который при логине запускается смену значений registry


я придумал более рациональный способ для переноса всех пользовательских документов и т.п. просто прописываю то что мне надо при помощи $profile = "E:\\\\home\\\\%USERNAME%"; т.е. вместо %USERNAME% будет отображаться каталог с текущим именем пользователя. удобно имхо.
Название: My Documents и иже с ними...
Отправлено: USE от 24 Сентября 2002, 18:03:28
[OFF]
Цитировать
"Log on - Log off"...неужели я на такое ламо похож?
да нет :) просто и профессионалы иногда бывает, что ошибаются либо по невнимательности, либо по усталости и т.п.[/OFF]
Цитировать
Она в системных диалогах показывается на первом уровне иерархии?

есть утилита если не ошибаюсь xq-xsetup называется. так в ней есть много разных твиков, и т.п. настройки системы, разные можно делать, кстати очень легко систему завалить :) так что с ней надо быть осторожно.

см. на http://www.xteq.com по-моему. но я давно там ее брал уже, сегодня не смог достучаться до него.
Название: My Documents и иже с ними...
Отправлено: USE от 24 Сентября 2002, 18:05:54
Цитировать
на http://www.xteq.com по-моему

более точно: http://www.xteq.com/products/xset/ это просто чтобы не мучаться :)