Ich muss oft Dateien bei der Arbeit aufspüren, hundert aus einer Liste von tausend, so dass ich eine Batch-Datei, die die Dateien an einem Ort kopieren würde, ziehen sind in einem CSV im Batch-Dateien-Verzeichnis aufgeführt und fügen sie dann in einen Ordner auf meinem Desktop ein.Batch-Datei zum Kopieren der Liste der Dateien einschließlich der Unterverzeichnisse
Das hat funktioniert, aber ich muss das oft für Hunderte von Dateien über ein Dutzend oder so Verzeichnisse tun, also habe ich versucht, es zu ändern, um Unterverzeichnisse einzuschließen. Ich habe ein Problem damit, es zum Laufen zu bringen, und ich habe mich gefragt, ob die ausgezeichneten Leute bei StackOverflow helfen könnten. Vielen Dank!
@echo on
set theDest="%USERPROFILE%\Desktop\Batch Copies %date:/=%"
set /p MY_TEXT=<FileList.csv
echo.%MY_TEXT%
set MY_TEXT=%MY_TEXT:"",""=,%
echo.%MY_TEXT%
if not exist %theDest% md %theDest%
pause
for /R %MY_TEXT% %%G IN (.) do (
for /F "skip=1 delims=" %%f in (FileList.csv) do (
if exist "%MY_TEXT%\%%f.*" (
copy "%MY_TEXT%\%%f.*" %theDest%
) else (
if exist "%MY_TEXT%\%%f" (
copy /R "%MY_TEXT%\%%f" %theDest%
) else echo "%MY_TEXT%\%%f" does not exist && echo 0 file^(s^) copied. && echo ERROR: %%f not found && echo. && pause)
)
)
echo. && echo. && echo Process Completed. &&echo.
pause
Ein Teil des Problems ist, war ich gerade in Batch bekommen, wenn ich dies schrieb und ließ es dann und ich versuche, wieder zu kommen und herauszufinden, wie alles funktioniert, so habe ich wahrscheinlich messed es mehr Möglichkeiten als ein bis .
So für/R% my_text% %% G IN do MyCopyFunction nennen (.): MyCopyFunction für/F "skip = 1 delims =" %% f in (FileList.csv) tun \t wenn exist „%% f. *“( \t \t Kopie "%% f. *" % theDest% \t \t) else ( \t wenn vorhanden "%% f"( \t \t Kopie "%% f" % theDest% \t \t) – hype124
Entschuldigung, ich konnte es nicht zur Arbeit bringen, wie referenziere ich die Variable f, ohne sie im aktuellen Verzeichnis zu deklarieren? – hype124
Sie haben geschrieben: 'für/R% MY_TEXT% %% G'. Ich habe keine Ahnung, warum '% MY_TEXT%' in der Mitte der Schleife ist ?? – abelenky