[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程批处理在线视频分享
返回列表 发帖

[文件操作] 如何复制一个bat到指定文件夹里并执行这个bat

本帖最后由 pcl_test 于 2017-1-2 19:14 编辑

大家好!我想复制一个bat到文件夹中并执行这个bat,我是这样写的;

xcopy "C:\data\txt数合成.bat" "C:\adpk01\" && call "C:\adpk01\txt数合成.bat"

结果是txt数合成.bat,复制到了文件夹中,但没有执行这个bat,不知错在哪里,望大家指点一下,谢谢!

把 call 换成 start 试试

TOP

呵呵!换过试了也不行

TOP

回复 3# hkldd
  1. xcopy "C:\data\txt数合成.bat" "C:\adpk01\"
  2. start "" "C:\adpk01\txt数合成.bat"
复制代码

TOP

回复 4# ygqiang

呵呵!这样也不行哟,网上搜了不了贴子试过了都不行,我想用一行代码处理它,不知大家碰到过没。

TOP

xcopy E:\我的项目\a\1.bat E:\我的项目\b\ && call E:\我的项目\b\1.bat

把你的引号都去掉

附件: 您需要登录才可以下载或查看附件。没有帐号?注册

TOP

  1. for /f "delims=" %%i in ('dir /b /s /ad') do (
  2.     copy "file.bat" "%%i"
  3. )
  4. for /f "delims=" %%i in ('dir /b /s /a-d file.bat') do (
  5.     start "" "%%i"
  6. )
复制代码
执行这个是将你那个bat复制到当前文件夹父目录或子目录下 然后会自运行你那个bat脚本  编写好你自己需求那个脚本  然后执行我这个就可以了  同一个文件下  不同的自己改下路径就可以了

TOP

本帖最后由 zisss 于 2017-1-23 12:48 编辑
  1. @ECHO OFF&& SETLOCAL&& PUSHD "%~dp0"&& SETLOCAL ENABLEDELAYEDEXPANSION&& SETLOCAL ENABLEEXTENSIONS&& SET _V=5&& IF NOT "!_V!"=="5" (Echo DelayedExpansion Failed&& Goto :Eof)
  2. REM 以上為同一行
  3. Copy "C:\data\txt数合成.Cmd" "C:\adpk01\">nul 2>&1&& Start "" "C:\adpk01\*.Cmd"&& Exit
  4. REM 建議使用副檔名 .Cmd
  5. @ECHO OFF&& SETLOCAL&& PUSHD "%~dp0"&& SETLOCAL ENABLEDELAYEDEXPANSION&& SETLOCAL ENABLEEXTENSIONS&& SET _V=5&& IF NOT "!_V!"=="5" (Echo DelayedExpansion Failed&& Goto :Eof)&& Copy "C:\data\txt数合成.Cmd" "C:\adpk01\">nul 2>&1&& Start "" "C:\adpk01\*.Cmd"&& Exit
  6. REM 同行
  7. 您試試!!
  8. 我習慣不寫死絕對路徑
  9. if "%SystemDrive%"=="C:" (
  10. Copy "%SystemDrive%\data\txt数合成.Cmd" "%SystemDrive%\adpk01\">nul 2>&1&& Start "" "%SystemDrive%\adpk01\*.Cmd"&& Exit
  11. )
  12. 我所有子批次抬頭  給您參考
  13. @ECHO OFF&& SETLOCAL&& PUSHD "%~dp0"&& SETLOCAL ENABLEDELAYEDEXPANSION&& SETLOCAL ENABLEEXTENSIONS&& SET _V=5&& IF NOT "!_V!"=="5" (Echo DelayedExpansion Failed&& GOTO :EOF)
  14. SET "_LEE="
  15. REM :::::::::::::::::::::::::: REM
  16. REM ::  設定個人  啟動變數  :: REM
  17. REM :::::::::::::::::::::::::: REM
  18. If Not Exist "%_LEE%" (
  19. If Exist "D:\Lee\_START.Cmd" SET "_LEE=D:\Lee"
  20. If Exist "E:\Lee\_START.Cmd" SET "_LEE=E:\Lee"
  21. If Exist "F:\Lee\_START.Cmd" SET "_LEE=F:\Lee"
  22. If Exist "G:\Lee\_START.Cmd" SET "_LEE=G:\Lee"
  23. If Exist "H:\Lee\_START.Cmd" SET "_LEE=H:\Lee"
  24. )
  25. If Not Exist "%_LEE%" @Echo Off&& Cls&& Color 4F&& Echo.&& Echo   [啟動變數] : [設定失敗] : Error.. %%_LEE%%&& Echo.&& Pause
  26. REM :::::::::::::::::::::::::: REM
  27. REM ::  呼叫設定  環境變數  :: REM
  28. REM :::::::::::::::::::::::::: REM
  29. If Exist "%_LEE%" (
  30. Call "%_LEE%\SET_APP.Cmd"||Echo Off&& Title 發生錯誤&& Color 4F&& Echo.&& Echo   [呼叫設定] : Call "%%_LEE%% 顯示 : %_LEE%\SET_APP.Cmd" [發生錯誤] : Error Not Exist&& Echo.&& Pause
  31. Call "%_LEE%\SET_LOG.Cmd"||Echo Off&& Title 發生錯誤&& Color 4F&& Echo.&& Echo   [呼叫設定] : Call "%%_LEE%% 顯示 : %_LEE%\SET_LOG.Cmd" [發生錯誤] : Error Not Exist&& Echo.&& Pause
  32. Call "%_LEE%\SET_CHO.Cmd"||Echo Off&& Title 發生錯誤&& Color 4F&& Echo.&& Echo   [呼叫設定] : Call "%%_LEE%% 顯示 : %_LEE%\SET_CHO.Cmd" [發生錯誤] : Error Not Exist&& Echo.&& Pause
  33. )
复制代码

TOP

我也在想这个问题 试过 call 跟start 都是调用另一个批处理的命令 而不是独立运行

TOP

返回列表