2014-09-26 150 views
1

此腳本將%programfiles%%programfiles(x86)中的所有文件和文件夾複製到目標文件夾。如果我的Windows體系結構x86,複製%programfiles%,複製文件/文件夾成功,但不是如果我的Windows體系結構x64。xcopy在Windows x64中:找不到文件

腳本

@echo Off 

set Arch=x64 
if "%PROCESSOR_ARCHITECTURE%" == "x86" ( 
    if not defined PROCESSOR_ARCHITEW6432 set Arch=x86 
) 

echo Arsitektur Prosesor Windows Anda %Arch% 
set /P drive=Folder backup akan disimpan di drive apa : %=% 
if %Arch% == "x64" (
    if not exist "%drive%:\BACKUP_ESPT\C" mkdir "%drive%:\BACKUP_ESPT\C" 
    if not exist "%drive%:\BACKUP_ESPT\VIRTUALSTORE" mkdir "%drive%:\BACKUP_ESPT\VIRTUALSTORE" 
    xcopy /Y /S "%ProgramFiles(x86)%\DJP\*.*" "%drive%:\BACKUP_ESPT\C" 
    xcopy /Y /S "%localappdata%\VirtualStore\Program Files (x86)\DJP\*.*" "%drive%:\BACKUP_ESPT\VIRTUALSTORE" 
) else (
    if not exist "%drive%:\BACKUP_ESPT\C" mkdir "%drive%:\BACKUP_ESPT\C" 
    if not exist "%drive%:\BACKUP_ESPT\VIRTUALSTORE" mkdir "%drive%:\BACKUP_ESPT\VIRTUALSTORE" 
    xcopy /y /S "%ProgramFiles%\DJP\*.*" "%drive%:\BACKUP_ESPT\C" 
    xcopy /y /S "%localappdata%\VirtualStore\Program Files\DJP\*.*" "%drive%:\BACKUP_ESPT\VIRTUALSTORE" 

) 


ECHO Proses Backup e-SPT selesai 
pause 

結果

Arsitektur Prosesor Windows Anda x64 
Folder backup akan disimpan di drive apa : D 
File not found - *.* 
0 File(s) copied 
File not found - *.* 
0 File(s) copied 
Proses Backup e-SPT selesai 
Press any key to continue . . . 

有什麼不對?請糾正我。謝謝

+2

第一個故障排除步驟是省略「echo off」行,以便您可以看到腳本實際上在做什麼。 – 2014-09-26 05:07:10

+0

您是否嘗試過調試腳本? – 2014-09-26 07:12:04

+0

呃,是的,'@echo Off'讓你的生活變得非常困難! – 2014-09-27 12:02:33

回答

0

我正在看你的腳本,並糾正我,如果我錯了,但是當處理器體系結構是x64,那麼你正在訪問x86文件夾(如你的情況)。那是你要的嗎?

順便說一下:您正在使用/ s選項進行xcopy。這是複製整個目錄的選項。你不需要*.* postfix然後:只需指定目錄,它會完全複製它。

0
if %Arch% == "x64" (

應該

if "%Arch%"=="x64" (

的字符串匹配絕對是文字; x64"x64"不是同一回事,所以else分支將被採取並且目標不存在。

相關問題