cmd is a jerk

本文通过图文并茂的方式介绍了如何使用DOS命令进行文件管理,包括打开命令提示符、切换磁盘、显示文件信息、创建及删除文件夹与文件、复制文件及格式化磁盘等操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

怎样使用DOS命令

  • |
  • 浏览:26878
  • |
  • 更新:2012-01-19 11:30
  • 怎样使用DOS命令 1
  • 怎样使用DOS命令 2
  • 怎样使用DOS命令 3
  • 怎样使用DOS命令 4
  • 怎样使用DOS命令 5
  • 怎样使用DOS命令 6
  • 怎样使用DOS命令 7
分步阅读

我们使用DOS令可以很快捷和方便地对电脑执行增删改查等操作。这篇文章我们同样采用通俗易懂的写法给大家讲解如何使用DOS对电脑进行操作,具体的使用过程我们采用图文的形式给大家展示。

怎样使用DOS命令

工具/原料

  • 电脑

步骤/方法

  1. 1

    打开doc命令框。点击【开始】---【运行】---输入:cmd 。这时出现下面的框就代表我们打开了命令框。

    怎样使用DOS命令
  2. 2

    改变需要进入的磁盘。我们现在假如对E盘进行操作,就首先进入E盘然后再执行增加,修改,删除,查询操作。进入方法,输入盘符加“:”就可以了,如下:

    怎样使用DOS命令
  3. 3

    使用dir命令显示文件信息。我们使用dir可以显示指定路径上所有文件或目录的信息,具体使用情况如下:

    格式:dir [盘符:][路径][文件名] [参数] 参数:

    /w:宽屏显示,一排显示5个文件名,而不会显示修改时间,文件大小等信息;

    /p:分页显示,当屏幕无法将信息完全显示时,可使用其进行分页显示;/a:显示具有特殊属性的文件;/s:显示当前目录及其子目录下所有的文件。

    怎样使用DOS命令
    怎样使用DOS命令
  4. 4

    使用cd命令进入目录。我们学习了查看目录的方法,在我们要进入DOCext目录下,们使用cd命令进行操作。格式:cd [路径],cd命令只能进入当前盘符中的目录,其中“cd\”为返回到根目录,“cd..”为返回到上一层目录。实现示例如下:

    怎样使用DOS命令
  5. 5

    使用md命令创建目录。格式:md [盘符][路径],例如:md DOC_Text\Text;表示在当前盘符下建立一个名为Text目录。

    怎样使用DOS命令
    怎样使用DOS命令
  6. 6

    使用edit命令创建文件。使用edit命令用它来创建编辑一些程序和批处理文件。格式:edit [文件名],举例:edit myText.txt 。如下:

    怎样使用DOS命令
    怎样使用DOS命令
    怎样使用DOS命令
  7. 7

    使用del命令删除目录。我们采用上面同样的方式创建了myText.mp3,现在我们删除上面创建的myText.txt文件,删除后查看效果。

    怎样使用DOS命令
  8. 8

    使用copy文件。格式:copy [源目录或文件] [目的目录或文件];例:copy E:\DOC_Text\Text下的myText.mp3文件到E:\DOC_Text\Text2盘下.骤如下图:

    怎样使用DOS命令
  9. 9

    使用rd命令删除目录。格式:rd [盘符][路径],例如:rd text2下的text2目录,此命令只能删除空目录。我们上步骤已经在text2目录下拷贝了myText.mpe文件,所以首先要把这个文件删除掉,在删除目录。如下步骤:

    怎样使用DOS命令
  10. 10

    使用format命令格式化磁盘。含义:格式化命令,可以完成对软盘和硬盘的格式化操作。格式:format [盘符] [参数]举例:format a: /s/q;此命令将格式化a盘,其中参数/q表示进行快速格式化,/s表示完成格式化后将系统引导文件拷贝到该磁盘,这样软件就可以作为dos系统启动盘了。格式化过程中,屏幕上会显示已经完成的百分比。格式化完成后,会提示为磁盘起一个名字,最后还会报告磁盘的总空间和可利用空间等。注意:使用此命令会格式化磁盘对于需要格式化的朋友可以使用,这里我就不格式化了。

