-
這些問題太模糊了,幾乎是基於猜測的。
讓我們從這個開始。 1:cmd 下幾乎不需要 if errorlevel 1。
2:copy不新增y引數,如果有目標檔案會因為提示是否覆蓋而被終止(yes no all),如果新增y引數errorLevel沒有多大意義,則為語法和邏輯錯誤。
:第乙個解決方法:
echo off
for /f "deilms=" %%a in ( do (for /f "deilms="%%i in ( do (%%i>> 不存在 else (echo 已存在%%i without replication):: 第二種解決方法:
echo off
for /f "deilms=" %%a in ( do (for /f "deilms=" %%i in ( do (copy /y "%%a" "%%i"&&(回顯複製 %%i 成功)||echo 複製失敗,因為 %%i 中可能存在系統性、隱藏的唯讀屬性
:而不是 if errorlevel 語法和巢狀用法示例:
REM 到 C:遊戲,如果因為屬性問題複製到 D:Playem,無論是複製到 C:遊戲還是 D:Play,只要複製成功,就會被刪除。
rem 巢狀語法最重要的一點是用好括號。
-
for 命令是乙個複雜的命令,用於迴圈訪問指定範圍的引數。
在批處理檔案中使用 for 命令時,增強了使用 %%variable 指定變數的替換功能。 您現在可以使用以下選項語法:i - 刪除任何引號 ("),展開 %i
fi - 將 %i 括為完全限定的路徑名 % di - 將 %i 僅擴充套件為乙個驅動器號。
pi - 將 %i 僅擴充套件到一條路徑。
ni - 將 %i 僅擴充套件為乙個檔名。
習 - 將 %i 僅擴充套件為乙個檔案副檔名。
si - 擴充套件路徑僅包含短名稱。
ai - 將 %i 展開為檔案的檔案內容。
ti - 將 %i 擴充到檔案中的日期和時間。
zi - 將 %i 擴充套件到檔案大小。
$path:i - 查詢路徑環境變數中列出的目錄,並將 %i 展開為找到的第乙個完全限定名稱。 如果未定義環境變數,或者未找到檔案,則此組合鍵將擴充套件空字串以組合修飾符以獲得多個結果:
DPI - 僅將 %i 括在乙個驅動器號和路徑中 %nxi - 僅將 %i 括在乙個檔名和副檔名中% FSI - 僅將 %i 括在具有短名稱的完整路徑名中 %dp$path:i - 查詢路徑環境變數中列出的目錄,並將 %i 擴充套件為找到的第乙個驅動器號和路徑。
FTZAI - 將 %i 擴充套件到 DIR,就像輸出行在上面的示例中,%i 和 path 可以替換為其他有效值。 % 語法以有效的 for 變數名稱停止。 像 %i 這樣的大寫變數名稱更易於閱讀,並避免與中性鍵組合混淆。
-
%% 習 將 %%i 解開到副檔名,即獲取 %%i 的擴充套件部分 其他操作包括 %i %i,刪除任何引號 ("")。fi 將 %i 設定為完全限定的路徑名。 %di 僅將 %i 新增到驅動器號中。
pi 僅向路徑傳送 %i。 %ni 僅將 %i 新增到檔名中。 %習 僅將 %i 新增到檔案副檔名。
SI 路徑僅包含短名稱。 %ai 將 %i 新增到檔案的檔案屬性中。 %ti 將 %i 新增到檔案的日期和時間。
zi 設定為檔案大小。 %path:i 搜尋 path 環境變數列出的目錄,並將 %i 新增到找到的第乙個完全限定名稱中。
如果未定義環境變數名稱,或者通過搜尋未找到任何檔案,則此修飾符將擴充套件為空字串。 可以組合操作,例如 %dpi,只需將 %i 新增到驅動器號和路徑即可。
-
第 1 行、第 1 列、第 1 行、第 2 列、第 1 行、第 3 列。
第 2 行、第 1 列、第 2 行、第 2 行、第 2 列、第 2 行、第 3 列。
第 3 行,第 1 列,間隙,第 3 行,第 2 列,第 3 行,第 3 列。
請按任意鍵繼續。 .
你想像這樣輸出嗎? @echo off
for /f "tokens=*"可疑分支 %%i in ( do echo %%i
暫停加上應答者亂搞令牌=*。 這意味著一行中的所有內容都輸出為 i。
-
setlocal enabledelayedexpansion@echo off
for /l %%i in (1000,1,1005) do (@set num=%%i
echo !num:~-1,1!
暫停的一般思想是將 %%i 分配給另乙個變數,然後操作另乙個變數,在本例中取數字的最後一位數字並使用延遲變數。
-
@echo off
set p notifytype=“輸入 1,否則錯誤”。
if "%notifytype%"=="1"(括號前應至少有乙個空格。
echo ok
else(else 應該是 if 之前的右括號)和它自己的括號(在同一行上。
echo no)
for /f "tokens=*" %%a in ( do (set /a n+=1
set _!n!=%%a >>>More
echo off
for /f "tokens=1* delims=:" %%a in ('findstr /n ".*" ""') do ( >>>More
start c:\progra~1\hp\quickt~1\bin\instde~
將這兩句話另存為“刪除”。 bat“可以執行。 >>>More