Board logo

标题: [文本处理] [已解决]批处理获取自己登陆的用户名帐户文件夹名 [打印本页]

作者: temp    时间: 2009-11-19 18:59     标题: [已解决]批处理获取自己登陆的用户名帐户文件夹名

请教!获取自己登陆的用户名帐户文件夹名的方法,并写入文本文件中,如:
  1. for /f "delims=" %%i in (dir "C:\Documents and Settings") do (set name=%%i)
  2. echo abc\%name%\dem>abc.txt
  3. for /f "delims=???" %%i in (net localgroup^|f???) do (set name=%%i)
  4. echo abc\%name%\dem>abc.txt
复制代码
谢谢!

[ 本帖最后由 temp 于 2009-11-20 15:53 编辑 ]
作者: semiuel    时间: 2009-11-19 19:15

没看懂楼主是什么意思.
  1. echo %userprofile% >abc.txt
复制代码

不行吗?

[ 本帖最后由 semiuel 于 2009-11-19 19:17 编辑 ]
作者: Seter    时间: 2009-11-19 20:08

楼主的for语句让人惊叹...建议看看此贴
http://bbs.bathome.net/thread-2189-1-1.html
作者: temp    时间: 2009-11-20 09:32

谢谢!
我的意思是用批处理文件判断当前登录的用户名,然后把得到的用户名写入一个文本
C:\Documents and Settings\用户名\Favorites
得到:xcopy "C:\Documents and Settings\%用户名%\Favorites" "d:\%用户名%\Favorites\"
作者: temp    时间: 2009-11-20 09:34

原帖由 Seter 于 2009-11-19 20:08 发表
楼主的for语句让人惊叹...建议看看此贴
http://bbs.bathome.net/thread-2189-1-1.html

谢谢!那个参数能读取具体的行?
eol=c           - 指一个行注释字符的结尾(就一个)
skip=n          - 指在文件开始时忽略的行数。
delims=xxx      - 指分隔符集。这个替换了空格和跳格键的
                   默认分隔符集。
tokens=x,y,m-n  - 指每行的哪一个符号被传递到每个迭代
                   的 for 本身。这会导致额外变量名称的分配。m-n
                   格式为一个范围。通过 nth 符号指定 mth。如果
                   符号字符串中的最后一个字符星号,
                   那么额外的变量将在最后一个符号解析之后
                   分配并接受行的保留文本。
usebackq        - 指定新语法已在下类情况中使用:
                   在作为命令执行一个后引号的字符串并且一个单
                   引号字符为文字字符串命令并允许在 filenameset
                   中使用双引号扩起文件名称。
作者: semiuel    时间: 2009-11-20 10:43

xcopy "C:\Documents and Settings\%USERNAME%\Favorites" "d:\%USERNAME%\Favorites\"
作者: temp    时间: 2009-11-20 12:11

原帖由 semiuel 于 2009-11-20 10:43 发表
xcopy "C:\Documents and Settings\%USERNAME%\Favorites" "d:\%USERNAME%\Favorites\"


谢谢!
作者: temp    时间: 2009-11-20 15:52

原帖由 semiuel 于 2009-11-19 19:15 发表
没看懂楼主是什么意思.

echo %userprofile% >abc.txt
不行吗?

谢谢!
非常好,已解决
echo "%userprofile%\Favorites" "d:\%USERNAME%\Favorites\">1.txt
作者: temp    时间: 2009-11-21 13:11

原帖由 semiuel 于 2009-11-20 10:43 发表
xcopy "C:\Documents and Settings\%USERNAME%\Favorites" "d:\%USERNAME%\Favorites\"

学习为了应用,非常感谢你的精彩回复,为表示感谢,现附上实际应用代码:
  1. echo 输入盘符,然后按回车
  2. echo ───────────────
  3. echo.
  4. Set HDD=
  5. set /p HDD=盘符[X]:
  6. set newdest=%HDD%:\Documents and Settings\%USERNAME%
  7. if not exist "%HDD%:\Documents and Settings\%USERNAME%\My Documents" (xcopy "%userprofile%\My Documents" "%newdest%\My Documents" /i /s /e)
复制代码

[ 本帖最后由 temp 于 2009-11-21 13:13 编辑 ]




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2