0

基本的に私がやろうとしているのは、コンピューターを介して実行され、コンピューター上のすべてのユーザーのデスクトップとマイ ドキュメントからすべてを取得するバッチ ファイルを作成することです。つまり、不明なコンピューターでバックアップに使用されるため、すべてのユーザー名を知ることはできません。これらのものをコピーする方法を見つけようとしていますが、今のところできません。My Documents に取り組んでいますが、「無効な数のパラメーター」が表示され続けます。

@echo off
echo This script will copy all of the files from my documents onto a C drive.
pause
md "C:\TestForWork"
pause
for /D /r %%G in ("C:\Users") DO for /D /r "%%H" in ("%%G\My Documents\") do xcopy %%H /e /y "C:\TestFor Work"
pause
4

2 に答える 2

1
for /d %%u in ("c:\users\*") do for %%f in ("Desktop" "Documents") do (
    robocopy "%%~u\%%~f" "c:\test for work\%%~u\%%~f" /s
)

または、xcopy の場合

for /d %%u in ("c:\users\*") do for %%f in ("Desktop" "Documents") do (
    xcopy "%%~u\%%~f" "c:\test for work\%%~u\%%~f" /e /y /i
)
于 2013-11-14T07:55:59.257 に答える
0

xcopyスペースを含むディレクトリ名であるため、最初のパラメータを二重引用符で囲む必要があります。

for /D /r %%G in ("C:\Users") DO (
    for /D /r %%H in ("%%~G\My Documents\") do (
        xcopy "%%~H" /e /y "C:\TestFor Work"
    )
)

~また、変数展開に二重引用符が含まれないようにするためにも使用する必要があります。

于 2013-11-13T23:08:54.877 に答える