簡體   English   中英

用於從文件夾移動第一個文檔的批處理文件

[英]Batch file to move first document from a folder

我需要創建一個批處理文件,該文件應該將第一個文檔從提供的源位置移動到另一個位置。

考慮源文件夾有10個文件我只想將任何一個文件從10移動到另一個路徑。 我還需要將移動的文件名存儲在臨時變量中。 我嘗試使用move命令如下

MOVE "C:\temporaryfolder\*.txt" "C:\Backup"

但我收到一個錯誤,因為多個文件無法復制到單個文件。

在這種情況下請幫忙。

set var=""&for %a in (c:\temp\*.txt) do if not defined var set "var=%a"&move "c:\temp\%a" "c:\backup\"

作為直接來自提示的命令。

要用作批處理文件行,請將每個%更改為%%

filename-moved顯示在變量%var%

我假設“C:\\ Backup”代表一個文件夾,而不是文件。 在將文件移動到文件夾之前,該文件夾必須存在。 如果目標文件夾尚不存在,您將收到報告的錯誤。

此外,如果源掩碼與多個文件匹配,則無法限制MOVE命令僅移動一個文件。 解決方案是使用FOR循環,其代碼限制MOVE的數量。 我使用GOTO在第一次移動后突破,或者您可以使用IF DEFINED,因為Magoo已經采取措施來限制所采取的操作數量。

@echo off
setlocal
set "source=C:\temporaryfolder"
set "target=C:\Backup"
if not exist "%target%\" md "%target%"
for %%F in ("%source%\*.txt") do (
  set "file=%%~nxF"
  move "%%F" "%target%" >nul
  goto :break
)
:break
echo File "%file%" was moved from "%source%" to "%target%"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM