复制文件夹(包括内容)并粘贴到带日期的存档文件夹中

时间:2019-02-20 14:10:46

标签: windows powershell scripting

我是PowerShell的新手,有个任务将文件夹及其内容复制到存档文件夹。复制的文件夹也必须使用日期重命名。

我一直在处理一些测试文件夹,但是在弄清楚如何复制文件夹及其内容时遇到了麻烦,更不用说重命名复制的文件夹了。

我可以移动文件夹

Copy-Item -Path C:\Test -Destination C:\Archive

但是内容没有附带。我也不确定如何申请最佳申请

$Date = (Get-Date -UFormat "%m%d%Y")
(Get-Date -UFormat "%m%d%Y")

为了使用日期重命名复制的文件夹。

1 个答案:

答案 0 :(得分:0)

您可以首先使用名称中的日期创建备份文件夹,然后递归复制源中的所有内容。

public class CreateUserNioServlet extends HttpServlet {

  ExecutorService executor = Executors.newFixedThreadPool(10);

  private final UserService service = UserServiceImpl.inject();

  @Override
  protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    /* it works sometimes */
      CompletableFuture.supplyAsync( ()  -> request, executor)
                     .thenApply  (req  -> getJsonData(req))
                     .thenApply  (userData -> service.save(userData))
                     .thenApply  (user -> JsonConverter.getInstance().getJsonOf(user))
                     .thenAccept (jsonResp -> createResponse(request, response, jsonResp));

    /* this code is the synchronous equivalent which always works
      UserData userData = getJsonData(request);
      User user = service.save(userData);
      String jsonResponse = JsonConverter.getInstance().getJsonOf(user);
      createResponse(request, response, jsonResponse);
    */

  }


  private UserData getJsonData(HttpServletRequest req){
    try {
        return (UserData) JsonConverter.getInstance().getDataFromBodyRequest(req, UserData.class);
    } catch (IOException e) {
        e.printStackTrace();
        return null;
    }
  }

 private void createResponse(HttpServletResponse, String jsonResponse){
    response.setContentType("application/json");
    response.setHeader("Access-Control-Allow-Origin", "*");
    response.setHeader("Access-Control-Allow-Methods", "POST");
    response.getWriter().println(jsonResponse);
 }

}