中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-27 05:22
47,812 主题排行 / 349,912 发帖 / 今日 2 篇 / 48,264 会员排行
其它操作系统综合讨论区 » [已解決]如何用命令指定不同用戶名下的同名文件路徑?
可打印版本  1,222 / 9
第1楼 superadam 发表于 2007-08-20 10:42
初级用户 发帖 51 积分 113
[已解決]如何用命令指定不同用戶名下的同名文件路徑?
如何用DOS命令指定不同用戶名下的同名文件?
問題如下﹕
一﹑參考﹕
1﹑電腦的OS(操作系統)=XP﹔系統盤C盤。
2﹑當前用戶有﹕001﹑002﹑003﹑。。。等等均為管理員用戶。
二﹑問題﹕
如何用一句命令將以下N個路徑中的文件復制到一個文件夾中?
C:\Documents and Settings\001\Favorites\*.*
C:\Documents and Settings\002\Favorites\*.*
C:\Documents and Settings\003\Favorites\*.*
C:\Documents and Settings\user\Favorites\*.*



謝謝各位的幫忙﹐非常感謝~~

[ Last edited by superadam on 2007-8-21 at 08:52 AM ]
第2楼 akin520 发表于 2007-08-20 11:32
初级用户 发帖 30 积分 71
for /l %%a in (1,1,100)
第3楼 Climbing 发表于 2007-08-20 14:32
铂金会员 发帖 2,753 积分 6,962 来自 河北保定
用for命令提取下面这个命令的显示结果:

dir "c:\Documents and Settings" /b /d
第4楼 superadam 发表于 2007-08-20 16:03
初级用户 发帖 51 积分 113
謝謝﹐用dir "c:\Documents and Settings" /b /d已可以提到用戶名了﹐但用for命令怎么提取下面这个命令的显示结果?我試了好几次都不行﹐請Climbing及各位大俠請再次幫忙﹐至為感謝﹗

[ Last edited by superadam on 2007-8-20 at 04:05 PM ]
第5楼 itolaiai 发表于 2007-08-20 17:43
初级用户 发帖 11 积分 25
路过`

[ Last edited by itolaiai on 2007-8-21 at 05:05 PM ]
第6楼 Climbing 发表于 2007-08-21 08:19
铂金会员 发帖 2,753 积分 6,962 来自 河北保定
基本上如楼上所写,也可以这样:

for /f "usebackq delims=" %i in (`dir /b/d "c:\documents and settings"`) do xcopy /e/i "c:\documents and settings\%i\Favorites" "x:\target"

x:\target表示目标目录。
第7楼 superadam 发表于 2007-08-21 08:50
初级用户 发帖 51 积分 113
Originally posted by Climbing at 2007-8-21 08:19 AM:
基本上如楼上所写,也可以这样:

for /f "usebackq delims=" %i in (`dir /b/d "c:\documents and settings"`) do xcopy /e/i "c:\documents and settings\%i\Favori ...


我現在采納的答案如下﹕
for /f "usebackq delims=" %i in (`dir /b/d "c:\documents and settings"`) do xcopy /e/i "c:\documents and settings\%i\Favorites" "x:\target"

x:\target表示目标目录。

非常感謝樓上兩位的回復﹐使用Climbin的方法后問題已完全解決﹐但是我現在還一個問題﹐能否繼續請教一下Climbin大哥﹐這個"usebackq delims="跟"delims="有何不同語法?如何來解釋?

[ Last edited by superadam on 2007-8-21 at 09:31 AM ]
第8楼 Climbing 发表于 2007-08-21 09:31
铂金会员 发帖 2,753 积分 6,962 来自 河北保定
usebackq我是这样理解的:使用反引号(`)括起将来执行的命令序列,正常情况下是使用单引号(')来括起命令,但有时候命令参数中需要用到单引号或者双引号(这时就会造成单双引号的混乱),这时候最好就是使用usebackq参数,然后使用反引号来括起命令,就不会产生这种困扰了。

至于“delims=”参数,则是用来指定字符串分隔符的,for /f命令主来用来提取一个字符串中的字段,既然有字段的区分,就要有分隔字段的符号,默认是空格或者Tab,你可以使用delims=来指定你自己要使用的分隔符,而在本例中,你当然不希望使用任何分隔符,所以指定delims=空。

这个,看微软的for /?就可以查到了,尽管它的解释让人感觉很晕,但时间长了自然就明白了。
第9楼 yjd 发表于 2007-08-21 09:32
初级用户 发帖 76 积分 156
运行cmd输入for /?你应该看到东西了
第10楼 superadam 发表于 2007-08-21 09:33
初级用户 发帖 51 积分 113
好的﹐語法我先看一下﹐有不明問題再請教您~~
謝謝Climbing抽出你寶貴的時間來回復﹐你回帖真及時﹐謝謝﹐問題已成功解決了﹐真的﹐真的非常感謝﹗
這個問題可以結帖了﹐請管理員幫我結帖﹐謝謝~~:D

[ Last edited by superadam on 2007-8-21 at 09:35 AM ]
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023