将C++#include <ros/ros.h> #include <ros/package.h> #include <quadrotor_msgs/PositionCommand.h> #include <nav_msgs/Odometry.h> #include <sensor_msgs/Joy.h> #include<mavros_msgs/AttitudeTarget.h> #include <tf/tf.h> #include <math.h> using namespace std; int main(int argc, char **argv) { ros::init(argc, argv, "traj_pub"); //##节点名traj_pub ros::NodeHandle nh; // ros::Publisher local_pos_pub3 = nh.advertise<quadrotor_msgs::PositionCommand> ("/position_cmd", 10); //##话题名字为/——position_cmd 10为缓存长度 quadrotor_msgs::PositionCommand poscom; //ros::Publisher local_pos_pub3 = nh.advertise<mavros_msgs::AttitudeTarget> // ("/mavros/setpoint_raw/attitude", 10); //mavros_msgs::AttitudeTarget msg; ros::Rate rate(20.0); //##循环频率20 int i = 0; while(ros::ok()) { poscom.position.x = 2.5*sin(M_PI*i/400); poscom.position.y = 5*sin(M_PI*i/800); poscom.position.z = 2; poscom.velocity.x = 0; poscom.velocity.y = 0; poscom.velocity.z = 0; poscom.acceleration.x = 0; poscom.acceleration.y = 0; poscom.acceleration.z = 0; poscom.yaw = 0; poscom.jerk.x=0; poscom.jerk.y=0; poscom.jerk.z=0; local_pos_pub3.publish(poscom); // tf::Quaternion q = tf::createQuaternionFromRPY(0, 0, 0.5); // msg.type_mask = msg.IGNORE_ROLL_RATE || msg.IGNORE_PITCH_RATE || msg.IGNORE_YAW_RATE; // msg.orientation.x = q.x(); // msg.orientation.y = q.y(); // msg.orientation.z = q.z(); // msg.orientation.w = q.w(); // msg.thrust = 0.75; // local_pos_pub3.publish(msg); ros::spinOnce(); rate.sleep(); i++; } } 转成pyrhon
06-11
#include "stm32f10x.h" #include "stm32f10x_gpio.h" #include "stm32f10x_rcc.h" #include "stm32f10x_tim.h" #include "misc.h" #include <math.h> #define M_PI 3.1515926 // 云台电机引脚定义 - 移除了使能引脚控制 #define PAN_STEP_PIN GPIO_Pin_0 // PA0 - 水平轴步进 #define PAN_STEP_PORT GPIOA #define PAN_DIR_PIN GPIO_Pin_1 // PA1 - 水平轴方向 #define PAN_DIR_PORT GPIOA #define TILT_STEP_PIN GPIO_Pin_6 // PA6 - 垂直轴步进 #define TILT_STEP_PORT GPIOA #define TILT_DIR_PIN GPIO_Pin_7 // PA7 - 垂直轴方向 #define TILT_DIR_PORT GPIOA // 步进电机参数 #define STEPS_PER_REV 200 // 每转步数 #define MICROSTEPS 16 // 细分倍数 #define DEG_PER_STEP (360.0f/(STEPS_PER_REV*MICROSTEPS)) // 每步角度 #define MAX_FREQ 1000 // 最大脉冲频率(Hz) #define ACCEL_RATE 50 // 加速度(Hz/ms) // 云台控制结构体 (添加运动控制参数) typedef struct { volatile float current_angle; // 当前角度(度) volatile float target_angle; // 目标角度(度) volatile float current_speed; // 当前速度(Hz) volatile float target_speed; // 目标速度(Hz) volatile float acceleration; // 加速度(Hz/ms) volatile int32_t total_steps; // 总步数 volatile int32_t step_count; // 当前步数 volatile uint8_t is_moving; // 运动标志 GPIO_TypeDef* dir_port; // 方向端口 uint16_t dir_pin; // 方向引脚 TIM_TypeDef* timer; // 定时器 } StepperAxis; StepperAxis pan_axis, tilt_axis; // 摄像头参数 #define FOCAL_LENGTH 3.04f // 焦距(mm) #define SENSOR_WIDTH 3.674f // 传感器宽度(mm) #define IMAGE_WIDTH 320 // 图像宽度(pixel) // GPIO初始化 (移除了使能引脚配置) void GPIO_Config(void) { GPIO_InitTypeDef GPIO_InitStruct; // 启用时钟 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); // 配置水平轴引脚 GPIO_InitStruct.GPIO_Pin = PAN_STEP_PIN | PAN_DIR_PIN; GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(PAN_STEP_PORT, &GPIO_InitStruct); // 配置垂直轴引脚 GPIO_InitStruct.GPIO_Pin = TILT_STEP_PIN | TILT_DIR_PIN; GPIO_Init(TILT_STEP_PORT, &GPIO_InitStruct); } // 定时器配置 void TIM_Config(void) { TIM_TimeBaseInitTypeDef TIM_InitStruct; NVIC_InitTypeDef NVIC_InitStruct; // 启用定时器时钟 RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2 | RCC_APB1Periph_TIM3, ENABLE); // 配置水平轴定时器 (TIM2) TIM_InitStruct.TIM_Period = SystemCoreClock / (MAX_FREQ * 2) - 1; TIM_InitStruct.TIM_Prescaler = 0; TIM_InitStruct.TIM_CounterMode = TIM_CounterMode_Up; TIM_InitStruct.TIM_ClockDivision = 0; TIM_TimeBaseInit(TIM2, &TIM_InitStruct); // 配置垂直轴定时器 (TIM3) TIM_TimeBaseInit(TIM3, &TIM_InitStruct); // 配置中断 NVIC_InitStruct.NVIC_IRQChannel = TIM2_IRQn; NVIC_InitStruct.NVIC_IRQChannelPreemptionPriority = 0; NVIC_InitStruct.NVIC_IRQChannelSubPriority = 1; NVIC_InitStruct.NVIC_IRQChannelCmd = ENABLE; NVIC_Init(&NVIC_InitStruct); NVIC_InitStruct.NVIC_IRQChannel = TIM3_IRQn; NVIC_InitStruct.NVIC_IRQChannelSubPriority = 2; NVIC_Init(&NVIC_InitStruct); // 使能中断 TIM_ITConfig(TIM2, TIM_IT_Update, ENABLE); TIM_ITConfig(TIM3, TIM_IT_Update, ENABLE); } // 步进电机初始化 void Stepper_Init(void) { // 水平轴初始化 pan_axis.current_angle = 0; pan_axis.target_angle = 0; pan_axis.current_speed = 0; pan_axis.target_speed = MAX_FREQ; pan_axis.acceleration = ACCEL_RATE; pan_axis.is_moving = 0; pan_axis.dir_port = PAN_DIR_PORT; pan_axis.dir_pin = PAN_DIR_PIN; pan_axis.timer = TIM2; // 垂直轴初始化 tilt_axis.current_angle = 0; tilt_axis.target_angle = 0; tilt_axis.current_speed = 0; tilt_axis.target_speed = MAX_FREQ; tilt_axis.acceleration = ACCEL_RATE; tilt_axis.is_moving = 0; tilt_axis.dir_port = TILT_DIR_PORT; tilt_axis.dir_pin = TILT_DIR_PIN; tilt_axis.timer = TIM3; } // 坐标转角度 void TargetToAngle(int img_x, int img_y, float* pan_angle, float* tilt_angle) { // 转换为传感器坐标 (mm) float x_mm = (img_x - IMAGE_WIDTH/2.0f) * (SENSOR_WIDTH/IMAGE_WIDTH); float y_mm = (img_y - IMAGE_WIDTH/2.0f) * (SENSOR_WIDTH/IMAGE_WIDTH); // 计算角度 (弧度转角度) *pan_angle = atan2(x_mm, FOCAL_LENGTH) * (180.0f/M_PI); *tilt_angle = atan2(y_mm, FOCAL_LENGTH) * (180.0f/M_PI); } // 设置目标角度 (带梯形加速) void SetTargetAngle(float pan_deg, float tilt_deg) { // 计算角度差和方向 float pan_diff = pan_deg - pan_axis.current_angle; float tilt_diff = tilt_deg - tilt_axis.current_angle; // 设置水平轴 if(fabs(pan_diff) > 0.1f) { pan_axis.target_angle = pan_deg; pan_axis.total_steps = (int32_t)(fabs(pan_diff) / DEG_PER_STEP); pan_axis.step_count = 0; // 设置方向 if(pan_diff > 0) { GPIO_SetBits(PAN_DIR_PORT, PAN_DIR_PIN); // 正转 } else { GPIO_ResetBits(PAN_DIR_PORT, PAN_DIR_PIN); // 反转 } // 启动运动 pan_axis.is_moving = 1; pan_axis.current_speed = 100; // 初始低速 TIM_Cmd(pan_axis.timer, ENABLE); // 更新定时器速度 uint32_t reload = SystemCoreClock / (pan_axis.current_speed * 2) - 1; TIM_SetAutoreload(pan_axis.timer, reload); TIM_SetCounter(pan_axis.timer, 0); } // 设置垂直轴 (类似逻辑) if(fabs(tilt_diff) > 0.1f) { tilt_axis.target_angle = tilt_deg; tilt_axis.total_steps = (int32_t)(fabs(tilt_diff) / DEG_PER_STEP); tilt_axis.step_count = 0; if(tilt_diff > 0) { GPIO_SetBits(TILT_DIR_PORT, TILT_DIR_PIN); } else { GPIO_ResetBits(TILT_DIR_PORT, TILT_DIR_PIN); } tilt_axis.is_moving = 1; tilt_axis.current_speed = 100; TIM_Cmd(tilt_axis.timer, ENABLE); uint32_t reload = SystemCoreClock / (tilt_axis.current_speed * 2) - 1; TIM_SetAutoreload(tilt_axis.timer, reload); TIM_SetCounter(tilt_axis.timer, 0); } } // 更新电机速度 (梯形加速) void UpdateSpeed(StepperAxis* axis) { // 计算加速阶段 if(axis->step_count < axis->total_steps / 3) { axis->current_speed += axis->acceleration; if(axis->current_speed > axis->target_speed) axis->current_speed = axis->target_speed; } // 计算减速阶段 else if(axis->step_count > (2 * axis->total_steps) / 3) { axis->current_speed -= axis->acceleration; if(axis->current_speed < 100) axis->current_speed = 100; } // 更新定时器速度 uint32_t reload = SystemCoreClock / (axis->current_speed * 2) - 1; TIM_SetAutoreload(axis->timer, reload); } // 定时器中断处理 (带梯形加速) void TIM2_IRQHandler(void) { if(TIM_GetITStatus(TIM2, TIM_IT_Update)) { TIM_ClearITPendingBit(TIM2, TIM_IT_Update); // 生成脉冲 GPIO_SetBits(PAN_STEP_PORT, PAN_STEP_PIN); GPIO_ResetBits(PAN_STEP_PORT, PAN_STEP_PIN); // 更新位置 if(GPIO_ReadInputDataBit(pan_axis.dir_port, pan_axis.dir_pin)) { pan_axis.current_angle += DEG_PER_STEP; } else { pan_axis.current_angle -= DEG_PER_STEP; } pan_axis.step_count++; // 更新速度 (梯形加速) UpdateSpeed(&pan_axis); // 检查是否到达目标 if(pan_axis.step_count >= pan_axis.total_steps) { pan_axis.is_moving = 0; TIM_Cmd(TIM2, DISABLE); } } } void TIM3_IRQHandler(void) { if(TIM_GetITStatus(TIM3, TIM_IT_Update)) { TIM_ClearITPendingBit(TIM3, TIM_IT_Update); GPIO_SetBits(TILT_STEP_PORT, TILT_STEP_PIN); GPIO_ResetBits(TILT_STEP_PORT, TILT_STEP_PIN); if(GPIO_ReadInputDataBit(tilt_axis.dir_port, tilt_axis.dir_pin)) { tilt_axis.current_angle += DEG_PER_STEP; } else { tilt_axis.current_angle -= DEG_PER_STEP; } tilt_axis.step_count++; UpdateSpeed(&tilt_axis); if(tilt_axis.step_count >= tilt_axis.total_steps) { tilt_axis.is_moving = 0; TIM_Cmd(TIM3, DISABLE); } } } // 系统时钟配置 void SystemClock_Config(void) { SystemInit(); RCC_DeInit(); RCC_HSEConfig(RCC_HSE_ON); while(!RCC_WaitForHSEStartUp()); RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9); RCC_PLLCmd(ENABLE); while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET); RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK); while(RCC_GetSYSCLKSource() != 0x08); RCC_HCLKConfig(RCC_SYSCLK_Div1); RCC_PCLK1Config(RCC_HCLK_Div2); RCC_PCLK2Config(RCC_HCLK_Div1); SystemCoreClockUpdate(); } // 简单延时函数 void Delay_ms(uint32_t ms) { volatile uint32_t i, j; for(i = 0; i < ms; i++) for(j = 0; j < 7200; j++); } // 主函数 int main(void) { // 初始化 SystemClock_Config(); GPIO_Config(); TIM_Config(); Stepper_Init(); // 设置方向引脚默认状态 GPIO_SetBits(PAN_DIR_PORT, PAN_DIR_PIN); GPIO_SetBits(TILT_DIR_PORT, TILT_DIR_PIN); // 等待系统稳定 Delay_ms(100); while(1) { // 伪代码:从K230获取目标坐标 // 实际应用中应替换为摄像头数据 static int target_x = 160; // 图像中心 static int target_y = 120; // 模拟目标移动 (测试用) static uint8_t dir = 0; if(dir == 0) { target_x += 2; if(target_x > 260) dir = 1; } else { target_x -= 2; if(target_x < 60) dir = 0; } // 计算云台角度 float pan_deg, tilt_deg; TargetToAngle(target_x, target_y, &pan_deg, &tilt_deg); // 设置目标角度 (如果当前没有运动) if(!pan_axis.is_moving && !tilt_axis.is_moving) { SetTargetAngle(pan_deg, tilt_deg); } // 延时等待下一次更新 Delay_ms(20); } } 请解析每个函数实现的功能和用法
最新发布
08-01
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值