flytta fil till en mapp - Jscript
var SKRIVNYFIL = 2;
var mappNamn = 'test';
var filNamn = 'xyz';
//Vill flytta filen jag skapar till att finnas i mappen (som jag även skapar).
//filen heter xyz
var fSysObj = WScript.CreateObject('Scripting.FileSystemObject');
//Skapar mapp med namnet test
var objMapp = fSysObj.CreateFolder(mappNamn);
//skapar tom fil
var objfil = fSysObj.CreateTextFile(filNamn,true);
//Här förväntar jag mig att filen flyttas till mappen jag skapade
var objMove = fSysObj.MoveFile('C:\Users\delz\Desktop\Programmering 1\fasf', 'test\xyz');
//Vet inte hur jag ska åtgärda det
I många av Microsofts egentillverkade språk är apostrofen inledningen till en kommentar i koden. Så även i WSH. Det innebär att istället för apostrofen ' (enkelfnutt) ska du använda citationstecken " (dubbelfnutt).
Det innnebär även att // för en kommentar som funkar i javascript, C, C++, C#, Java mfl. inte fungerar i WSH.
var SKRIVNYFIL = 2;
var mappNamn = "test";
var filNamn = "xyz";
var fSysObj = WScript.CreateObject("Scripting.FileSystemObject");
var objMapp = fSysObj.CreateFolder(mappNamn);
var objfil = fSysObj.CreateTextFile(filNamn,true);
var objMove = fSysObj.MoveFile("C:\Users\delz\Desktop\Programmering 1\fasf", "C:\Users\delz\Desktop\Programmering 1\fasf\test");
Jag får fortfarande detta felet.. nu förstår jag tyvärr ej var jag gör fel?
Sparar du filen med filändelse .js? Då tolkas den som en JScript-fil.
Backslash-tecknet '\' är lite speciellt i många programspråk. I ditt fall måste du dubblera dem:
C:\Users\delz\Desktop\Programmering 1\fasf ändrar du till
C:\\Users\\delz\\Desktop\\Programmering 1\\fasf
Jag sparar dem med filändelse .js
har dubblerat backslash tecknet överallt och får detta felmeddelande:
Felmeddelandet talar om för dig vad som är fel. Dubbelkolla backslash
Har skrivit rätt med backslash men förstår ej felet. Det enda jag vill är att filen `xyz` ska hamna i mappen `test`.
var SKRIVNYFIL = 2;
var mappNamn = "test";
var filNamn = "xyz";
var fSysObj = WScript.CreateObject("Scripting.FileSystemObject");
var objMapp = fSysObj.CreateFolder(mappNamn);
var objfil = fSysObj.CreateTextFile(filNamn,true);
var objMove = fSysObj.MoveFile("C:\\Users\\delz\\Desktop\\Programmering 1\\fasf", "C:\\Users\\delz\\Desktop\\Programmering 1\\fasf\\test");
Du adresserar ju inte filen xyz här:
var objMove = fSysObj.MoveFile("C:\\Users\\delz\\Desktop\\Programmering 1\\fasf", "C:\\Users\\delz\\Desktop\\Programmering 1\\fasf\\test");
Dessutom: Undvik filer utan filändelse (extension). Kalla hellre filen för xyz.txt elller likn.
har ändrat till
var filNamn = "xyz.txt";
kodade detta och nu har jag adresserat `xyz.txt` filen?
var objMove = fSysObj.MoveFile("C:\\Users\\delz\\Desktop\\Programmering 1\\fasf\\xyz.txt", "C:\\Users\\delz\\Desktop\\Programmering 1\\fasf\\test");
Får detta felmeddelande:
Bra. Då fungerar ditt script. Beroende på plattform kommer inte vissa filoperationer att tillåtas. Jag får samma "fel" själv. Kolla med din lärare hur du kan åtgärda detta.
Tusen tack för hjälpen :)